Files
GD32E50X_BOOT/GD32E50X_BOOT/main.h
T
cbb 747fc56886 feat(boot): 添加SPI OTA功能并更新配置
- 添加SpiOta.h和SpiOta.cpp文件以实现SPI OTA功能
- 在项目配置中添加SPI_I2S外设组件支持
- 设置外部晶振值为8MHz (HXTAL_VALUE=8000000U)
- 调整ROM0大小从512KB减小到2KB以适应引导程序需求
- 移除评估板相关文件和看门狗驱动文件以优化存储空间
2026-05-25 01:33:00 +08:00

39 lines
949 B
C++

#ifndef MAIN_H
#define MAIN_H
#include <stdint.h>
/**
* @brief Bootloader 顶层调度对象。
*
* 负责初始化系统硬件,并根据 Flash 中保存的应用状态决定
* 是直接跳转主应用、等待 OTA 请求,还是执行备份恢复流程。
*/
class BootloaderSystem {
public:
/**
* @brief 初始化 Bootloader 运行所需的硬件外设。
*
* 初始化内容包括 SysTick、串口、CAN、OTA 状态机、SPI OTA
* 以及睡眠状态检查。
*
* @return 无。
*/
void initHardware();
/**
* @brief 执行 Bootloader 主流程。
*
* 该函数会读取应用状态标志,并根据状态决定后续行为:
* - 直接跳转主应用;
* - 在限定时间内等待 OTA 请求;
* - 从备份应用区恢复后跳转;
* - 永久停留在 Bootloader 等待升级。
*
* @return 无。
*/
void run();
};
#endif