- 添加watchdog组件用于系统监控 - 在system_gd32e50x.c中增加USART0诊断输出,在IRC8M和PLL配置后 发送"APP"和"CLK"标识 - 优化AppSpiCommand类中的日志处理机制,使用临界区保护 - 添加对全0xFF数据包的过滤处理,避免无效命令处理 - 将OTA重启延时从滴答计数改为毫秒级延时,提高响应速度 - 移除温度传感器相关文件,添加看门狗相关文件到项目配置 - 更新FWDGT API调用方式,使用新的配置函数 - 增加详细的启动日志输出,便于调试和追踪初始化过程
49 lines
1.3 KiB
C++
49 lines
1.3 KiB
C++
/**
|
|
* @file initial.cpp
|
|
* @brief 应用启动初始化实现。
|
|
*/
|
|
|
|
#include "sys/initial.h"
|
|
|
|
#include "device/canfd.h"
|
|
#include "device/temp_sensor.h"
|
|
#include "device/usart0.h"
|
|
#include "device/Timer.h"
|
|
#include "device/adc.h"
|
|
#include "device/watchdog.h"
|
|
#include "device/app_spi_command.h"
|
|
#include "sys/systick.h"
|
|
#include "sys/ota_boot_request.h"
|
|
#include "sys/task_manager.h"
|
|
|
|
/**
|
|
* @brief 执行应用级外设与调度初始化。
|
|
* @param[in] 无。
|
|
* @param[out] 无。
|
|
* @retval 无返回值。
|
|
* @note 依次完成 SysTick、USART0、ADC/温度采样、CANFD、任务管理器与调度定时器的启动。
|
|
*/
|
|
void AppInitializer::init()
|
|
{
|
|
printf("[APP] init: SysTick...\r\n");
|
|
SysTickTimer::initMs();
|
|
printf("[APP] init: USART0...\r\n");
|
|
Usart0::configurePins();
|
|
Usart0::init();
|
|
printf("[APP] init: TempSensor...\r\n");
|
|
TempSensor::init();
|
|
printf("[APP] init: CANFD...\r\n");
|
|
CanFd::init();
|
|
printf("[APP] init: OtaBootRequest...\r\n");
|
|
OtaBootRequest::init();
|
|
printf("[APP] init: AppSpiCommand...\r\n");
|
|
AppSpiCommand::init();
|
|
printf("[APP] init: TaskManager...\r\n");
|
|
TaskManager::init();
|
|
printf("[APP] init: SchedulerTimer...\r\n");
|
|
SchedulerTimer::init();
|
|
printf("[APP] init: Watchdog...\r\n");
|
|
Watchdog::init();
|
|
printf("[APP] init: all done\r\n");
|
|
}
|