NXP S32K1 MCAL DMA配置

作者:Stephen Du

免责声明: 本文为个人学习笔记及总结,仅代表个人观点,尽可能保证内容准确性。复制/转发请注明来源/作者。

欢迎添加微信交流学习。

在这里插入图片描述

1.DMA仲裁机制

固定优先级仲裁(fixed priority arbitration): 用户对每个通道设置一个明确优先级,优先处理优先级高的通道。

循环仲裁(round robin arbitration): 从通道号大的开始执行,依次到通道号小的通道,忽略优先级。

注意这个设置是全局的,针对DMA所有逻辑通道。

默认为固定优先级仲裁机制。

EB配置如下图:

Mcl
MclConfigSet
DMA Instance
Round Robin Channel Arbitration

2.EB配置流程

由于DMA在标准中不属于标准模块,所以NXP的MCAL中将DMA归属于Mcl模块里。

2.1使能DMA

在这里插入图片描述
其余选项根据需要进行选择(可选)。

2.2使能通道中断(可选)

如果你不需要使用中断模式,忽略本章节。
在这里插入图片描述

2.3通道配置

在这里插入图片描述
上图中第一和第二个窗口默认是有实体的,如果没有,请点击工具区(上图中红框部分)绿色加号进行添加。第三个窗口默认没有,需要根据自己需要进行添加,使用几个通道就添加几个实体。

上图第二个窗口中Round Robin Channel Arbitration选项见前面“DMA仲裁机制”章节的解释。

某些配置项如果可以显示完全,可直接配置,如上图中中间的配置窗口,但是某些配置由于配置项太多,显示不全,需要进入进行配置,如上图中第一个窗口和第三个窗口,进入方式只需双击上图中手形图标处即可。

上图中最后一个窗口双击相应逻辑通道进入进行详细配置。如下图:
在这里插入图片描述
上图绿框部分可以保持默认分配的值,红框部分通常为必选项,其余选项根据需要进行勾选。

如果使用的循环仲裁模式,优先级设置可忽略,否则需要根据相应外设需要进行设置,比如SPI模块要求Rx通道的优先级大于Tx通道的优先级。优先级取值范围:0~15,数字越优先级越

其中Notification选项可以是用户的任意函数,但有时候需要注册一些特殊的函数。如这里的示例就是SPI模块使用DMA中断模式时,需要将SPI模块的中断函数注册到这里。

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值