单片机
文章平均质量分 84
单片机(英语:Single-chip microcomputer,台湾作单晶片,全称单芯片微型计算机),是把中央处理器、存储器、定时/计数器(timer/counter)、各种输入输出接口等都集成在一块集成电路芯片上的微型计算机。与应用在个人计算机中的通用微处理器相比,它更强调自供应(不用外接硬件)
wdfk_prog
个人博客: wdfk-prog.space
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
MCU学习笔记系列
MCU学习笔记摘要 本系列文章涵盖MCU开发中的多个实用技术主题: 硬件问题解决:ADC+DMA数组更新异常、SDRAM地址配置、HAL_DMA_ERROR_FE错误等实际问题的解决方法 低功耗优化:详细分析FreeRTOS Tickless模式下349tick限制的原因 驱动开发:MAX14830多串口扩展驱动、M104BPCSX-5024 RFID驱动等开源实现分析 调试技巧:KEIL AC6编译器结合CmBacktrace和addr2line的异常追踪方法 算法优化:FNV-1a 64位哈希在32位M原创 2026-07-31 15:37:27 · 106 阅读 · 0 评论 -
嵌入式面试真题第 17 题:资源受限系统中的分层低功耗与低延迟唤醒架构设计
面向资源受限嵌入式系统,文章提出分层低功耗与低延迟唤醒架构:按场景选择睡眠深度,以快速路径先处理关键事件,异步恢复时钟、外设与业务模块,并结合上下文保留、依赖管理、时延预算、能耗模型和异常降级,在待机功耗、交互速度与系统稳定性之间取得平衡。原创 2026-07-24 11:36:42 · 483 阅读 · 0 评论 -
嵌入式面试真题第 16 题:嵌入式设备休眠电流异常的通用定位与低功耗治理
本文建立嵌入式设备休眠电流异常的通用定位方法,从基线测量、最小固件、GPIO状态、外设断电、漏流路径、时钟树与唤醒源逐层排查,并结合分阶段二分法、功耗差值记录及开源低功耗框架,形成可复用的分析、验证、量化和治理流程。适用于多类资源受限产品。原创 2026-07-24 09:25:08 · 554 阅读 · 0 评论 -
嵌入式面试真题第 15 题:不可恢复异常后的通用崩溃快照、调用栈保存与离线分析架构
文章围绕不可恢复异常后的通用崩溃快照设计,讲解异常入口、MSP/PSP判定、寄存器与栈帧保存、保留RAM和预留Flash落盘、原子提交、CRC校验、二次故障防护、RTOS与多核适配,以及基于ELF和Map文件的离线回溯与故障定位全流程方法。原创 2026-07-22 09:23:18 · 462 阅读 · 0 评论 -
嵌入式面试真题第 14 题:防范业务逻辑死锁的系统健康监督与看门狗设计
传统看门狗只判断任务是否存活,无法识别业务死锁、活锁、队列堵塞和状态停滞。本文提出分布式健康监督方案,通过任务心跳、状态推进、锁超时、调度异常和故障快照判定系统健康,仅在全部条件满足时喂狗,异常时停止喂狗并保留证据,实现可靠复位与快速定位。原创 2026-07-22 00:15:00 · 518 阅读 · 0 评论 -
嵌入式面试真题第 13 题:单硬件 Timer 下的高精度多路软件定时器架构设计
本文讲解单硬件 Timer 构建微秒级多路软件定时器通用架构,涵盖绝对时间基准、最小堆调度、极简 ISR、回调线程化、并发取消、周期漂移修正、过载保护与精度测试,并结合 Linux hrtimer、Zephyr、FreeRTOS 分析取舍。原创 2026-07-21 10:46:03 · 500 阅读 · 0 评论 -
嵌入式面试真题第 12 题:资源受限长期运行系统的确定性内存管理与内存池架构设计
面向资源受限且需长期稳定运行的嵌入式系统,提出以静态分配、固定块内存池、专用对象池、环形缓冲和零拷贝为核心的确定性内存架构,并通过容量量化、耗尽降级与运行监控,消除外部碎片,约束最坏分配时延,提升故障可观测性和系统可靠性,保障长期稳定运行。原创 2026-07-21 10:20:31 · 374 阅读 · 0 评论 -
嵌入式面试真题第 11 题:RTOS 优先级翻转与实时任务阻塞的通用治理
本文系统解析RTOS优先级翻转与实时任务阻塞的形成机制,覆盖互斥锁、共享总线、内存池和驱动资源竞争,并结合优先级继承、优先级上限、服务任务、无锁化、临界区缩短、资源仲裁和Trace追踪,给出兼顾实时性、稳定性与可维护性的通用治理方案及实践。原创 2026-07-15 09:36:56 · 1024 阅读 · 0 评论 -
嵌入式面试真题第 10 题:高优化等级下共享状态可见性、内存模型与系统级同步设计
文章从编译器优化、寄存器驻留、CPU乱序执行、Cache一致性、DMA与中断并发等角度,解析-O3下共享状态“失效”的根因,说明volatile并非同步机制,并给出基于原子操作、内存屏障、RTOS事件、消息队列和单一所有者模型的系统级方案。原创 2026-07-14 09:47:32 · 585 阅读 · 0 评论 -
嵌入式面试真题第 09 题:非易失性存储局部失效下的通用持久化容错架构设计
本文围绕非易失性存储局部失效,系统讲解坏块检测、隔离重映射、事务提交、冗余校验、磨损均衡与降级恢复,并结合LittleFS、UBI/UBIFS、NVS等开源方案,给出适用于NOR、NAND、EEPROM及eMMC的通用容错设计及验证思路。原创 2026-07-14 00:15:00 · 355 阅读 · 0 评论 -
嵌入式面试真题第 08 题:多中断源竞争下关键实时事件丢失的系统化诊断与中断架构设计
本文聚焦多中断源竞争导致关键实时事件延迟、抖动与漏处理问题,从硬件触发、NVIC优先级、临界区、ISR负载、DMA缓冲和RTOS阈值入手,给出分层诊断、优先级矩阵、轻量中断、异步搬运、延迟观测及压力验证方案,并结合主流开源实现解析落地原理原创 2026-07-13 11:27:51 · 403 阅读 · 0 评论 -
嵌入式面试真题第 07 题:电源纹波影响 ADC 电量采样的软件滤波
针对电源纹波导致的ADC电量采样波动,可通过同步采样、过采样去极值、中值与低通滤波、固定频率陷波、内部参考校准和负载状态补偿降低误差,并结合充放电状态机、滞回及慢速更新策略,避免电量百分比频繁跳变,提高电压估算精度、显示稳定性及系统可靠性。原创 2026-07-13 10:03:29 · 568 阅读 · 0 评论 -
嵌入式面试真题第 06 题:I2C SDA 被拉低死锁后的软件恢复
样机因I2C从设备拉低SDA,导致主控等待ACK时死锁。软件应在超时后关闭I2C外设,将SCL、SDA切为开漏GPIO,输出9个时钟脉冲促使从设备释放总线,再生成STOP条件、复位并初始化控制器;若失败,则复位或断电重启从设备,并记录故障。原创 2026-07-10 15:05:26 · 374 阅读 · 0 评论 -
嵌入式面试真题第 5 题:高温下 SPI 读取 Sensor 偶发乱码定位
本文围绕高温环境下 SPI 读取 Sensor 偶发乱码问题,系统分析时序裕量、CPOL/CPHA 配置、信号完整性、电源噪声及器件温漂等风险,并给出日志校验、降频对比、示波器测量、故障复现与验证矩阵等定位流程和改进方法,适用于工程排障与面试作答。原创 2026-07-10 10:41:59 · 405 阅读 · 0 评论 -
嵌入式面试真题第 04 题:资源受限设备中的低功耗短时事件识别架构
在资源受限设备中,基于低成本低维度传感器与MCU,通过低功耗粗筛、短窗口采样、特征提取、状态机判决和业务门控,识别敲击、碰撞等短时事件,并在功耗、误报率与检测率之间取得工程平衡,适用于可穿戴、耳机、遥控器和电池供电终端等产品形态的通用方案。原创 2026-07-07 09:14:20 · 362 阅读 · 0 评论 -
嵌入式面试真题第 03 题:固定周期后台事件导致实时链路瞬态扰动的定位与自动化测试
本文面向长时间运行的实时数据流系统,说明固定周期后台事件如何通过资源竞争、计数边界、时钟切换或日志写入引发瞬态扰动,并给出基于统一时间轴、关键打点、波形采集和自动回捞日志的定位与测试方案,帮助将偶现问题收敛为可复现、可度量、可验证的根因。原创 2026-07-06 09:07:54 · 363 阅读 · 0 评论 -
嵌入式面试真题第 02 题:多源信号时间戳偏差的补偿与重同步架构
嵌入式面试第02题封面,围绕多源信号时间戳偏差补偿与重同步,抽象有线/无线链路中时钟漂移、乱序、丢包等导致的业务扰动问题,要求设计通用时间对齐、缓冲重排、软硬同步、状态机与降级策略,并兼顾稳定性、误判控制和实时业务连续性与可观测性设计要求。原创 2026-07-06 08:26:06 · 486 阅读 · 0 评论 -
嵌入式面试真题第 01 题:低速 Flash 与 1MB SRAM 下的通用缓存架构设计
围绕低速Flash与1MB SRAM的资源读取场景,说明如何通过Ring Buffer、Block Cache、Segment Cache、水位线、预读线程与容量量化,构建不卡顿、可扩展的通用缓存架构,并结合Linux机制参考,便于面试表达原创 2026-07-04 17:40:15 · 354 阅读 · 0 评论 -
由于 Cortex-M 栈未满足 8 字节对齐导致的问题与原因分析
Cortex-M栈8字节对齐问题分析 摘要: 本文分析了Cortex-M架构中栈必须8字节对齐的原因及后果。根据AAPCS32标准,函数调用边界处栈指针必须8字节对齐,以确保8字节数据的正确访问。未对齐可能导致变参函数读取错误、64位数据异常及偶发崩溃,但普通函数可能不受影响。文章详细介绍了不同工具链(GCC/Keil/IAR)中检查栈对齐的方法,并强调了启动代码、异常入口和RTOS任务栈初始化的对齐要求。最后给出了修改链接脚本和启动代码以满足8字节对齐的具体建议。原创 2026-07-01 23:45:00 · 644 阅读 · 0 评论 -
面向 MCU 与 RTOS 的 Newlib、Newlib-nano、`--specs=nano.specs` 与 `_REENT_SMALL` 说明
Newlib 在 MCU/RTOS 开发中的使用指南 摘要 本文介绍了 newlib 和 newlib-nano 在 MCU/RTOS 嵌入式开发中的应用。主要内容包括: 核心概念: newlib 是面向嵌入式系统的 C 标准库实现 newlib-nano 是优化体积和内存占用的变体 --specs=nano.specs 用于启用 newlib-nano _REENT_SMALL 宏用于优化线程局部存储结构 工程建议: MCU 项目通常应使用 newlib-nano 需要提供底层适配函数(如 _write、原创 2026-06-17 14:47:55 · 742 阅读 · 0 评论 -
MCU内核电压不稳导致程序跑飞的现象、原因与影响
本文分析了MCU内核电压不稳定导致程序跑飞的问题。主要现象包括运行随机异常、故障点不固定、降频后缓解等。根本原因是供电电路未按规格设计,如关键引脚连接不当、外部电容配置错误或PCB布局不合理。这种硬件问题会导致指令执行异常、外设失控,降低系统可靠性,且易被误判为软件故障。建议严格按规格书检查供电设计,优化PCB布局,临时降频措施不能替代硬件整改。该问题的本质是供电设计缺陷导致的系统级不稳定,需从硬件层面根本解决。原创 2026-04-01 16:40:34 · 587 阅读 · 0 评论 -
FNV-1a 64-bit 在 MCU-32bit 上的实现与取舍:从原理、代码到适用边界
本文深入解析了FNV-1a 64位哈希算法在32位MCU上的实现要点。文章首先指出核心问题不在于32位MCU能否处理64位整数,而在于理解算法原理、实现细节和适用场景。FNV-1a算法通过异或和乘法两步操作完成状态更新:异或操作将输入字节注入状态,乘法操作扩散状态变化。文章详细分析了FNV_Prime和offset_basis常量的设计原理,并比较了32位和64位版本的区别。通过剖析32位参考实现,展示了如何将算法分解为可移植的步骤,并提供了64位版本的完整实现示例。最后,文章建议采用增量式接口设计,以适应原创 2026-03-30 09:43:43 · 519 阅读 · 0 评论 -
一次由 C 位域非原子写入引发的状态上报异常
摘要: 嵌入式控制固件中出现传感器状态持续触发但心跳报文长期上报为0的异常,排查发现根源在于C语言位域写入的非原子性。多个执行上下文并发写入同一心跳报文对象时,位域的读改写操作导致状态位被覆盖。具体表现为:传感器状态位被错误覆盖后,因滤波逻辑未检测到变化而不再更新,使错误状态持续。解决方案包括避免多上下文直接写入共享位域对象、建立单写者模型或保护写入与快照操作。该案例警示:packed位域不适合作为多线程共享状态容器,位域写入本质是非原子操作,需在编码规范中明确约束以避免类似问题。 (字数:149)原创 2026-03-21 10:00:38 · 486 阅读 · 0 评论 -
MAX14830 可移植 C 驱动实现分析:一个适合多串口扩展场景的开源基础版本
本文分析了开源项目wdfk-prog/max14830实现的MAX14830多串口扩展芯片的C语言驱动。该驱动采用平台无关设计,通过HAL抽象层实现可移植性,适合嵌入式系统中串口资源扩展需求。目前支持SPI模式下4路UART的基础配置、FIFO收发及16路GPIO控制,但尚未实现中断和I2C功能。项目结构清晰,边界明确,接入方式简单,可作为多串口扩展方案的开发起点,尤其适用于硬件调试和驱动封装的基础层实现。开发者需注意外部晶振频率配置等关键细节。原创 2026-03-19 10:39:16 · 686 阅读 · 1 评论 -
M104BPCSX-5024 RFID 驱动与应用层开源实现分析
本文分析了开源项目 wdfk-prog/m104bpcsx_5024 实现的 RFID 驱动与应用层方案。该项目围绕 M104BPCSX-5024 RFID 模块,构建了完整的嵌入式实现框架,主要特点包括: 采用分层架构设计,将协议处理、驱动实现和应用逻辑分离; 通过统一接口抽象支持 SPI 和 UART 两种通信方式; 实现基于 RTOS 的多通道轮询管理; 采用软件模拟空闲检测机制处理桥接芯片通信; 集成低功耗控制策略; 通过 CAN 总线实现检测结果上报。 该项目不仅完成了 RFID 基础功能,更体现原创 2026-03-19 10:18:11 · 396 阅读 · 0 评论 -
Qboot V2:让 Bootloader 从“能升级”走向“可持续演进”
Qboot V2:构建可持续演进的Bootloader框架 Qboot V2标志着Bootloader设计从基础功能实现向可持续架构演进的重要转变。相比注重快速落地的V1版本,V2通过五大核心升级构建了更完善的升级框架体系: 可插拔存储架构:实现多后端存储支持,突破单一介质限制 算法注册机制:将压缩/加密算法从功能选项升级为可扩展框架 流式处理模型:优化资源受限环境下的升级流程 状态管理系统:强化升级过程的可管理性和可靠性 工程化工具链:提升自动化发布和持续集成能力 这些改进使Qboot V2不仅能满足当前原创 2026-03-17 09:43:00 · 420 阅读 · 0 评论 -
便携式功耗分析仪LuatOS IoT Power vs. Nordic PPK2
摘要: 本文对比评测两款便携式功耗分析仪:LuatOS IoT Power与Nordic PPK2。LuatOS IoT Power为手持设备,具备独立屏幕和操作功能,强调便携性和即开即用,适合现场调试;Nordic PPK2则依赖PC软件,提供更高精度(100nA分辨率)和100KHz采样率,并集成8通道逻辑分析仪,适合专业开发者进行代码级功耗优化。IoT Power在通用性和易用性上占优,而PPK2在纳安级测量和逻辑分析方面更具优势。推荐创客选IoT Power,专业开发者选PPK2,预算充足者可互补使原创 2025-11-01 16:31:11 · 1323 阅读 · 0 评论 -
NBM7100电池能量管理芯片及其驱动代码分享
如果你正在为设备的“续航焦虑”而烦恼,或者对高级电源管理技术充满好奇,那么,立即去GitHub上Star并深入研究这个“宝藏”项目吧。仓库的真正价值,在于它远远超出了一个基础驱动的范畴。作者将NBM7100与真实的LoRaWAN应用场景深度结合,并解决了大量实际工程中才会遇到的“坑”。它并非一个简单的LDO或DC-DC,而是一个智能的能量“搬运工”。它向我们展示了如何通过精巧的硬件选型和细致的软件设计,突破电池物理瓶颈,将低功-耗物联网设备的续航能力推向一个新的高度。后及时切回“充电”模式,是集成的关键。原创 2025-11-01 16:23:46 · 1066 阅读 · 0 评论 -
一个开源的CANopen转Modbus网关
一个开源的CANopen转Modbus网关在RT-Thread上的实现原创 2025-11-01 14:32:13 · 902 阅读 · 0 评论 -
不止是驱动:一个专心设计的、基于“构建器”模式的传感器管理框架
本文介绍了一种嵌入式传感器管理框架sensor,旨在解决传统开发中驱动接口不统一、逻辑重复和应用耦合的问题。框架采用分层设计:驱动层负责硬件通信,核心层通过构建器(Builder)实现标准化的数据处理流程(采集、校准、报警等),应用层只需配置业务逻辑。以DS18B20为例,展示了注册驱动、配置构建器和启动流程三个步骤。该框架显著提高了代码复用性和可维护性,使开发者能够专注于业务需求而非底层细节,适用于复杂的物联网传感器系统开发。原创 2025-11-01 14:25:34 · 901 阅读 · 0 评论 -
结合QBoot与HPatchLite实现高效差分升级(FOTA)
本文介绍了RT-Thread系统中基于QBoot和HPatchLite的差分升级方案。传统全量升级消耗带宽大、耗时长,差分升级通过仅传输新旧固件差异部分解决这一问题。方案分为PC端生成差分包和设备端执行升级两大阶段:PC端使用hdiffi工具生成补丁,再用打包工具封装为QBoot格式;设备端通过QBoot引导加载程序调用HPatchLite库完成升级,支持Flash Swap和RAM Buffer两种缓冲策略以适应不同资源限制。文章详细阐述了分区规划、配置方法和核心机制,为物联网设备提供了一种高效可靠的固件原创 2025-11-01 13:55:57 · 1231 阅读 · 0 评论 -
ART-Pi开发者的福音:一个“宝藏级”实践仓库,点亮你的学习之路
ART-Pi实用开发资源:RT-Thread实战案例集 GitHub仓库wdfk-prog/ART-PI为ART-Pi开发板(STM32H750)提供了一套完整的RT-Thread实战项目,涵盖存储管理、文件系统、物联网应用等核心功能。该仓库通过FAL分区、LittleFS文件系统、自定义MSH命令等示例,帮助开发者快速跨越基础到实战的鸿沟。其模块化代码结构支持直接移植,适用于初学者学习RT-Thread内核,或开发者加速IoT项目原型搭建。项目开箱即用,配合RT-Thread Studio可实现快速验证,原创 2025-11-01 14:17:38 · 997 阅读 · 0 评论 -
RT-Thread调试利器:get_irq_priority——像Keil一样在MSH中查看和设置中断优先级
摘要:RT-Thread软件包get_irq_priority提供了一种无需硬件调试器即可实时查询和设置中断优先级的方法。它通过MSH命令实现中断状态全景展示、多维排序和动态优先级调整,解决了嵌入式开发中中断调试的痛点问题。该工具基于CMSIS标准API,支持主流Cortex-M内核MCU,显著提升了调试效率、增强了系统透明度,特别适合现场设备维护和RTOS学习。项目地址:https://github.com/wdfk-prog/rt-thread-get_irq_priority。(149字)原创 2025-11-01 14:11:11 · 1195 阅读 · 0 评论 -
ARM Cortex-M内核中DMA内存地址对齐的影响与效率权衡
摘要: ARM Cortex-M4/M7内核中,DMA访问未对齐内存地址会导致性能下降、硬件故障风险及缓存一致性等问题。性能损失源于未对齐访问被拆分为多次总线事务,而受限内存区域的未对齐访问可能触发Hard Fault。针对大数据传输,"预拷贝至对齐缓冲区+DMA"方案效率更高,但需额外内存;小数据场景可直接使用未对齐DMA。最佳实践包括编译时对齐缓冲区、动态对齐分配及合理配置MPU。选择策略需权衡时间效率、内存占用和系统稳定性。原创 2025-09-23 09:04:17 · 1561 阅读 · 0 评论 -
SPI通信模式及其对DMA控制器配置策略的影响
SPI通信模式与DMA配置冲突分析 本文深入探讨了SPI协议的通信模式及其对DMA控制器配置的影响。SPI作为全双工同步串行接口,其物理层数据传输具有严格的同步性:发送和接收在同一个时钟周期内完成。文章分析了三种主要通信模式:全双工、半双工和三线单工,并重点指出"阻塞式发送+DMA接收"组合在全双工模式下的不可行性。这种配置破坏了SPI协议的同步机制,可能导致数据丢失或RX FIFO溢出,因为接收依赖于发送产生的时钟信号。正确的做法是使用统一的传输函数(如HAL_SPI_Transmit原创 2025-09-22 13:20:41 · 1325 阅读 · 0 评论 -
STM32H7系列微控制器SPI FIFO阈值配置对高速数据传输稳定性的影响
本文分析了STM32H7系列微控制器SPI接口中FIFO阈值配置对高速数据传输稳定性的影响。研究发现,当FIFO阈值设置为较高的SPI_FIFO_THRESHOLD_08DATA时,在高速SPI时钟下容易因DMA响应延迟导致发送下溢错误,引发系统挂起。通过将阈值调整为SPI_FIFO_THRESHOLD_01DATA,可建立即时数据补充机制,确保FIFO永不空置,从而消除时序竞争风险。虽然该调整会略微增加DMA请求频率,但在STM32H7高性能平台上影响甚微,却可显著提升系统稳定性。这一案例揭示了在嵌入式系原创 2025-09-22 11:56:53 · 1437 阅读 · 0 评论 -
ubantu st-link 调试
本文介绍了Linux环境下STM32开发环境的搭建流程,主要包括: 软件包管理:使用dpkg -i安装.deb文件 工具链安装: 手动安装gcc-arm-none-eabi交叉编译器,配置环境变量 创建符号链接设置arm-none-eabi-gdb等工具 调试工具部署: 安装ST-Link驱动 编译安装OpenOCD 0.12.0,配置ST-Link接口 调试配置: 通过telnet连接OpenOCD控制目标芯片 配置VSCode的tasks.json实现单步调试功能 (字数:149)原创 2025-02-15 09:35:47 · 1012 阅读 · 0 评论 -
STM32系列微控制器DMA寄存器写入失败的解决方法
摘要: 本文分析了STM32微控制器中DMA寄存器写入失败的两种主要原因:未使能DMA外设时钟和运行时修改已激活的DMA流配置。首先,DMA控制器的AHB总线时钟未开启会导致寄存器访问完全失效。其次,若DMA流的使能位(EN=1)处于激活状态,硬件会锁定关键配置寄存器(如DMA_SxCR),导致写入被忽略。解决方法是:确保时钟初始化后,遵循“禁用-配置-使能”的原子操作流程修改DMA流。本文通过代码示例和流程图,提供了系统化的诊断步骤和最佳实践,帮助开发者规避此类问题,确保DMA传输的可靠性。 关键词: S原创 2025-09-18 15:35:11 · 1267 阅读 · 0 评论 -
STM32CubeIDE 调试“失灵”之谜:别动那个关键的复选框
文章摘要 STM32CubeIDE中“Build before launching”选项的关闭可能导致调试功能“失灵”。该选项确保在调试前自动编译最新代码,生成匹配的.elf文件。取消勾选后,IDE会使用旧版文件,引发调试断点失效、逻辑不符等问题,甚至因文件缺失导致调试无响应。解决方法是进入Preferences > Run/Debug > Launching,勾选该选项。保持此设置可避免“调试幽灵代码”,确保开发效率。这是保证代码与调试一致性的关键设置,建议始终启用。原创 2025-09-10 16:05:12 · 1059 阅读 · 0 评论 -
STM32高性能DMA架构解析:MDMA与DMA的核心差异及最佳实践
摘要:STM32高性能MCU采用分层DMA架构,包含传统DMA/BDMA和更强的MDMA控制器。DMA/BDMA如同"专属快递员",专注外设数据传输,响应快、功耗低;MDMA则像"中央物流中心",通过64位AXI总线实现高速内存操作,支持复杂任务。二者协同工作可构建高效DMA链,MDMA的链表模式还能实现无CPU干预的分散-聚集操作。设计时应遵循"简单任务用DMA,复杂批量用MDMA"的原则,以优化系统性能与功耗。这种架构使STM32H7/U5系列原创 2025-08-19 11:17:57 · 2192 阅读 · 0 评论
分享