SMT32H7系列DMA和DMAMUX的一点理解
DMA和DMAMUXDMA无CPU参与下直接进行数据搬运的控制器DMAMUX建立DMA请求和DMA通道之间的映射关系类似于路由的功能。无DMAMUX的MCUDMA请求和DMA通道的映射关系是固定的不能由软件修改。有了DMAMUX可以将DMA请求和DMA通道由软件联系起来实现自定义链接。以STM32H743为例DMAMUX1DMAMUX1_Channel0-15对应DMA1_Stream0-7和DMA2_Stream0-7。DMAMUX2DMAMUX2_Channel0-7对应BDMA_Channel0-7。具体见下图理解仅供参考。触发发生器的例子1.比如外部中断EXTI触发存储器到存储器/外设的DMA请求无DMAMUX的情况下因为EXTI本身没有DMA请求但EXTI要触发DMA只能在EXTI中断中启动DMA配置好存储器到存储器/外设的DMA后然后再EXTI中断中启动DMA。有DMAMUX的情况下触发信号HAL_DMAMUX1_REQ_GEN_EXTI0和信号发生器DMA_REQUEST_GENERATORx关联相当于EXTI0具有了DMA请求然后配置好DMA传输通道配置好EXTI0EXTI0就能触发DMA实现DMA传输了。这里边可能MCU已经做好EXTI边沿信号和DMA启动的关联了不然和在EXTI中断中启动DMA又有什么区别呢。猜测没用过2.比如GPIO触发DMA请求实现存储器到GPIO的数据传输无DMAMUX的情况下GPIO本身没有DMA请求要实现存储器到GPIO的DMA传输需要借用一个DMA请求我当初用的是TIM_UP的DMA请求当然也可以用其它信号只要能产生DMA请求就行然后在DMA配置中按照存储器到外设的DMA配置就行我用这个可以实现输出一段固定波形的信号信号的CLK和TIM周期一致如果这段波形要周期性出现可以用另一个定时器在定时器中断中使能DMA。本质上是外设1-存储器-外设2的传输外设1有DMA请求外设2没有DMA请求用外设1的请求干外设2的事情。有DMAMUX的情况下触发信号HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT和信号发生器DMA_REQUEST_GENERATORx关联产生的DMA请求用作GPIO的DMA请求然后配置DMA传输通道配置LPTIM定时器则启动DMA后LPTIM定时器每次产生1个DMA请求发送1个数据。如果DMA是循环模式则会根据NDTR循环传输如果是正常模式则NDTR传完后DMA自动关闭。同步发生器的例子同步信号主要用于周期启动DMA1.定时进行串口DMA发送数据无DMAMUX的情况串口都有DMA请求不需要触发发生器直接通过外设请求和DMA传输通道关联但是我要定时发送串口数据则需要在一个定时器中断中启动串口DMA发送。有DMAMUX的情况先进行串口外设和DMA传输通道的关联然后选择同步信号HAL_DMAMUX1_SYNC_LPTIM1_OUT关联DMAMUX配置LPTIM实现周期发出同步信号启动DMA。同步信号是用来启动DMA的不是DMA的请求DMA的请求来自串口。重点理解1.触发信号和同步信号都是固定的2.理解触发信号HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT和HAL_DMAMUX1_SYNC_LPTIM1_OUT在两个项目中应用的区别。触发信号相当于DMA请求信号同步信号相当于DMA启动信号。触发信号多用于外设1-存储器-外设2的类型同步信号多用于存储器-外设里的周期性启动DMA的情况。在触发信号HAL_DMAMUX1_REQ_GEN_LPTIM1_OUT下每一次触发信号引起一次DMA请求而一次定时器的DMA请求只能传输一个DMA数据块。在同步信号HAL_DMAMUX1_SYNC_LPTIM1_OUT下一次同步信号启动一次DMADMA会传输完设定长度的数据而不是单个数据块。只是理解没有过多验证。

相关新闻

不同使用场景下的DMA地址

不同使用场景下的DMA地址

不同使用场景下的 DMA 地址总结如下:使用场景DMA 地址(设备眼中)的真实身份数据流经的物理路径Device ↔ Host (无 IOMMU)主机系统 RAM 的物理地址Device → PCIe Switch → CPU Root Port → System RAMDevice ↔ Host (有 IOMMU)IOMMU 映射…

2026/10/17 6:59:09 阅读更多 →
Switch 游戏安装一步到位:开源工具 Awoo Installer 使用指南,四种格式三条通道全搞定

Switch 游戏安装一步到位:开源工具 Awoo Installer 使用指南,四种格式三条通道全搞定

Switch 游戏安装一步到位:开源工具 Awoo Installer 使用指南,四种格式三条通道全搞定 【免费下载链接】Awoo-Installer A No-Bullshit NSP, NSZ, XCI, and XCZ Installer for Nintendo Switch 项目地址: https://gitcode.com/gh_mirrors/aw/Awoo-Insta…

2026/10/17 6:59:30 阅读更多 →
数据结构面试题解析:用两个队列实现栈的核心思路与代码实现

数据结构面试题解析:用两个队列实现栈的核心思路与代码实现

1. 项目概述:从一道经典面试题说起如果你刷过数据结构与算法的面试题,那么“用两个队列实现一个栈”这道题,你大概率见过。它不像“反转链表”那样直接,也不像“二叉树遍历”那样花样繁多,但它却像一块极佳的“试金石”…

2026/10/17 7:02:17 阅读更多 →

最新新闻

红色党建风工作总结PPT模板:从空白页到成稿的工程化流程

红色党建风工作总结PPT模板:从空白页到成稿的工程化流程

简介:这是一套面向党政部门的工作总结PPT模板,整体采用红色党建风格,视觉庄重且富有感染力,适合年终总结、阶段汇报、主题教育展示等场合。模板内置完整汇报逻辑,共分为工作目标与背景、工作成果与亮点、挑战与解决方案…

2026/10/18 15:49:14 阅读更多 →
信息化教学设计PPT模板实操指南:拆结构、改版式、避雷区

信息化教学设计PPT模板实操指南:拆结构、改版式、避雷区

简介:一套面向教师和教学设计人员的信息化教学设计高端PPT模板,以教学分析、教学设计、教学过程、教学反思为主线,覆盖课程结构、学情分析、教学重难点等关键环节,旨在帮助教师快速搭建符合现代教育理念的课件框架,减少…

2026/10/18 15:49:14 阅读更多 →
电力AI技术栈全解析:从数据接入到模型部署的实战指南

电力AI技术栈全解析:从数据接入到模型部署的实战指南

1. 电力遇上AI:为什么数据技术栈决定项目天花板做了这么多年电力行业的数据项目,我越来越确信一件事:电力系统的智能化转型,卡点从来不在算法,而在数据技术栈的搭建上。很多人一听到“电力|数据|ai技术栈”这个组合&am…

2026/10/18 15:49:14 阅读更多 →
C#上位机集成YOLO实现产线视觉检测:从ONNX部署到PLC联调的全流程实践

C#上位机集成YOLO实现产线视觉检测:从ONNX部署到PLC联调的全流程实践

几个月前,我们团队接手了一个产线级视觉检测项目,需求本身不复杂:C#上位机控制工业相机拍照,调用YOLO模型做缺陷检测,再把结果同步给PLC实现自动分拣。从实验室里跑通Demo到产线上稳定运行,这中间踩的坑远比…

2026/10/18 15:49:14 阅读更多 →
信息化教学设计高端模板:从框架到视觉的实战指南

信息化教学设计高端模板:从框架到视觉的实战指南

简介:信息化教学设计高端模板是一份面向教师、教研员及师范生的演示文稿,围绕教学分析、教学设计、教学过程、教学反思四个环节搭建完整备课框架。模板将课程结构、教学内容、教学目标、教学重点、学情分析与教学难点系统梳理,帮助使用者在课…

2026/10/18 15:49:14 阅读更多 →
猫抓资源嗅探扩展:网页视频怎么保存,M3U8 分片如何合并下载

猫抓资源嗅探扩展:网页视频怎么保存,M3U8 分片如何合并下载

猫抓资源嗅探扩展:网页视频怎么保存,M3U8 分片如何合并下载 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 猫抓&#xff0…

2026/10/18 15:48:14 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →