Files
DCU_APP/GD32E508_DCU_APP/GD32E508_DCU_APP.cproject.yml
T
cbb 70daa4b0c6 feat(DCU_APP): 添加CPU负载监控和EtherCAT诊断功能
- 在DCU_APP项目中添加cpu_load.h和cpu_load.cpp模块用于CPU负载率监测
- 修改csolution配置将构建目标从Debug切换为Release
- 在EtherCAT PDO协议栈中新增段5诊断区(632-639字节),包含负载率和序列号
- 在所有关键中断服务程序中添加CpuLoad::isrEnter()/isrExit()钩子用于准确统计中断占用
- 增强EtherCAT同步中断处理,改进AL事件掩码守护机制,修复OP状态下PDI中断门控问题
- 解决SSC源码中指针地址对齐警告和打包成员访问警告问题
- 在主循环中集成CPU负载率采样tick()调用,实现1秒滚动窗口统计

BREAKING CHANGE: 构建配置从Debug改为Release,EtherCAT协议栈增加新的诊断数据区
2026-09-05 20:07:22 +08:00

176 lines
6.3 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# A project translates into one executable or library.
project:
groups:
- group: Source Files
files:
- file: ./main.h
- file: ./main.cpp
- group: sys
files:
- file: ./sys/initial.h
- file: ./sys/initial.cpp
- file: ./sys/systick.h
- file: ./sys/systick.cpp
- file: ./sys/task_manager.h
- file: ./sys/task_manager.cpp
- file: ./sys/task_runner.h
- file: ./sys/task_runner.cpp
- file: ./sys/cpu_load.h
- file: ./sys/cpu_load.cpp
- file: ./sys/ota_boot_request.h
- file: ./sys/ota_boot_request.cpp
- file: ./sys/aes128.h
- file: ./sys/aes128.cpp
- file: ./sys/motor_ota_relay.h
- file: ./sys/motor_ota_relay.cpp
- file: ./sys/hardfault.cpp
- file: ./sys/cpp_stubs.cpp
- file: ./sys/config.h
- group: device
files:
- file: ./device/adc.h
- file: ./device/adc.cpp
- file: ./device/canfd.h
- file: ./device/canfd.cpp
- file: ./device/timer.h
- file: ./device/timer.cpp
- file: ./device/usart0.h
- file: ./device/usart0.cpp
- file: ./device/watchdog.h
- file: ./device/watchdog.cpp
- file: ./device/motor_state.h
- file: ./device/motor_state.cpp
- file: ./device/motor_version.h
- file: ./device/motor_version.cpp
# GigaDevice DFP 未把 EXMC 注册为 CMSIS 组件(仅有 FMC=片内 Flash),
# 但外设源文件存在于 Pack;LAN9252 并行总线需要 EXMC,故本地编入。
- group: device_exmc
files:
- file: ./RTE/Device/GD32E508VE/gd32e50x_exmc.c
- file: ./RTE/Device/GD32E508VE/gd32e50x_exmc.h
- group: device/spi
files:
- file: ./device/spi/app_spi_command.h
- file: ./device/spi/app_spi_command.cpp
- file: ./device/spi/spi_command_handler.h
- file: ./device/spi/app_spi_command_defs.h
- file: ./device/spi/app_spi_cmd_boot_request.cpp
- file: ./device/spi/app_spi_cmd_ota_wait.cpp
- file: ./device/spi/app_spi_cmd_ping.cpp
- file: ./device/spi/app_spi_cmd_init_status.cpp
- file: ./device/spi/app_spi_cmd_can_bridge.cpp
- file: ./device/spi/app_spi_cmd_can_burst.cpp
- file: ./device/spi/app_spi_cmd_can_feedback.cpp
- file: ./device/spi/app_spi_cmd_id_snapshot.cpp
- file: ./device/spi/app_spi_cmd_adc_feedback.cpp
- file: ./device/spi/app_spi_cmd_motor_state.cpp
- file: ./device/spi/app_spi_cmd_motor_version.cpp
- file: ./device/spi/app_spi_cmd_motor_ota.cpp
- file: ./device/spi/app_spi_cmd_exmc_diag.cpp
- group: spi_link
files:
- file: ../../spi_link/spi_link_v2.cpp
- group: comm
files:
- file: ./comm/esc_exmc_bus.h
- file: ./comm/esc_exmc_bus.cpp
- file: ./comm/esc_lan9252.h
- file: ./comm/esc_lan9252.cpp
- file: ./comm/ethercat_slave.h
- file: ./comm/ethercat_slave.cpp
- file: ./comm/ethercat_sync.h
- file: ./comm/ethercat_sync.cpp
- file: ./comm/ethercat_can_bridge.h
- file: ./comm/ethercat_can_bridge.cpp
- file: ./comm/ethercat_pdo.h
- file: ./comm/ethercat_pdo.cpp
- group: comm/ssc
files:
- file: ./comm/ssc/inc/ecatslv.h
- file: ./comm/ssc/inc/ecatappl.h
- file: ./comm/ssc/inc/mailbox.h
- file: ./comm/ssc/inc/ecatcoe.h
- file: ./comm/ssc/inc/sdoserv.h
- file: ./comm/ssc/inc/objdef.h
- file: ./comm/ssc/inc/coeappl.h
- file: ./comm/ssc/inc/esc.h
- file: ./comm/ssc/inc/applInterface.h
- file: ./comm/ssc/inc/el9800hw.h
- file: ./comm/ssc/src/ecatslv.c
- file: ./comm/ssc/src/ecatappl.c
- file: ./comm/ssc/src/mailbox.c
- file: ./comm/ssc/src/ecatcoe.c
- file: ./comm/ssc/src/sdoserv.c
- file: ./comm/ssc/src/objdef.c
- file: ./comm/ssc/src/coeappl.c
- file: ./comm/ssc/port/hw_gd32exmc.cpp
- file: ./comm/ssc/port/dc_app.c
- file: ./comm/ssc/port/dc_app.h
- file: ./comm/ssc/port/ecat_def.h
# List components to use for your application.
# A software component is a re-usable unit that may be configurable.
components:
- component: ARM::CMSIS:CORE
- component: Device:Startup
- component: Device:GD32E50x_StdPeripherals:ADC
- component: Device:GD32E50x_StdPeripherals:CAN
- component: Device:GD32E50x_StdPeripherals:CRC
- component: Device:GD32E50x_StdPeripherals:DBG
- component: Device:GD32E50x_StdPeripherals:DMA
- component: Device:GD32E50x_StdPeripherals:EXTI
- component: Device:GD32E50x_StdPeripherals:FMC
- component: Device:GD32E50x_StdPeripherals:GPIO
- component: Device:GD32E50x_StdPeripherals:MISC
- component: Device:GD32E50x_StdPeripherals:PMU
- component: Device:GD32E50x_StdPeripherals:RCU
- component: Device:GD32E50x_StdPeripherals:SPI_I2S
- component: Device:GD32E50x_StdPeripherals:TIMER
- component: Device:GD32E50x_StdPeripherals:USART
- component: Device:GD32E50x_libopt
- component: Device:GD32E50x_StdPeripherals:FWDGT
# List executable file formats to be generated.
output:
type:
- elf
- hex
- map
misc:
- for-compiler: AC6
C-CPP:
- -DGD32E508
- -DGD32E50X
- -DHXTAL_VALUE=8000000U
- -gdwarf-5
- -D__MICROLIB
- -fshort-enums
- -fshort-wchar
# EXMC 未作为 CMSIS 组件分发;头文件在 RTE 本地目录
- -IRTE/Device/GD32E508VE
- -Wno-register
- -IG:/Robot_v2/DCU/spi_link
C:
- -std=gnu11
CPP:
- -std=gnu++17
# 全工程零使用 RTTI/异常(grep 验证),关闭以剥离 libcppabi 运行时(约 2.5 KB Flash)
- -fno-rtti
- -fno-exceptions
ASM:
- -DGD32E508
- -DGD32E50X
- -DHXTAL_VALUE=8000000U
- -gdwarf-5
- -D__MICROLIB
# 启动文件经 legacy armasm 汇编:消 armclang 驱动"参数未使用"告警 + armasm 弃用告警(A1950W)
- -Wno-unused-command-line-argument
- -Wa,armasm,--diag_suppress=A1950W
Link:
- --library_type=microlib
- --entry=Reset_Handler
# 输出未引用段与总量报告,用于 Flash 尺寸归因
- --info=unused,totals