-
概述
- DMA驱动程序负责提供服务和配置选项,以便使用AURIX DMA硬件执行DMA操作。驱动程序提供了初始化、启动、停止和更新DMA通道的服务。该驱动程序被设计为构建后的变体,可以为特定的所需配置生成十六进制文件。
- 配置预览
container:DmaGeneral 中包含了Dma的通用配置;
DmaDevErrorDetect 是否启用开发错误侦测,本例中禁用;
DmaMultiCoreErrorDetect 是否启用多核错误侦测,本例中禁用;
DmaSafetyEnable 是否启用安全模式,本例中禁用;
DmaInitCheckApi 是否启用初始化检查api,默认禁用;
DmaDeinitApiConfiguration 是否启用失能初始化api,默认禁用;
DmaSuspendApiConfiguration 是否启用挂起配置api,默认禁用;
DmaTriggerApiConfiguration 是否启用翻转api,本例中启用;
DmaDataPendingApiConfiguration 是否启用数据挂起api,默认禁用;
DmaBufferSwitchApiConfiguration 是否启用数据buffer切换api,默认禁用;
DmaVersionInfoApi 是否启用版本信息api,默认禁用;
DmaMaxTransactionSetPerChannel 用于指定每个通道最大的传输集个数,默认为1;
DmaInitApiMode 用于指定初始化api的运行等级为SUPERVISORMODE;
DmaRuntimeApiMode 用于指定运行时api的运行等级为SUPERVISORMODE;
container:DmaChannelConfig 中包含了启用的dma通道的详细配置;
DmaChannelId 用于指定启用的dma通道号,本例中使用了通道1和2,因此两个通道的此项值分别是1和2;
DmaChannelAssignedPartition 用于指定该通道分配到的硬件分区,本例中芯片dma支持4个硬件分区,此项的取值范围是[0, 3];
DmaChannelNumTransactionSet 用于指定通道支持的传输集个数,默认为1;
DmaTcsInterruptTransactionLoss 用于指定是否启用事务丢失中断,默认选择false禁用事务丢失中断;
DmaChannelNotification 用于添加通道传输完成后的回调通知函数,并由用户在代码中实现同名函数;此项非必填项,会依据通道的特性按需添加;比如此通道用作spi的接收就必须要添加回调函数,但如果是用作spi的发送则可添可不添;
DmaChannelTransactionSet 中包含数据源,目标源,数据宽度,地址增长方式等的设置,更多信息参阅原始文档;这里使用默认配置即可,实际传输时会由Dma驱动代码对下面参数重新进行正确的赋值;
container:DmaMoveEngineConfig 中包含DMA-IP数据移动引擎的配置;
DmaMESourceErrorInterrupt 用于指定是否启用移动引擎源错误中断,默认选择false禁用此中断;
DmaMEDestinationErrorInterrupt 用于指定是否启用移动引擎目标错误中断,默认选择false禁用此中断;
DmaMELinkedListErrorInterrupt 用于指定是否启用移动引擎链表错误中断,默认选择false禁用此中断;
container:CommonPublishedInformatica 中是软件自动生成的版本号默认值,用户无需修改,保持默认即可。
container:DmaResourcePartition 中包含DMA资源分区相关的配置,本例中芯片dma支持 4 个硬件分区;
DmaResourcePartitionBusMode 该参数定义了资源分区的总线访问模式,选择DMA_RP_SUPERVISOR_MODE表示处于管理模式,选择
DMA_RP_USER_MODE表示处于用户模式;默认选择管理模式;
DmaPermittedBusMaster 该参数是一个32位的16进制掩码,表示允许访问该分区的总线主节点,取值范围是[0, 0xFFFFFFFF];使用默认值0xFFFFFFFF即可;
DmaMoveEngineErrorNotification 用于添加移动引擎错误后的回调通知函数,并由用户在代码中实现同名函数;默认不需要;