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

@@ -16,6 +16,7 @@ typedef struct{
uint32_t reboot_curr;// 最后一次复位标志
void (*wdog_refresh)(void);// 刷新看门口
uint32_t reboot_times;// 软件重启次数
uint32_t boot_magic_number;// app校验boot是否为指定版本
}back_def;
@@ -79,7 +80,7 @@ void bk_init(void)
g_back->reboot_curr=g_back->reboot_type;
g_back->reboot_type=REBOOT_INIT;
g_back->wdog_refresh=0;
g_back->boot_magic_number=BOOT_MAGIC_NUM;
// 每软件重启一次就增加计数
if(bk_soft_reboot())
{
@@ -146,4 +147,13 @@ void *bk_wdog_fun(void)
return g_back->wdog_refresh;
}
// 校验魔数,不对返回1
int bk_check_magic_num(void)
{
if(g_back->boot_magic_number!=BOOT_MAGIC_NUM){
return 1;
}
return 0;
}