app启动时如果boot魔数校验错误则自动升级bootloader
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user