蘑
菇
助手
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 低功耗模式(STOP2)下 RTC 闹钟唤醒后时钟源切换的常见坑与排查流程
嵌入式 · 👁 21 阅读
在 STM32 低功耗设计中,STOP2 模式配合 RTC 闹钟唤醒是常见组合,但唤醒后系统时钟源切换常导致外设异常或死机。本文深入剖析 STOP2 下时钟树行为,总结三个典型坑:LSI 漂移、HSI 启动延迟、PLL 配置丢失,并给出完整的代码示例与系统化排查流程,帮助开发者快速定位问题,确保低功耗唤醒后系统稳定运行。
ESP32 双核环境下 FreeRTOS 任务优先级反转的隐蔽触发条件与 Tracealyzer 排查方法
嵌入式 · 👁 25 阅读
在 ESP32 双核 FreeRTOS 系统中,优先级反转不仅源于经典互斥量场景,还可能因双核调度、CPU 亲和性、中断延迟等隐蔽条件触发,导致系统响应异常。本文深入剖析这些触发条件,并演示如何利用 Tracealyzer 进行高效排查,帮助开发者快速定位并解决这类棘手问题。
RTOS 中基于 MPU 保护的用户任务栈溢出检测与恢复机制设计
嵌入式 · 👁 19 阅读
在实时嵌入式系统中,任务栈溢出是导致系统崩溃的常见隐患,尤其在多任务 RTOS 环境下难以复现和定位。本文深入探讨如何利用 Cortex-M 内核的 MPU(内存保护单元)实现用户任务栈的硬件级溢出检测,并结合 RTOS 调度器设计自动恢复机制。文章涵盖 MPU 工作原理、栈保护区配置、溢出触发与恢复流程,并提供基于 FreeRTOS 的完整代码示例,帮助开发者构建高可靠性的嵌入式系统。
Arduino 无 OS 协作式调度器:基于定时器中断的 10 行核心代码深度剖析
嵌入式 · 👁 21 阅读
在资源受限的嵌入式系统中,协作式调度器是替代 RTOS 的轻量级方案。本文以 Arduino 平台为例,通过一个基于定时器中断的 10 行核心代码,剖析其原理、实现步骤与注意事项。你将理解如何用极简代码实现多任务时间片轮转,并掌握在无 OS 环境下管理任务调度的精髓。
FreeRTOS 软件定时器在高频中断中的优先级反转规避策略
嵌入式 · 👁 18 阅读
在嵌入式实时系统中,FreeRTOS 软件定时器依赖心跳中断驱动,但高频中断场景下易引发优先级反转,导致任务调度延迟。本文深入剖析其根因,提出基于二值信号量、任务通知及硬件定时器辅助的三种规避策略,并给出完整代码示例与配置要点,帮助开发者构建高可靠实时系统。
STM32H7 双缓冲 ADC 数据搬运:MDMA 与 LPDMA 协同的延迟隐藏策略
嵌入式 · 👁 20 阅读
在 STM32H7 高性能 MCU 上,ADC 连续采样产生大量数据,若由 CPU 直接搬运,会严重占用处理时间。本文深入解析如何利用 MDMA(存储器到存储器 DMA)与 LPDMA(低功耗 DMA)协同工作,实现双缓冲 ADC 数据的零拷贝搬运,并通过乒乓缓冲机制隐藏数据搬移延迟,让 CPU 专注于算法处理。文章涵盖原理分析、CubeMX 配置步骤、完整代码示例及关键注意事项,助力开发者构建高效的数据采集系统。
STM32双Bank Flash在OTA升级中的原子性切换与回滚策略
嵌入式 · 👁 30 阅读
OTA升级是嵌入式设备的核心功能,但升级失败可能导致设备变砖。STM32的双Bank Flash架构提供了硬件级的原子性切换和回滚能力,极大提升了升级可靠性。本文深入解析双Bank的工作原理,结合具体配置步骤和代码示例,展示如何实现安全的OTA升级流程,包括Bank切换、版本管理及故障回滚策略,帮助开发者构建健壮的固件更新机制。
RTOS 无锁环形缓冲区:ARM Cortex-M DMB/DSB 指令如何守护多核与中断安全
嵌入式 · 👁 21 阅读
在 RTOS 中,无锁环形缓冲区(Lock-Free Ring Buffer)是高性能数据交换的利器,但多核(如 Cortex-M7 双核)或中断上下文下的内存可见性问题常被忽视。本文深入剖析 ARM Cortex-M 内存模型,详解 DMB/DSB 指令在生产者-消费者场景中的关键作用,结合 STM32H7 双核实例,给出完整配置步骤与代码,助你写出真正安全的无锁队列。
STM32F4 在 168MHz 下关闭 D-Cache 的性能衰减实测与补偿策略
嵌入式 · 👁 20 阅读
STM32F4 系列在 168MHz 主频下,D-Cache 默认开启,但在某些场景(如外部存储器共享、DMA 一致性)下必须关闭。本文通过实际基准测试,量化关闭 D-Cache 后 CPU 性能衰减幅度(约 15%-30%),并分析其根因,随后给出三种实用补偿策略:内存重映射、关键代码段优化、以及 DMA 缓冲对齐。文章包含完整测试代码与配置步骤,帮助开发者在功能正确性与性能之间找到最佳平衡。
STM32F4 双Bank Flash在线升级失败:跨Bank跳转的Cache一致性处理
嵌入式 · 👁 19 阅读
在STM32F4系列MCU上实现双Bank Flash在线升级(OTA)时,跨Bank跳转常因I-Cache和D-Cache未正确失效而导致程序跑飞或数据错乱。本文深入剖析Cache一致性问题根源,给出基于HAL库的完整解决方案,涵盖原理讲解、配置步骤、代码示例及常见坑点,帮助开发者稳定实现双Bank无缝切换。
STM32H7 400MHz 下 FDCAN 与 DMA 的时序冲突排查与解决实战
嵌入式 · 👁 36 阅读
在 STM32H7 以 400MHz 主频运行时,FDCAN 外设与 DMA 控制器之间可能因总线仲裁、缓存一致性及中断优先级配置不当,导致数据丢失或时序错乱。本文从硬件架构出发,剖析冲突根源,提供一套系统化的排查流程与解决方案,涵盖时钟配置、DMA 描述符优化、MPU 设置及中断优先级调整,并附完整代码示例,帮助开发者快速定位并修复此类棘手问题。
STM32F4 SDRAM时序参数实测调优:从初始化失败到稳定运行的排查方法
嵌入式 · 👁 21 阅读
STM32F4系列微控制器在扩展外部SDRAM时,时序参数配置不当常导致初始化失败或运行不稳定。本文基于实际项目调试经验,系统讲解SDRAM时序参数(如TRCD、TRP、TRC等)的测量与调优方法,涵盖原理分析、配置步骤、完整代码示例及常见问题排查,帮助开发者快速定位并解决SDRAM相关难题,提升系统稳定性。
‹
1
...
37
38
39
...
155
›