1. 概述
    1. DMA驱动程序负责提供服务和配置选项,以便使用AURIX DMA硬件执行DMA操作。驱动程序提供了初始化、启动、停止和更新DMA通道的服务。该驱动程序被设计为构建后的变体,可以为特定的所需配置生成十六进制文件。

 

  1. 配置预览

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 用于添加移动引擎错误后的回调通知函数,并由用户在代码中实现同名函数;默认不需要;

 

posted on 2022-12-29 15:32  lance9527  阅读(877)  评论(0编辑  收藏  举报