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

<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.xdnf.cn/news/16512.html

相关文章:

  • STM32项目分享:智能厨房安全系统(机智云)
  • day064-kodbox接入对象存储与配置负载均衡
  • 并发安全之锁机制一
  • LLM Landscape:2025年大语言模型概览
  • 电子电路原理学习笔记---第4章二极管电路---第3天
  • Python全栈项目--基于深度学习的视频内容分析系统
  • Python与Mysql
  • C++算法实例精讲
  • 分布式微服务--核心组件与架构关系(一)
  • 深度研究——OpenAI Researcher Agent(使用OpenAI Agents SDK)
  • Mac查看本机ip地址
  • Leetcode_242.有效的字母异位词
  • Windows 11 下 Anaconda 命令修复指南及常见问题解决
  • linux du、df命令使用教程
  • node后端-JWT认证
  • Java面试宝典:MySQL事务和事务的隔离级别
  • 《中国棒球》cba球队有哪些球队·棒球1号位
  • qt 心跳包
  • ICPC 2024 网络赛(I)
  • 2.DRF 序列化器-Serializer
  • 如何规范化项目执行
  • 学习Python中Selenium模块的基本用法(2:下载浏览器驱动)
  • Solidity基础(教程④-ERC-4626收益金库)
  • 机器学习sklearn:不纯度与决策树构建
  • Python Pandas.merge_ordered函数解析与实战教程
  • 网络编程概述与UDP编程
  • Faiss 向量数据库详解
  • Redis反弹Shell
  • 【Java基础面试题】Java特点,八种基本数据类型
  • 《Java 程序设计》第 8 章 - Java 常用核心类详解