feat(device): 添加早期诊断功能并优化SPI通信实现
- 在startup_gd32e50x_cl.s中添加USART0早期诊断代码,在Reset_Handler中 发送'R'字符以确认启动过程 - 修改system_gd32e50x.c中的时钟初始化逻辑,支持动态检测当前时钟源 (PLL或IRC8M)并相应调整串口波特率设置 - 在系统时钟配置函数中添加HXTAL故障诊断输出,当外部晶振启动失败时 通过USART0输出"HXTAL FAIL"错误信息 - 在AppSpiCommand类中实现DMA传输机制,使用DMA0_CH2进行SPI0数据发送, 提升传输效率并与BOOT端保持一致 - 重构SPI命令处理逻辑,优化PING命令响应格式,包含APP和BOOT版本信息 以及运行时间统计 - 添加事务过滤机制,忽略全0xFF或全0x00的数据包以及短帧 - 更新配置文件定义APP固件版本号和OTA配置页面地址 - 修复region配置文件中的ROM大小数值精度问题 - 调整NVIC中断优先级设置,优化SPI中断处理
This commit is contained in:
@@ -116,4 +116,30 @@
|
||||
#define CONFIG_FWDGT_RLD 1874U
|
||||
/** @brief FWDGT 超时近似值(毫秒),仅供文档参考。 */
|
||||
#define CONFIG_FWDGT_TIMEOUT_MS 3000U
|
||||
|
||||
/* ============================================================
|
||||
* APP 固件版本号
|
||||
* ============================================================ */
|
||||
/** @brief APP 主版本号。 */
|
||||
#define APP_FW_VERSION_MAJOR 1U
|
||||
/** @brief APP 次版本号。 */
|
||||
#define APP_FW_VERSION_MINOR 0U
|
||||
/** @brief APP 补丁版本号。 */
|
||||
#define APP_FW_VERSION_PATCH 0U
|
||||
/** @brief APP 构建编号。 */
|
||||
#define APP_FW_VERSION_BUILD 1U
|
||||
|
||||
/* ============================================================
|
||||
* BOOT 版本在 OTA 配置页中的 Flash 存储地址
|
||||
* 与 BOOT 工程 sys/config.h 保持一致
|
||||
* ============================================================ */
|
||||
/** @brief OTA 配置页基地址。 */
|
||||
#define CONFIG_OTA_CONFIG_PAGE_ADDR 0x0807E000U
|
||||
/** @brief BOOT 版本存储地址(word 6,低 32 位:major|minor)。 */
|
||||
#define CONFIG_BOOT_VERSION_ADDR0 (CONFIG_OTA_CONFIG_PAGE_ADDR + 0x18U)
|
||||
/** @brief BOOT 版本存储地址(word 7,低 32 位:patch|build)。 */
|
||||
#define CONFIG_BOOT_VERSION_ADDR1 (CONFIG_OTA_CONFIG_PAGE_ADDR + 0x1CU)
|
||||
/** @brief OTA 配置页总 word 数(6 个 OTA 标志 + 2 个 BOOT 版本)。 */
|
||||
#define CONFIG_OTA_CONFIG_WORD_COUNT 8U
|
||||
|
||||
#endif /* SYS_CONFIG_H */
|
||||
|
||||
Reference in New Issue
Block a user