蘑
菇
助手
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
项目 实战
嵌入式 控制
嵌入式 蓝牙
嵌入式 传感器
嵌入式
ESP32 双核环境下原子操作替代临界区:性能对比与隐藏陷阱
嵌入式 · 👁 2 阅读
在ESP32双核FreeRTOS环境中,保护共享变量传统上依赖临界区(taskENTER_CRITICAL),但临界区会阻塞中断和调度,影响实时性。本文深入探讨如何使用ESP-IDF提供的原子操作(如portMUX_TYPE、atomic_t)替代临界区,通过基准测试对比两者性能差异,并揭示原子操作在非对齐访问、多变量一致性及内存序上的陷阱,帮助开发者写出高效且安全的并发代码。
STM32H7 480MHz 下 D-Cache 与 MPU 配置不当导致随机死机的定位与修复
嵌入式 · 👁 0 阅读
STM32H7 系列在 480MHz 主频下性能强劲,但若 D-Cache 与 MPU 配置不当,极易引发随机死机、数据错乱等棘手问题。本文从 Cortex-M7 的缓存架构原理出发,深入剖析 D-Cache 与 MPU 的协同机制,结合一个真实案例,详细讲解问题定位过程、MPU 区域配置步骤及完整代码示例,并给出关键注意事项,帮助开发者彻底规避此类隐患。
基于 RT-Thread 的 OTA 升级中 Bootloader 与 App 共享 RAM 的边界设计
嵌入式 · 👁 2 阅读
在基于 RT-Thread 的 OTA 升级方案中,Bootloader 与 App 共享 RAM 的边界设计是确保系统稳定升级的关键。本文深入分析共享 RAM 的冲突场景,提出一套基于链接脚本与运行时约定的边界划分策略,涵盖原理讲解、RT-Thread 下的具体配置步骤、完整代码示例及注意事项,帮助开发者规避升级过程中的隐性崩溃风险。
STM32H7 400MHz 实测:AXI SRAM 与 TCM 访问延迟差异对实时性的影响
嵌入式 · 👁 2 阅读
STM32H7 系列以 400MHz 主频和双核架构成为高性能嵌入式应用的标杆,但并非所有内存都生而平等。AXI SRAM 和紧耦合内存(TCM)在访问延迟上存在显著差异,直接影响中断响应、实时控制环路和 DSP 算法的性能。本文通过实际测量,对比两种内存在不同场景下的延迟数据,并给出代码示例和优化建议,帮助开发者合理分配关键数据与代码,榨干 H7 的每一分性能。
STM32H7 480MHz 主频下 Cache 一致性维护:实战陷阱与解决方案
嵌入式 · 👁 2 阅读
STM32H7 系列以 480MHz 主频和 Cortex-M7 内核带来极致性能,但 L1-Cache 的引入也让 DMA 与 CPU 共享数据时面临一致性挑战。本文从硬件架构出发,剖析 Cache 不一致的根源,结合实战案例展示典型陷阱(如 DMA 接收丢数据、描述符错误),并给出三种解决方案:Cache 清理/无效化、MPU 配置非缓存区域、以及双缓冲区的巧妙设计。代码基于 HAL 库,步骤清晰,助你避开性能与稳定性的暗礁。
STM32H7 400MHz 下 FDCAN 与 TSN 时间同步的硬件时序补偿实测:从纳秒抖动到微秒级同步
嵌入式 · 👁 1 阅读
在工业以太网与车载网络中,TSN(时间敏感网络)与 FDCAN 的混合部署日益普遍,而时间同步精度往往受限于 MCU 内部时钟路径的延迟。本文基于 STM32H7 在 400MHz 主频下,实测 FDCAN 外设与 TSN 交换机(如基于 802.1AS)同步时的硬件时序补偿方法,重点分析 FDCAN 收发器延迟、消息 RAM 访问冲突及 PLL 抖动对同步误差的影响,并给出可复现的补偿算法与代码实现,帮助开发者将同步精度从微秒级提升至亚微秒级。
基于 Cortex-M7 的 MPU 配置不当导致 DMA 传输数据被缓存污染的实战分析
嵌入式 · 👁 1 阅读
在基于 Cortex-M7 的高性能嵌入式系统中,MPU(内存保护单元)与 Cache 的协同配置是确保 DMA 数据传输正确性的关键。本文通过一个实际案例,深入剖析 MPU 配置不当导致 DMA 数据被缓存污染的根因,并给出完整的解决方案,帮助开发者规避类似陷阱。
STM32F4 系列 D-Cache 与 SDRAM 数据一致性:三种典型规避方案深度解析
嵌入式 · 👁 1 阅读
在 STM32F4 系列高性能 MCU 中,D-Cache 虽能显著提升 CPU 访问 SDRAM 的速度,却常因缓存与内存数据不一致导致系统故障。本文面向有经验的嵌入式开发者,深入剖析 D-Cache 与 SDRAM 数据一致性问题的根源,并给出三种典型规避方案:Cache 清理/失效、MPU 配置非缓存区域、以及 DMA 与 Cache 协同管理。通过原理讲解、配置步骤和完整代码示例,助你彻底解决这一嵌入式开发中的“隐形杀手”。
STM32 DMA+空闲中断接收不定长数据:总线竞争丢包的根因与四层防护策略
嵌入式 · 👁 2 阅读
在STM32嵌入式开发中,DMA与空闲中断(IDLE)组合是接收不定长串口数据的经典方案,但总线竞争(如DMA与CPU同时访问SRAM、外设总线仲裁延迟)常导致数据覆盖或丢包。本文深入剖析丢包根因,从外设配置、内存模型、中断优先级到DMA缓冲管理,给出四层防护策略,并附完整可移植代码,助你打造零丢包的高可靠UART接收链路。
ESP32 低功耗模式下 RTC 内存保持外设状态的边界条件与陷阱
嵌入式 · 👁 2 阅读
ESP32 在深度睡眠(Deep Sleep)模式下,RTC 内存(RTC Fast Memory 和 RTC Slow Memory)是唯一能保持数据的外设,但许多开发者误以为它可无限保存任意外设状态。本文深入剖析 RTC 内存的物理边界、电源域隔离、复位行为,以及 GPIO、定时器、UART 等外设在低功耗下的状态保持陷阱,并给出基于 RTC 内存的可靠状态恢复策略和完整代码示例,助你避开常见坑点。
Arduino 上 AVR CTC 模式实现微秒级软件定时器:边界条件与工程实践
嵌入式 · 👁 2 阅读
在 Arduino 平台使用 AVR 的 CTC 模式(Clear Timer on Compare)可以构建非阻塞的微秒级定时器,但开发者常因忽略边界条件而遭遇中断风暴、计数溢出或时序漂移。本文深入剖析 CTC 模式的硬件原理,对比 Timer0/1/2 的差异,给出配置步骤与完整代码示例,并重点讨论比较值上限、中断延迟、占空比限制及与 Arduino 核心库的冲突规避,帮助你在资源受限的 MCU 上实现稳健的微秒级调度。
STM32 低功耗模式下 RTC 唤醒源失效的排查与修复:从硬件到固件的深度解析
嵌入式 · 👁 1 阅读
在嵌入式开发中,STM32 的低功耗模式(如 Stop 模式)常搭配 RTC 作为唤醒源,但开发者常遇到唤醒失效的棘手问题。本文从 RTC 时钟源配置、电源域隔离、中断标志处理等角度,系统剖析失效根因,并给出可复现的排查步骤与修复代码,助你彻底解决低功耗唤醒难题。
‹
1
2
...
75
76
77
78
79
80
81
...
127
128
›