- 将 CANFD 接收机制由轮询改为 FIFO0 的中断事件驱动处理 - 实现循环取空硬件 FIFO0,提高接收效率和响应速度 - 引入环形缓冲区缓存接收帧,支持多路通道多帧队列管理 - 置位解析任务标志位,实现接收数据的异步解析 - 增加接收中断统计,包括 FIFO 满和溢出计数 - 重构临界区代码,使用自定义函数保护中断状态 - 修改接收过滤器配置,支持按掩码匹配标准帧进入 FIFO0 - 使能 CAN FIFO0 多种中断标志,包括非空、满和溢出中断
89 lines
2.6 KiB
YAML
89 lines
2.6 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/config.h
|
|
- group: device
|
|
files:
|
|
- file: ./device/usart0.h
|
|
- file: ./device/usart0.cpp
|
|
- file: ./device/adc.h
|
|
- file: ./device/ADC.cpp
|
|
- file: ./device/canfd.h
|
|
- file: ./device/CANFD.cpp
|
|
- file: ./device/app_spi_command.h
|
|
- file: ./device/app_spi_command.cpp
|
|
- file: ./device/Timer.h
|
|
- file: ./device/Timer.cpp
|
|
- file: ./device/temp_sensor.h
|
|
- file: ./device/temp_sensor.cpp
|
|
|
|
# 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
|
|
|
|
# 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
|
|
- -Wno-register
|
|
C:
|
|
- -std=gnu11
|
|
CPP:
|
|
- -std=gnu++17
|
|
ASM:
|
|
- -DGD32E508
|
|
- -DGD32E50X
|
|
- -DHXTAL_VALUE=8000000U
|
|
- -gdwarf-5
|
|
- -D__MICROLIB
|
|
Link:
|
|
- --library_type=microlib
|
|
- --entry=Reset_Handler
|