feat(can): CAN休眠唤醒移动到BOOT以进行以支持40k硬件看门狗

- 更新深度睡眠实现,在跳转到bootloader前记录睡眠状态到Flash
- 添加gd32c10x_fmc.h头文件以支持Flash内存控制功能
- 将prepare_deep_sleep重命名为app_prepare_deep_sleep以提高命名清晰度
- 在CAN通信检测中添加应用层休眠准备功能
- 在接收OTA启动ID时解锁FMC、设置APP为非激活状态并锁定FMC
- 移除main.cpp中的看门狗复位休眠逻辑
- 在config.h中添加睡眠配置相关的常量定义
- 改进OTA_SET函数的Flash写入逻辑,优化数据更新流程
- 在OTA初始化和应用移动过程中添加FMC解锁锁定操作
This commit is contained in:
cbb
2026-01-12 01:03:43 +08:00
parent 72506ce87d
commit 9f84c85a28
8 changed files with 132 additions and 98 deletions
-6
View File
@@ -56,12 +56,6 @@ u8 hardware_init(void) {
unused_pin_init(); // 未使用引脚初始化
USART0_init(); // 调试串口初始化
motor_init(); // 电机驱动初始化
if (get_reset_cause() ==
RCU_FLAG_FWDGTRST) { // 如果是看门狗复位,本次看门狗时间延长并休眠
printf("continue sleep\r\n");
watchdog_init(5000); // 看门狗初始化
prepare_deep_sleep(false);
}
User_timer_init(); // 任务Timer初始化
u8 init_status = 0;
init_status += KTH7823.init(); // 角度传感器初始化