- 新增ESC硬件复位序列(1.5.25):PB10驱动LAN9252 RST#,拉低30ms+释放后300ms轮询HBI就绪, 满足tpurstd/trstia时序;此前RST#仅靠R44上拉自然释放 - 修正EXMC 16-bit地址左移(1.5.27):HBI DATA偏移0x20000/0x30000→0x40000/0x60000; ADDSET 2→4 HCLK;片选更名NE1→NE0(LQFP100仅Region0) - 按LAN9252手册/AN1907修正EEPROM镜像(1.5.28):word1高字节0x00→0xCC(SYNC0/1 Map+Output, 否则SYNC0留LATCH态DC过程数据死)、word2=5000(脉宽50µs)、尾部补真实0xFF; gen_eeprom.py按ETG.1000.6重写;DCU_ESI.xml PDI 0x05→0x8D、RxPdo/TxPdo互换改4×64bit对齐 - 删除GD32侧EEPROM烧录路径(1.5.29):移除EscEeprom/esc_eeprom、eeprom_image.h及主循环 烧录块,ESI镜像改由主站ecat_flash_eeprom.py经ESC 0x0500刷写(162字全校验通过); HBI互斥补屏蔽EXTI2(SYNC1),防Sync1_Isr两步事务打断主循环HBI访问致错址 - DC SYNC0通路可观测(1.5.30/31):EthercatSync新增sync0/sync1/escirq三个volatile计数器, task_runner 5s按增量打印速率;SSC OD新增只读0x2000 SYNC Diag,主站SDO轮询网页显示 - AL通路诊断(1.5.32):ECAT_Main/SetALStatus打印主站AL请求与写回状态+错误码, task_runner新增5s [ECAT][HB]心跳(仅同步ISR激活时);dc_app.c导出EcatDbg_ReadAlDiag - 删除死代码EthercatSlave::periodicIsr三缓冲PDO桥,PDO交换由SSC完成(4×64bit=32B); EthercatSlave::init()恢复调用并以isBusReady()(BYTE_TEST)门控 - CANFD修复同通道突发只发3帧:transmitFrame新增allow_abort区分突发/软件队列路径, 邮箱满落入软件TX队列(深度13)由TX完成中断drainTxQueueIsr回灌;BRS重新启用(0→1) - motor_state新增CONFIG帧缓存(0x00000101, DLC 24)记录目标值回报,条目44B→76B、每页5→3 - SPI 0xA2诊断扩展action 20~24(ECAT_NRST拉低/拉高/浮空/回读);新增ESP32 EN自检打印 - 版本号更新至1.5.32
166 lines
5.8 KiB
YAML
166 lines
5.8 KiB
YAML
# 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/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_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
|
||
- 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
|
||
Link:
|
||
- --library_type=microlib
|
||
- --entry=Reset_Handler
|
||
# 输出未引用段与总量报告,用于 Flash 尺寸归因
|
||
- --info=unused,totals
|