修复BOOT丢帧问题,优化标志位的存储
This commit is contained in:
+8
-8
@@ -15,7 +15,7 @@ extern OTAHandler ota;
|
||||
|
||||
void BootloaderSystem::initHardware() {
|
||||
systick_config(); // 系统时钟初始化
|
||||
// USART0_init(); // 调试串口初始化
|
||||
USART0_init(); // 调试串口初始化
|
||||
|
||||
CAN0_transmiter.init();
|
||||
check_sleep();
|
||||
@@ -28,14 +28,14 @@ void BootloaderSystem::run() {
|
||||
u32 app_check = *flash_ptr;
|
||||
if (app_check == OTA_AVAL and
|
||||
app_enable == OTA_AVAL) { // APP已确认且激活,直接进入
|
||||
#if OTA_DEBUG
|
||||
#if DEBUG_OTA
|
||||
printf("Normal Mode\r\n");
|
||||
#endif
|
||||
// 正常模式:跳转到APP
|
||||
ota.jumpToApplication();
|
||||
} else if (app_check == OTA_AVAL and
|
||||
app_enable == OTA_NOT_AVAL) { // 手动禁用APP,进入OTA模式
|
||||
#if OTA_DEBUG
|
||||
#if DEBUG_OTA
|
||||
printf("OTA Mode1\r\n");
|
||||
#endif
|
||||
// OTA模式
|
||||
@@ -50,14 +50,14 @@ void BootloaderSystem::run() {
|
||||
u32 back_check = *flash_ptr;
|
||||
if (back_check == OTA_AVAL and
|
||||
back_aval == OTA_AVAL) { // backup已确认且激活,复制到主APP区域
|
||||
#if OTA_DEBUG
|
||||
#if DEBUG_OTA
|
||||
printf("OTA Mode3\r\n");
|
||||
#endif
|
||||
CAN0_transmiter.sendBackup();
|
||||
move_app_data(); // 恢复BACKUP
|
||||
ota.jumpToApplication(); // 跳转到APP
|
||||
} else { // backup无效,进入OTA模式
|
||||
#if OTA_DEBUG
|
||||
} else { // backup无效,进入OTA模式
|
||||
#if DEBUG_OTA
|
||||
printf("OTA Mode4\r\n");
|
||||
#endif
|
||||
// OTA模式
|
||||
@@ -68,12 +68,12 @@ void BootloaderSystem::run() {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int main(void) {
|
||||
sys.initHardware();
|
||||
// scanAppFlashContent();
|
||||
// test_decrypt();
|
||||
sys.run();
|
||||
|
||||
while (1)
|
||||
; // 不应该执行到这里
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user