修复BOOT丢帧问题,优化标志位的存储

This commit is contained in:
cbb
2026-03-08 01:08:27 +08:00
parent 1e6d47ddae
commit 26cf5af14f
65 changed files with 2290 additions and 2174 deletions
+8 -8
View File
@@ -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)
; // 不应该执行到这里
}
}