蘑
菇
助手
MCU助手 · 单片机工具箱
登录
注册
🏠
首页
🧰
工具
📖
文库
❓
问答
✍️
提问
🏠 首页 /
技术文库
📖 技术文库
STM32 / Arduino / RTOS / 嵌入式 知识文章
全部
STM32
STM32 定时器
STM32 串口
STM32 ADC
Arduino 入门
STM32 看门狗
STM32 I2C
STM32 DMA
STM32 低功耗
STM32 编码器
RTOS RTOS
STM32 PWM
嵌入式 IO
STM32 SPI
STM32 中断
STM32 时钟
STM32 存储
Arduino 进阶
ESP32 WiFi
嵌入式 协议
STM32 CAN
STM32 USB
STM32 RTC
STM32 DAC
STM32 GPIO
STM32 传感器
嵌入式 架构
STM32 Boot
嵌入式 调试
STM32 电机
嵌入式 PCB
ESP32 低功耗
STM32 寄存器
嵌入式 C语言
STM32 架构
STM32 显示
STM32 外设
嵌入式 内存
STM32 工具
STM32 调试
嵌入式 稳定性
嵌入式 电源
STM32 安全
嵌入式 RTOS
嵌入式 存储
STM32 Bootloader
STM32 协议
ESP32 物联网
ESP32 OTA
ESP32 蓝牙
嵌入式 显示
嵌入式 驱动
嵌入式 电机
STM32 入门
RTOS 看门狗
嵌入式 CAN
项目 实战
嵌入式 控制
嵌入式 蓝牙
嵌入式 传感器
嵌入式
展开全部分类 (54)
STM32 内部 Flash 模拟 EEPROM 的磨损均衡实现:页交换 + 元数据双备份
嵌入式 · 👁 3 阅读
STM32 内部 Flash 擦写寿命仅约 1 万次,直接模拟 EEPROM 频繁写入会快速损坏。本文提出页交换与元数据双备份结合的磨损均衡方案:将两页 Flash 作为交替存储区,每次写入追加数据并更新元数据,写满后擦除旧页并交换角色。元数据双备份确保掉电时数据可恢复。方案显著延长 Flash 寿命,适用于参数存储等场景。
STM32H7 的 D-Cache 与 DMA 一致性排查:从 Cache Line 对齐到 MPU 配置的完整避坑指南
嵌入式 · 👁 5 阅读
STM32H7 高性能 Cortex-M7 内核带 D-Cache,能大幅提升数据访问效率,却常导致 DMA 传输数据错乱。本文从 Cache Line 对齐、MPU 配置、Clean/Invalidate 操作入手,详解 D-Cache 与 DMA 一致性问题的根源,提供完整的排查步骤与可运行代码示例,并总结常见避坑要点,帮助嵌入式开发者彻底解决数据不一致难题。
STM32H7 D-Cache与DMA数据一致性:Clean/Invalidate误用导致的偶发数据错乱排查实录
嵌入式 · 👁 4 阅读
本文记录一次STM32H7项目中,因D-Cache与DMA交互时Clean/Invalidate操作误用,导致串口DMA接收数据偶发错乱的排查过程。从现象复现、原理分析到代码修正,详细讲解Cache一致性维护的正确姿势,并给出可复用的驱动模板与避坑指南,适合有一定STM32基础的开发者。
STM32H7 的 D-Cache 与 DMA 数据一致性:SCB_CleanDCache_by_Addr 的正确用法与踩坑记录
嵌入式 · 👁 4 阅读
STM32H7 的高性能得益于 Cortex-M7 的 D-Cache,但这也给 DMA 传输带来了数据一致性问题。本文深入剖析 D-Cache 与 DMA 冲突的根源,详解 SCB_CleanDCache_by_Addr 等维护函数的正确用法,并分享实际项目中常见的踩坑案例与解决方案,帮助开发者避开陷阱,提升系统稳定性。
用 DWT 的 CYCCNT 做无侵入式函数级耗时统计:精度、溢出与多任务下的修正
嵌入式 · 👁 4 阅读
在嵌入式开发中,函数级耗时统计对性能优化至关重要。本文介绍如何利用 Cortex-M 内核的 DWT 单元中的 CYCCNT 计数器,实现无侵入、高精度的耗时测量。内容涵盖 DWT 原理、配置步骤、完整代码示例,并深入分析精度、溢出处理及多任务环境下的修正方法,帮助开发者在 STM32 等平台上快速定位性能瓶颈。
STM32H7 的 DCache 与 DMA 一致性:MPU 配置回写策略与实测性能对比
嵌入式 · 👁 3 阅读
STM32H7 的高性能伴随 DCache 与 DMA 的数据一致性问题。本文深入剖析 Cortex-M7 的 Cache 行为,详解 MPU 配置回写策略,对比 Write-Through 与 Write-Back 模式下的 DMA 传输性能,并提供完整代码与避坑指南,助你平衡性能与数据正确性。
STM32H7 的 MPU 配置与 Cache 一致性:DMA 收发数据偶发错位的排查与解决
嵌入式 · 👁 4 阅读
STM32H7 的高性能带来 Cache 与 DMA 的数据一致性问题,常导致 DMA 收发数据偶发错位。本文从原理出发,分析 Cortex-M7 的 Cache 与 MPU 机制,给出完整的 MPU 配置步骤与代码,并结合实际案例讲解如何排查与解决 DMA 数据错位问题,最后总结注意事项,帮助开发者彻底规避此类陷阱。
STM32H7 FMC同步模式驱动NOR Flash:从ns到寄存器——DATAST/ADDHLD/BUSTURN时序参数反推配置实战
嵌入式 · 👁 3 阅读
STM32H7的FMC同步模式可大幅提升NOR Flash吞吐率,但时序配置常令人困惑。本文从NOR Flash数据手册的ns级参数出发,推导FMC时序寄存器中DATAST、ADDHLD、BUSTURN的计算方法,给出完整配置代码与验证要点,帮助开发者精准匹配时序,避免读写错误。
STM32H7 的 D-Cache 与 DMA 一致性排查:用 MPU 配置回写策略避免数据错位
嵌入式 · 👁 21 阅读
STM32H7 高性能内核带 D-Cache,能大幅提升数据访问效率,但也给 DMA 传输带来缓存一致性难题:CPU 写入的数据可能停留在 Cache 中未写回内存,DMA 读取到旧数据;DMA 写入内存的新数据又可能被 Cache 中的旧值覆盖。本文从原理出发,分析问题现象,给出 MPU 配置回写策略的完整步骤与代码,并总结避坑要点,帮助开发者彻底解决数据错位问题。
STM32H7 的 D-Cache 与 DMA 一致性坑:按行清理与按地址清理的实测差异与选型建议
嵌入式 · 👁 21 阅读
STM32H7 的高性能离不开 D-Cache,但 DMA 与 Cache 的一致性却常让开发者踩坑。本文深入剖析按行清理(Cache Line)与按地址清理(按变量)的实测差异,通过 ADC+DMA 实例展示数据错位、覆盖等典型现象,并给出基于 MPU 配置、对齐处理与清理策略的选型建议,助你避开 H7 开发中最隐蔽的陷阱。
STM32H7 D-Cache与DMA一致性实战:地址对齐、Cache Line与Clean/Invalidate踩坑全解析
嵌入式 · 👁 22 阅读
STM32H7的高性能得益于D-Cache,但DMA与Cache的一致性却成为开发者的噩梦。本文从Cache Line原理出发,详解地址对齐要求、Clean/Invalidate操作时机,并通过完整代码示例展示如何正确配置MPU、使用SCB_CleanDCache_by_Addr等函数,最后总结常见踩坑点与调试技巧,助你彻底解决DMA数据错乱问题。
STM32H7 的 Cache 与 DMA 一致性坑:MPU 配置与 Clean/Invalidate 的正确姿势
嵌入式 · 👁 22 阅读
STM32H7 的高性能离不开 L1 Cache,但 Cache 与 DMA 协同工作时极易出现数据一致性问题,导致数据错乱、HardFault 等诡异现象。本文深入剖析 Cache 与 DMA 冲突的根源,详解 MPU 配置策略,并给出 Clean/Invalidate 操作的正确姿势与完整代码示例,助你避开这些坑。
‹
1
2
...
145
›