app启动时如果boot魔数校验错误则自动升级bootloader

This commit is contained in:
andy
2023-10-12 23:37:12 +08:00
parent 17b4ebf188
commit fda9545130
18 changed files with 2865 additions and 1408 deletions

View File

@@ -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);
}
// 保存参数