- 将 CANFD 接收机制由轮询改为 FIFO0 的中断事件驱动处理 - 实现循环取空硬件 FIFO0,提高接收效率和响应速度 - 引入环形缓冲区缓存接收帧,支持多路通道多帧队列管理 - 置位解析任务标志位,实现接收数据的异步解析 - 增加接收中断统计,包括 FIFO 满和溢出计数 - 重构临界区代码,使用自定义函数保护中断状态 - 修改接收过滤器配置,支持按掩码匹配标准帧进入 FIFO0 - 使能 CAN FIFO0 多种中断标志,包括非空、满和溢出中断
102 lines
2.9 KiB
C
102 lines
2.9 KiB
C
#ifndef REGIONS_GD32E508VE_H
|
|
#define REGIONS_GD32E508VE_H
|
|
|
|
|
|
//-------- <<< Use Configuration Wizard in Context Menu >>> --------------------
|
|
//------ With VS Code: Open Preview for Configuration Wizard -------------------
|
|
|
|
// <n> Auto-generated using information from packs
|
|
// <i> Device Family Pack (DFP): GigaDevice::GD32E50x_DFP@1.9.0
|
|
|
|
// <h> ROM Configuration
|
|
// =======================
|
|
// <h> __ROM0 (is rx memory: IROM1 from DFP)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region. Default: 0x08000000
|
|
// <i> Contains Startup and Vector Table
|
|
#define __ROM0_BASE 0x08048000
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region. Default: 0x00080000
|
|
#define __ROM0_SIZE 0x00036000
|
|
// </h>
|
|
|
|
// <h> __ROM1 (unused)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region.
|
|
#define __ROM1_BASE 0x0
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region.
|
|
#define __ROM1_SIZE 0x0
|
|
// </h>
|
|
|
|
// <h> __ROM2 (unused)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region.
|
|
#define __ROM2_BASE 0x0
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region.
|
|
#define __ROM2_SIZE 0x0
|
|
// </h>
|
|
|
|
// <h> __ROM3 (unused)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region.
|
|
#define __ROM3_BASE 0x0
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region.
|
|
#define __ROM3_SIZE 0x0
|
|
// </h>
|
|
|
|
// </h>
|
|
|
|
// <h> RAM Configuration
|
|
// =======================
|
|
// <h> __RAM0 (is rwx memory: IRAM1 from DFP)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region. Default: 0x20000000
|
|
// <i> Contains uninitialized RAM, Stack, and Heap
|
|
#define __RAM0_BASE 0x20000000
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region. Default: 0x00020000
|
|
#define __RAM0_SIZE 0x00020000
|
|
// </h>
|
|
|
|
// <h> __RAM1 (unused)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region.
|
|
#define __RAM1_BASE 0x0
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region.
|
|
#define __RAM1_SIZE 0x0
|
|
// </h>
|
|
|
|
// <h> __RAM2 (unused)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region.
|
|
#define __RAM2_BASE 0x0
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region.
|
|
#define __RAM2_SIZE 0x0
|
|
// </h>
|
|
|
|
// <h> __RAM3 (unused)
|
|
// <o> Base address <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines base address of memory region.
|
|
#define __RAM3_BASE 0x0
|
|
// <o> Region size [bytes] <0x0-0xFFFFFFFF:8>
|
|
// <i> Defines size of memory region.
|
|
#define __RAM3_SIZE 0x0
|
|
// </h>
|
|
|
|
// </h>
|
|
|
|
// <h> Stack / Heap Configuration
|
|
// <o0> Stack Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
|
// <o1> Heap Size (in Bytes) <0x0-0xFFFFFFFF:8>
|
|
#define __STACK_SIZE 0x00000200
|
|
#define __HEAP_SIZE 0x00000C00
|
|
// </h>
|
|
|
|
|
|
#endif /* REGIONS_GD32E508VE_H */
|