feat(build): 优化构建配置并引入日志分级系统

- 将优化级别从balanced调整为size,减少Flash占用
- 添加hardfault.cpp文件以增强故障诊断能力
- 关闭RTTI和异常处理以移除libcppabi运行时(节省约2.5KB Flash)
- 添加链接器参数输出未引用段与总量报告用于Flash尺寸分析

refactor(logging): 统一日志输出并实现编译时日志分级

- 将printf调用替换为模块化的日志宏(ECAT_LOGI、CAN_LOGI等)
- 实现CONFIG_*_LOG_ENABLE编译开关控制各模块INFO级日志
- 错误和关键事件使用LOG_ERR恒定保留,其他日志可编译时裁剪
- 保持原有日志内容不变,但支持链接器自动回收未使用的格式字符串
This commit is contained in:
cbb
2026-07-27 01:49:18 +08:00
parent edebde4a02
commit 46ef19d882
9 changed files with 130 additions and 88 deletions
+11 -11
View File
@@ -19,13 +19,13 @@
*/
void App::printBanner() const
{
printf("\r\n");
printf("========================================\r\n");
printf(" GD32E508 DCU APP started OK\r\n");
printf(" System clock: 180 MHz\r\n");
printf(" Build: " __DATE__ " " __TIME__ "\r\n");
printf("========================================\r\n");
printf("[APP] APP running, uptime_sec=0\r\n");
APP_LOGI("\r\n");
APP_LOGI("========================================\r\n");
APP_LOGI(" GD32E508 DCU APP started OK\r\n");
APP_LOGI(" System clock: 180 MHz\r\n");
APP_LOGI(" Build: " __DATE__ " " __TIME__ "\r\n");
APP_LOGI("========================================\r\n");
APP_LOGI("[APP] APP running, uptime_sec=0\r\n");
}
/**
@@ -37,12 +37,12 @@ void App::printBanner() const
*/
int App::run()
{
printf("[APP] >>> main() entered, SystemCoreClock=%lu\r\n", (unsigned long)SystemCoreClock);
printf("[APP] >>> calling AppInitializer::init()...\r\n");
APP_LOGI("[APP] >>> main() entered, SystemCoreClock=%lu\r\n", (unsigned long)SystemCoreClock);
APP_LOGI("[APP] >>> calling AppInitializer::init()...\r\n");
AppInitializer::init();
printf("[APP] >>> init done, calling TaskRunner::init()...\r\n");
APP_LOGI("[APP] >>> init done, calling TaskRunner::init()...\r\n");
TaskRunner::init();
printf("[APP] >>> TaskRunner ready, entering main loop\r\n");
APP_LOGI("[APP] >>> TaskRunner ready, entering main loop\r\n");
printBanner();
while(1) {