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:
@@ -5,8 +5,9 @@
|
||||
// 如果使用CMSIS DSP库,需要定义ARM_MATH_CM4
|
||||
#define ARM_MATH_CM4
|
||||
|
||||
#define EEP_DEBUG 1
|
||||
#define EEP_DEBUG 0
|
||||
#define OTA_DEBUG 1
|
||||
#define SLEEP_DEBUG 1
|
||||
|
||||
// Flash分区配置
|
||||
constexpr u32 BOOTLOADER_SIZE = 0x4000; // 16KB
|
||||
@@ -15,6 +16,11 @@ constexpr u32 APPLATEST_START_ADDR = 0x08011000; // APP起始地址
|
||||
constexpr u32 APPBACK_START_ADDR = 0x08005000; // APPBACK起始地址
|
||||
constexpr u32 APP_MAX_SIZE = 0xC000; // 48KB
|
||||
constexpr u32 FMC_PAGE_SIZE = 0x400; // 1KB
|
||||
constexpr u32 SLEEP_CONFIG_START = 0x0801D400; // 睡眠配置起始地址
|
||||
constexpr u32 SLEEP_CONFIG_END = 0x0801D800; // 睡眠配置结束地址
|
||||
constexpr u32 FLASH_EMPTY = 0xFFFFFFFF; // 空数据
|
||||
constexpr u32 SLEEP_ENABLE = 0x11111111; // 睡眠使能
|
||||
constexpr u32 SLEEP_DISABLE = 0x00000000; // 睡眠禁止
|
||||
|
||||
// BOOT 相关
|
||||
constexpr u32 OTA_CONFIG_NUM = 6;
|
||||
|
||||
Reference in New Issue
Block a user