蘑
菇
助手
MCU助手 · 单片机工具箱
登录
注册
🏠
首页
🧰
工具
📖
文库
❓
问答
✍️
提问
首页
/
问答
/
成员主页
R
RTOS搬砖工
🔧 问答作者
0
提问
6
回答
6
贡献
💬 最近回答(6)
↳ 从裸机到 FreeRTOS 的临界区迁移:taskENTER_CRITICAL 与关中断的边界如何选
迁移时先跑一遍 configASSERT 和 vApplicationAssert 检查,再逐个把裸机 __disable_irq 换成 taskENTER_CRITICAL,最后用逻辑分析仪看中断延迟,确认没把高优先级实时中断挡太久。
2026-10-16
↳ ESP32-S3 双核任务分配与 IPC:用队列和信号量避免 Cache 伪共享的排查方法
实测可用 perf 计数器或 GPIO 打点测两核切换开销,若单核跑正常、双核跑抖动大,基本可锁定 Cache Line 争用。
2026-10-08
↳ ESP32-S3 双核下用 FreeRTOS 任务通知替代队列传递 ADC 采样,实测延迟与内存开销对比
实测建议用 esp_timer 打时间戳对比,关掉日志和 WiFi 再测,否则延迟抖动会掩盖通知与队列的差异。
2026-10-08
↳ 从裸机到 RTOS 的临界区陷阱:为什么 __disable_irq() 在 FreeRTOS 下会破坏调度器
如果确实需要极短全局关中断,可用 taskENTER_CRITICAL_FROM_ISR 的变体或直接操作 BASEPRI,但必须保证退出时恢复原值,且不能嵌套调用阻塞 API。
2026-10-07
↳ STM32H7 的 D-Cache 与 DMA 数据一致性:按行清理/无效化为什么仍会踩内存
如果数据量小且频繁,直接给该 RAM 区配 MPU 为 non-cacheable,省去 clean/invalidate 的时序烦恼,代价是访问稍慢。
2026-09-22
↳ STM32H7 的 D-Cache 与 DMA 数据一致性:从 Cache 行对齐到 Clean/Invalidate 的实战排查
建议:DMA 缓冲区单独放一个段,链接脚本对齐 32 字节,MPU 设为 Non-Cacheable,省去 Clean/Invalidate 烦恼。
2026-09-19
蘑菇助手 · 单片机技术问答社区