当前位置: 首页 > news >正文

<RT1176系列12>DMAMUX入门级应用和DMAMUX MAP表

1、概述        

        之前在<RT1176系列5>LPUART入门级应用和基础API解析-CSDN博客文章中简要讲述如何引用DMA进行配置,这里继续这篇文章进行一些关于DMA源的配置点。

2、SDK工程参考

3、DMA TX/RX源的配置

配置 LPUART 发送通道 - 将 DMA 通道LPUART_TX_DMA_CHANNEL分配给 LPUART 的发送请求源LPUART_TX_DMA_REQUES。

配置 LPUART 接收通道 - 将 DMA 通道LPUART_RX_DMA_CHANNEL分配给 LPUART 的接收请求源LPUART_RX_DMA_REQUEST。

#define LPUART_TX_DMA_REQUEST 8U
#define LPUART_RX_DMA_REQUEST 9U/* Set channel for LPUART */
DMAMUX_SetSource(EXAMPLE_LPUART_DMAMUX_BASEADDR, LPUART_TX_DMA_CHANNEL, LPUART_TX_DMA_REQUEST);
DMAMUX_SetSource(EXAMPLE_LPUART_DMAMUX_BASEADDR, LPUART_RX_DMA_CHANNEL, LPUART_RX_DMA_REQUEST);

具体实现:
根据 DMAMUX_CHCFG 寄存器宽度,

清除原 SOURCE 位 (& ~DMAMUX_CHCFG_SOURCE_MASK),并设置新 SOURCE 值 (|DMAMUX_CHCFG_SOURCE(source)),写入寄存器。

#define DMAMUX_CHCFG_SOURCE(x) (((uint32_t)(((uint32_t)(x)) << DMAMUX_CHCFG_SOURCE_SHIFT)) & DMAMUX_CHCFG_SOURCE_MASK)static inline void DMAMUX_SetSource(DMAMUX_Type *base, uint32_t channel, int32_t source)
{
assert(channel < (uint32_t)FSL_FEATURE_DMAMUX_MODULE_CHANNEL);#if defined FSL_FEATURE_DMAMUX_CHCFG_REGISTER_WIDTH && (FSL_FEATURE_DMAMUX_CHCFG_REGISTER_WIDTH == 32U)
base->CHCFG[channel] = ((base->CHCFG[channel] & ~DMAMUX_CHCFG_SOURCE_MASK) | DMAMUX_CHCFG_SOURCE(source));
#else
base->CHCFG[channel] = (uint8_t)((base->CHCFG[channel] & ~DMAMUX_CHCFG_SOURCE_MASK) | DMAMUX_CHCFG_SOURCE(source));
#endif
}

4、MAP表

关于具体source(slot编号)的查询,需要对应到芯片手册中的DMAMUX MAP表,具体如下:

ChannelModuleGateDescription
0Reserved-Reserved
1FLEXIO1ORFlexIO1 shifter2 DMA Request
OR FlexIO1 shifter2 Async DMA Request
OR FlexIO1 shifter3 DMA Request
OR FlexIO1 shifter3 Async DMA Request
OR FlexIO1 timer2 DMA Request
OR FlexIO1 timer2 Async DMA Request
OR FlexIO1 timer3 DMA Request
OR FlexIO1 timer3 Async DMA Request
2FLEXIO1ORFlexIO1 shifter4 DMA Request
OR FlexIO1 shifter4 Async DMA Request
OR FlexIO1 shifter5 DMA Request
OR FlexIO1 shifter5 Async DMA Request
OR FlexIO1 timer4 DMA Request
OR FlexIO1 timer4 Async DMA Request
OR FlexIO1 timer5 DMA Request
OR FlexIO1 timer5 Async DMA Request
3FLEXIO1ORFlexIO1 shifter6 DMA Request
OR FlexIO1 shifter6 Async DMA Request
OR FlexIO1 shifter7 DMA Request
OR FlexIO1 shifter7 Async DMA Request
OR FlexIO1 timer6 DMA Request
OR FlexIO1 timer6 Async DMA Request
OR FlexIO1 timer7 DMA Request
OR FlexIO1 timer7 Async DMA Request
4FLEXIO2ORFlexIO2 shifter0 DMA Request
FlexIO2 shifter0 Async DMA Request
FlexIO2 shifter1 DMA Request
FlexIO2 shifter1 Async DMA Request
FlexIO2 timer0 DMA Request
FlexIO2 timer0 Async DMA Request
FlexIO2 timer1 DMA Request
FlexIO2 timer1 Async DMA Request
5FLEXIO2ORFlexIO2 shifter2 DMA Request
FlexIO2 shifter2 Async DMA Request
FlexIO2 shifter3 DMA Request
FlexIO2 shifter3 Async DMA Request
FlexIO2 timer2 DMA Request
FlexIO2 timer2 Async DMA Request
FlexIO2 timer3 DMA Request
FlexIO2 timer3 Async DMA Request
6FLEXIO2ORFlexIO2 shifter4 DMA Request
FlexIO2 shifter4 Async DMA Request
FlexIO2 shifter5 DMA Request
FlexIO2 shifter5 Async DMA Request
FlexIO2 timer4 DMA Request
FlexIO2 timer4 Async DMA Request
FlexIO2 timer5 DMA Request
FlexIO2 timer5 Async DMA Request
7FLEXIO2ORFlexIO2 shifter6 DMA Request
FlexIO2 shifter6 Async DMA Request
FlexIO2 shifter7 DMA Request
FlexIO2 shifter7 Async DMA Request
FlexIO2 timer6 DMA Request
FlexIO2 timer6 Async DMA Request
FlexIO2 timer7 DMA Request
FlexIO2 timer7 Async DMA Request
8LPUART1ORUART1 Tx FIFO DMA Request
UART1 Tx FIFO Async DMA Request
9LPUART1ORUART1 Rx FIFO DMA Request
UART1 Rx FIFO Async DMA Request
10LPUART2ORUART2 Tx FIFO DMA Request
UART2 Tx FIFO Async DMA Request
11LPUART2ORUART2 Rx FIFO DMA Request
UART2 Rx FIFO Async DMA Request
12LPUART3ORUART3 Tx FIFO Async DMA Request
UART3 Tx FIFO DMA Request
13LPUART3ORUART3 Rx FIFO DMA Request
UART3 Rx FIFO Async DMA Request
14LPUART4ORUART4 Tx FIFO DMA Request
UART4 Tx FIFO Async DMA Request
15LPUART4ORUART4 Rx FIFO DMA Request
UART4 Rx FIFO Async DMA Request
16LPUART5ORUART5 Tx FIFO DMA Request
UART5 Tx FIFO Async DMA Request
17LPUART5ORUART5 Rx FIFO DMA Request
UART5 Rx FIFO Async DMA Request
18LPUART6ORUART6 Tx FIFO DMA Request
UART6 Tx FIFO Async DMA Request
19LPUART6ORUART6 Rx FIFO DMA Request
UART6 Rx FIFO Async DMA Request
20LPUART7ORUART7 Tx FIFO DMA Request
UART7 Tx FIFO Async DMA Request
21LPUART7ORUART7 Rx FIFO DMA Request
UART7 Rx FIFO Async DMA Request
22LPUART8ORUART8 Tx FIFO DMA Request
UART8 Tx FIFO Async DMA Request
23LPUART8ORUART8 Rx FIFO DMA Request
UART8 Rx FIFO Async DMA Request
24LPUART9ORUART9 Tx FIFO DMA Request
UART9 Tx FIFO Async DMA Request
25LPUART9ORUART9 Rx FIFO DMA Request
UART9 Rx FIFO Async DMA Request
26LPUART10ORUART10 Tx FIFO DMA Request
UART10 Tx FIFO Async DMA Request
27LPUART10ORUART10 Rx FIFO DMA Request
UART10 Rx FIFO Async DMA Request
28LPUART11ORUART11 Tx FIFO DMA Request
UART11 Tx FIFO Async DMA Request
29LPUART11ORUART11 Rx FIFO DMA Request
UART11 Rx FIFO Async DMA Request
30LPUART12ORUART12 Tx FIFO DMA Request
UART12 Tx FIFO Async DMA Request
31LPUART12ORUART12 Tx FIFO Async DMA Request
UART12 Rx FIFO DMA Request
UART12 Rx FIFO Async DMA Request
32CSI-CSI Write DMA Request
33PXP-PXP DMA Event
34eLCDIF-eLCDIF DMA Event
35LCDIFv2-LCDIFv2 DMA Event
36LPSPI1ORLPSPI1 Rx FIFO DMA Request
LPSPI1 Rx FIFO Async DMA Request
37LPSPI1ORLPSPI1 Tx FIFO DMA Request
LPSPI1 Tx FIFO Async DMA Request
38LPSPI2ORLPSPI2 Rx FIFO DMA Request
LPSPI2 Rx FIFO Async DMA Request
39LPSPI2ORLPSPI2 Tx FIFO DMA Request
LPSPI2 Tx FIFO Async DMA Request
40LPSPI3ORLPSPI3 Rx FIFO DMA Request
LPSPI3 Rx FIFO Async DMA Request
41LPSPI3ORLPSPI3 Tx FIFO DMA Request
LPSPI3 Tx FIFO Async DMA Request
42LPSPI4ORLPSPI4 Rx FIFO DMA Request
LPSPI4 Rx FIFO Async DMA Request
43LPSPI4ORLPSPI4 Tx FIFO DMA Request
LPSPI4 Tx FIFO Async DMA Request
44LPSPI5ORLPSPI5 Rx FIFO DMA Request
LPSPI5 Rx FIFO Async DMA Request
45LPSPI5ORLPSPI5 Tx FIFO DMA Request
LPSPI5 Tx FIFO Async DMA Request
46LPSPI6ORLPSPI6 Rx FIFO DMA Request
LPSPI6 Rx FIFO Async DMA Request
47LPSPI6ORLPSPI6 Tx FIFO DMA Request
LPSPI6 Tx FIFO Async DMA Request
48LPI2C1ORI2C1 Master Rx FIFO DMA Request
I2C1 Master Rx FIFO Async DMA Request
I2C1 Slave Rx FIFO DMA Request
I2C1 Slave Rx FIFO Async DMA Request
I2C1 Master Tx FIFO DMA Request
I2C1 Master Tx FIFO Async DMA Request
I2C1 Slave Tx FIFO DMA Request
I2C1 Slave Tx FIFO Async DMA Request
49LPI2C2ORI2C2 Master Rx FIFO DMA Request
I2C2 Master Rx FIFO Async DMA Request
I2C2 Slave Rx FIFO DMA Request
I2C2 Slave Rx FIFO Async DMA Request
I2C2 Master Tx FIFO DMA Request
I2C2 Master Tx FIFO Async DMA Request
I2C2 Slave Tx FIFO DMA Request
I2C2 Slave Tx FIFO Async DMA Request
50LPI2C3ORI2C3 Master Rx FIFO DMA Request
I2C3 Master Rx FIFO Async DMA Request
I2C3 Slave Rx FIFO DMA Request
I2C3 Slave Rx FIFO Async DMA Request
I2C3 Master Tx FIFO DMA Request
I2C3 Master Tx FIFO Async DMA Request
I2C3 Slave Tx FIFO DMA Request
I2C3 Slave Tx FIFO Async DMA Request
51LPI2C4ORI2C4 Master Rx FIFO DMA Request
I2C4 Master Rx FIFO Async DMA Request
I2C4 Slave Rx FIFO DMA Request
I2C4 Slave Rx FIFO Async DMA Request
I2C4 Master Tx FIFO DMA Request
I2C4 Master Tx FIFO Async DMA Request
I2C4 Slave Tx FIFO DMA Request
I2C4 Slave Tx FIFO Async DMA Request
52LPI2C5ORI2C5 Master Rx FIFO DMA Request
I2C5 Master Rx FIFO Async DMA Request
I2C5 Slave Rx FIFO DMA Request
I2C5 Slave Rx FIFO Async DMA Request
I2C5 Master Tx FIFO DMA Request
I2C5 Master Tx FIFO Async DMA Request
I2C5 Slave Tx FIFO DMA Request
I2C5 Slave Tx FIFO Async DMA Request
53LPI2C6ORI2C6 Slave Rx FIFO Async DMA Request
I2C6 Master Rx FIFO DMA Request
I2C6 Master Rx FIFO Async DMA Request
I2C6 Slave Rx FIFO DMA Request
I2C6 Master Tx FIFO DMA Request
I2C6 Master Tx FIFO Async DMA Request
I2C6 Slave Tx FIFO DMA Request
I2C6 Slave Tx FIFO Async DMA Request
54SAI1-SAI1 Rx FIFO DMA Request
55SAI1-SAI1 Tx FIFO DMA Request
56SAI2-SAI2 Rx FIFO DMA Request
57SAI2-SAI2 Tx FIFO DMA Request
58SAI3-SAI3 Rx FIFO DMA Request
59SAI3-SAI3 Tx FIFO DMA Request
60SAI4-SAI4 Rx FIFO DMA Request
61SAI4-SAI4 Tx FIFO DMA Request
62SPDIF-SPDIF RX DMA Request
63SPDIF-SPDIF TX DMA Request
64ADC_ETCORADC_ETC eDMA Request
65FI_FXIO1ORFlexIO1 shifter0 Async DMA Request
FlexIO1 shifter0 DMA Request
FlexIO1 shifter1 Async DMA Request
FlexIO1 shifter1 DMA Request
FlexIO1 timer0 DMA Request
FlexIO1 timer0 Async DMA Request
FlexIO1 timer1 DMA Request
FlexIO1 timer1 Async DMA Request
66LPADC1-ADC1 DMA Request
67LPADC2-ADC2 DMA Request
68Reserved-Reserved
69ACMP1-ACMP1 DMA Request
70ACMP2-ACMP2 DMA Request
71ACMP3-ACMP3 DMA Request
72ACMP4-ACMP4 DMA Request
73-76Reserved-Reserved
77FLEXSPI1-FlexSPI1 Rx FIFO DMA Request
78FLEXSPI1-FlexSPI1 Tx FIFO DMA Request
79FLEXSPI2-FlexSPI2 Rx FIFO DMA Request
80FLEXSPI2-FlexSPI2 Tx FIFO DMA Request
81XBAR1-XBAR1_OUT0 DMA request
82XBAR1-XBAR1_OUT1 DMA request
83XBAR1-XBAR1_OUT2 DMA request
84XBAR1-XBAR1_OUT3 DMA request
85FLEXPWM1-FlexPWM1 sub - module0 capture register read DMA request
86FLEXPWM1-FlexPWM1 sub - module1 capture register read DMA request
87FLEXPWM1-FlexPWM1 sub - module2 capture register read DMA request
88FLEXPWM1-FlexPWM1 sub - module3 capture register read DMA request
89FLEXPWM1-FlexPWM1 sub - module0 value registers write DMA request
90FLEXPWM1-FlexPWM1 sub - module1 value registers write DMA request
91FLEXPWM1-FlexPWM1 sub - module2 value registers write DMA request
92FLEXPWM1-FlexPWM1 sub - module3 value registers write DMA request
93FLEXPWM2-FlexPWM2 sub - module0 capture register read DMA request
94FLEXPWM2-FlexPWM2 sub - module1 capture register read DMA request
95FLEXPWM2-FlexPWM2 sub - module2 capture register read DMA request
96FLEXPWM2-FlexPWM2 sub - module3 capture register read DMA request
97FLEXPWM2-FlexPWM2 sub - module0 value registers write DMA request
98FLEXPWM2-FlexPWM2 sub - module1 value registers write DMA request
99FLEXPWM2-FlexPWM2 sub - module2 value registers write DMA request
100FLEXPWM2-FlexPWM2 sub - module3 value registers write DMA request
101FLEXPWM3-FlexPWM3 sub - module0 capture register read DMA request
102FLEXPWM3-FlexPWM3 sub - module1 capture register read DMA request
103FLEXPWM3-FlexPWM3 sub - module2 capture register read DMA request
104FLEXPWM3-FlexPWM3 sub - module3 capture register read DMA request
105FLEXPWM3-FlexPWM3 sub - module0 value registers write DMA request
106FLEXPWM3-FlexPWM3 sub - module1 value registers write DMA request
107FLEXPWM3-FlexPWM3 sub - module2 value registers write DMA request
108FLEXPWM3-FlexPWM3 sub - module3 value registers write DMA request
109FLEXPWM4-FlexPWM4 sub - module0 capture register read DMA request
110FLEXPWM4-FlexPWM4 sub - module1 capture register read DMA request
111FLEXPWM4-FlexPWM4 sub - module2 capture register read DMA request
112FLEXPWM4-FlexPWM4 sub - module3 capture register read DMA request
113FLEXPWM4-FlexPWM4 sub - module0 value registers write DMA request
114FLEXPWM4-FlexPWM4 sub - module1 value registers write DMA request
115FLEXPWM4-FlexPWM4 sub - module2 value registers write DMA request
116FLEXPWM4-FlexPWM4 sub - module3 value registers write DMA request
117 - 132Reserved-Reserved
133QTIMER1-QTIMER1 timer0 capture register read DMA request
134QTIMER1-QTIMER1 timer1 capture register read DMA request
135QTIMER1-QTIMER1 timer2 capture register read DMA request
136QTIMER1-QTIMER1 timer3 capture register read DMA request
137QTIMER1ORQTimer1 timer0 cmpld1 register write DMA request
OR QTimer1 timer1 cmpld2 register write DMA request
138QTIMER1ORQTimer1 timer1 cmpld1 register write DMA request
OR QTimer1 timer0 cmpld2 register write DMA request
139QTIMER1ORQTimer1 timer2 cmpld1 register write DMA request
OR QTimer1 timer3 cmpld2 register write DMA request
140QTIMER1ORQTimer1 timer3 cmpld1 register write DMA request
OR QTimer1 timer2 cmpld2 register write DMA request
141QTIMER2-QTIMER2 timer0 capture register read DMA request
142QTIMER2-QTIMER2 timer1 capture register read DMA request
143QTIMER2-QTIMER2 timer2 capture register read DMA request
144QTIMER2-QTIMER2 timer3 capture register read DMA request
145QTIMER2ORQTimer2 timer0 cmpld1 register write DMA request
OR QTimer2 timer1 cmpld2 register write DMA request
146QTIMER2ORQTimer2 timer1 cmpld1 register write DMA request
OR QTimer2 timer0 cmpld2 register write DMA request
147QTIMER2ORQTimer2 timer2 cmpld1 register write DMA request
OR QTimer2 timer3 cmpld2 register write DMA request
148QTIMER2ORQTimer2 timer3 cmpld1 register write DMA request
OR QTimer2 timer2 cmpld2 register write DMA request
149QTIMER3-QTIMER3 timer0 capture register read DMA request
150QTIMER3-QTIMER3 timer1 capture register read DMA request
151QTIMER3-QTIMER3 timer2 capture register read DMA request
152QTIMER3-QTIMER3 timer3 capture register read DMA request
153QTIMER3ORQTimer3 timer0 cmpld1 register write DMA request
OR QTimer3 timer1 cmpld2 register write DMA request
154QTIMER3ORQTimer3 timer1 cmpld1 register write DMA request
OR QTimer3 timer0 cmpld2 register write DMA request
155QTIMER3ORQTimer3 timer2 cmpld1 register write DMA request
OR QTimer3 timer3 cmpld2 register write DMA request
156QTIMER3ORQTimer3 timer3 cmpld1 register write DMA request
OR QTimer3 timer2 cmpld2 register write DMA request
157QTIMER4-QTIMER4 timer0 capture register read DMA request
158QTIMER4-QTIMER4 timer1 capture register read DMA request
159QTIMER4-QTIMER4 timer2 capture register read DMA request
160QTIMER4-QTIMER4 timer3 capture register read DMA request
161QTIMER4ORQTimer4 timer0 cmpld1 register write DMA request
OR QTimer4 timer1 cmpld2 register write DMA request
162QTIMER4ORQTimer4 timer1 cmpld1 register write DMA request
OR QTimer4 timer0 cmpld2 register write DMA request
163QTIMER4ORQTimer4 timer2 cmpld1 register write DMA request
OR QTimer4 timer3 cmpld2 register write DMA request
164QTIMER4ORQTimer4 timer3 cmpld1 register write DMA request
OR QTimer4 timer2 cmpld2 register write DMA request
165 - 180Reserved-Reserved
181PDMORPDM DMA request
OR PDM DMA async request
182ENET-ENET Timer0 DMA Request
183ENET-ENET Timer1 DMA Request
184ENET_1G-ENET_1G Timer0 DMA Request
185ENET_1G-ENET_1G Timer1 DMA Request
186CAN1-CAN1 DMA Request
187CAN2-CAN2 DMA Request
188CAN3-CAN3 DMA Request
189DAC-DAC DMA Request
190Reserved-Reserved
191ASRC-ASRC pair A input DMA request
192ASRC-ASRC pair B input DMA request
193ASRC-ASRC pair C input DMA request
194ASRC-ASRC pair A output DMA request
195ASRC-ASRC pair B output DMA request
196ASRC-ASRC pair C output DMA request
197EMVSIM1-EMVSIM1 TX DMA Request
198EMVSIM1-EMVSIM1 RX DMA Request
199EMVSIM2-EMVSIM2 TX DMA Request
200EMVSIM2-EMVSIM2 RX DMA Request
201ENET_QOS-ENET_QOS PPS0 output DMA Request
202ENET_QOS-ENET_QOS PPS1 output DMA Request
203 - 207Reserved-Reserved

http://www.dtcms.com/a/305261.html

相关文章:

  • Linux定时器和时间管理源码相关总结
  • 【Unity编辑器扩展】Unity场景选择工具 - ScenesChooseTool 使用指南
  • 项目历程—生命数组游戏(两版本)
  • 智源研究院发布数据魔方,以智能化自定义方式重构模型训练数据供给范式
  • 两数之和(每天刷力扣hot100系列)
  • JDK17 新特性跟学梳理
  • Java注解全面解析与应用实战
  • Redis 跨主机连接超时分析:从网络波动到架构优化
  • 关于算法的一些思考
  • 基于springboot的零食商城的设计与实现/零食销售系统的设计与实现
  • 基于Matlab图像处理的静态雨滴去除与质量评估系统
  • JAVA第五学:方法的使用 调试讲解
  • RAG实战指南 Day 26:RAG系统评估指标与方法
  • 2025年06月 C/C++(二级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • R语言中 read.table 和 read.delim 之间的区别
  • vue中使用wavesurfer.js绘制波形图和频谱图
  • 数学建模算法-day[14]
  • Java中写文件的显示大小实时性
  • 深入理解 boost::lock_guard<boost::mutex>
  • mybatis-plus由mysql改成达梦数据库
  • 【Linux】重生之从零开始学习运维之Mysql事务
  • Python day28
  • 破解企业无公网 IP 难题:可行路径与实现方法?
  • Three.js 渲染优化处理
  • 【C++算法】74.优先级队列_最后一块石头的重量
  • 查找特定的值
  • zama test
  • BGP团体属性
  • Linux部署各类软件
  • 《剑指offer》-算法篇-位运算