# 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 - file: ./sys/esp32_en.h - file: ./sys/esp32_en.cpp - 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 - file: ./device/spi/app_spi_diag.h - file: ./device/spi/app_spi_cmd_spi_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 # [DIFF-STATS] 临时仪表:差分写取证,删除时连同本两行与 comm/ethercat_diff_stats.* 一并移除 - file: ./comm/ethercat_diff_stats.h - file: ./comm/ethercat_diff_stats.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