- 添加 run_inhibit.h/cpp 模块作为全局运行闸门,统一管理所有停机/唤醒逻辑 - 移除 FOC 控制器中的 5 个相互引用的开关机函数(shut_down/resume 等) - 将 nFAULT 硬件故障检测从仅上报改为运行门控制,连续采样故障时申请禁止位 - 改进电压检测逻辑,欠压判定现在通过 run_inhibit 统一执行停机动作 - 修正 PB2(nFAULT) 引脚配置为内部上拉输入,避免浮空误读导致系统锁死 - 在 CAN 状态帧中新增 RunInhibit 位图(字节 36-39),实时反映禁止运行的故障源 - 电流采样失效、过热故障现在通过禁止位管理而非直接操作驱动状态 - 校准函数增加运行许可检查,防止在停机状态下意外唤醒驱动
96 lines
3.3 KiB
YAML
96 lines
3.3 KiB
YAML
project:
|
|
groups:
|
|
- group: Source Files
|
|
files:
|
|
- file: main.h
|
|
- file: main.cpp
|
|
- file: tasks.h
|
|
- file: tasks.cpp
|
|
- group: sys
|
|
files:
|
|
- file: sys/systick.cpp
|
|
- file: sys/systick.h
|
|
- file: sys/initial.cpp
|
|
- file: sys/initial.h
|
|
- file: sys/health.h
|
|
- file: sys/health.cpp
|
|
- file: sys/run_inhibit.h
|
|
- file: sys/run_inhibit.cpp
|
|
- file: sys/flash.h
|
|
- file: sys/flash.cpp
|
|
- file: sys/config.h
|
|
- group: device
|
|
files:
|
|
- file: device/Can.cpp
|
|
- file: device/Can.h
|
|
- file: device/ang_sensor.cpp
|
|
- file: device/ang_sensor.h
|
|
- file: device/ADC.cpp
|
|
- file: device/adc.h
|
|
- file: device/Timer.cpp
|
|
- file: device/Timer.h
|
|
- file: device/motor.cpp
|
|
- file: device/motor.h
|
|
- group: Algorithm
|
|
files:
|
|
- file: Algorithm/Filter.cpp
|
|
- file: Algorithm/Filter.h
|
|
- file: Algorithm/FOC.cpp
|
|
- file: Algorithm/FOC.h
|
|
- file: Algorithm/pid.cpp
|
|
- file: Algorithm/pid.h
|
|
components:
|
|
- component: ARM::CMSIS:CORE
|
|
- component: Device:Startup
|
|
- component: Device:EVAL:GD32C10x
|
|
- component: Device:GD32C10x_libopt
|
|
- component: Device:GD32C10x_StdPeripherals:FMC
|
|
- component: Device:GD32C10x_StdPeripherals:ADC
|
|
- component: Device:GD32C10x_StdPeripherals:CAN
|
|
- component: Device:GD32C10x_StdPeripherals:DMA
|
|
- component: Device:GD32C10x_StdPeripherals:EXTI
|
|
- component: Device:GD32C10x_StdPeripherals:GPIO
|
|
- component: Device:GD32C10x_StdPeripherals:MISC
|
|
- component: Device:GD32C10x_StdPeripherals:PMU
|
|
- component: Device:GD32C10x_StdPeripherals:RCU
|
|
- component: Device:GD32C10x_StdPeripherals:SPI_I2S
|
|
- component: Device:GD32C10x_StdPeripherals:TIMER
|
|
- component: Device:GD32C10x_StdPeripherals:USART
|
|
- component: Device:GD32C10x_StdPeripherals:DBG
|
|
- component: Device:GD32C10x_StdPeripherals:FWDGT
|
|
- component: Device:GD32C10x_StdPeripherals:WWDGT
|
|
- component: Device:GD32C10x_StdPeripherals:BKP
|
|
- component: Device:GD32C10x_StdPeripherals:CRC
|
|
- component: Device:GD32C10x_StdPeripherals:RTC
|
|
- component: CMSIS:DSP&Source
|
|
output:
|
|
type:
|
|
- elf
|
|
- hex
|
|
- bin
|
|
- map
|
|
packs:
|
|
- pack: ARM::CMSIS
|
|
- pack: GigaDevice::GD32C10x_DFP
|
|
- pack: ARM::CMSIS-DSP
|
|
misc:
|
|
- for-compiler: AC6
|
|
C-CPP:
|
|
- -fshort-enums
|
|
- -fshort-wchar
|
|
- -D__MICROLIB
|
|
- -Wno-register
|
|
- -O3 # 添加优化级别
|
|
- -DARM_MATH_CM4 # Cortex-M4核心定义
|
|
C:
|
|
- -D__packed=__attribute__((packed))
|
|
ASM:
|
|
- -D__packed=__attribute__((packed))
|
|
- -D__MICROLIB
|
|
Link:
|
|
- --library_type=microlib
|
|
- --entry=Reset_Handler
|
|
- --remove # 移除未使用的代码段
|
|
- --diag_suppress=L6207,L6210,L6218,L6220,L6222,L6224,L6226,L6228,L6230,L6232,L6234,L6236,L6238,L6240,L6242,L6244,L6246,L6248,L6308,L6329,L6310,L6312,L6314,L6316,L6318,L6320,L6322,L6324,L6326,L6328,L6330,L6332,L6334,L6336,L6338,L6340,L6342,L6344,L6346,L6348,L6350,L6352,L6354,L6311,L6313,L6315,L6317,L6319,L6321,L6323,L6325,L6327,L6329,L6331,L6333,L6335,L6337,L6339,L6341,L6343,L6345,L6347,L6349,L6351,L6353
|
|
# 移除了 __TARGET_FPU_VFP,因为它不是链接器参数
|