app启动时如果boot魔数校验错误则自动升级bootloader
This commit is contained in:
@@ -33,6 +33,8 @@ scheme 109~110
|
||||
|
||||
*/
|
||||
#define FLASH_SECTOR_SIZE 2048
|
||||
#define FLASH_BOOT_SECTOR (0)
|
||||
#define FLASH_BOOT_SECTOR_NUM (8)
|
||||
#define FLASH_APP_SECTOR (8)
|
||||
#define FLASH_APP_SECTOR_NUM (50)
|
||||
#define FLASH_BUFF_SECTOR (58)
|
||||
@@ -145,7 +147,16 @@ int flash_operate_end(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
// boot区
|
||||
int flash_erase_boot(void)
|
||||
{
|
||||
int ret;
|
||||
for(int i=0;i<FLASH_BOOT_SECTOR_NUM;i++){
|
||||
ret=flash_erase(FLASH_BOOT_SECTOR+i);
|
||||
if(ret!=0) return -1;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
// 参数区2K
|
||||
int flash_erase_param(void)
|
||||
@@ -340,6 +351,12 @@ int flash_updata_app(uint8_t *rom,uint32_t size)
|
||||
}
|
||||
|
||||
|
||||
int flash_updata_boot(uint8_t *rom,uint32_t size)
|
||||
{
|
||||
uint8_t *dst=(uint8_t *)0x08000000;
|
||||
flash_erase_boot();
|
||||
return flash_write(dst,rom,size);
|
||||
}
|
||||
|
||||
|
||||
// 保存参数
|
||||
|
||||
Reference in New Issue
Block a user