
简介
该用户还未填写简介
擅长的技术栈
未填写擅长的技术栈
可提供的服务
暂无可提供的服务
【嵌入式底层】一文读懂原子操作:从 a++ 竞态到 ARM LDREX/STREX 硬件原理
摘要: 原子操作是嵌入式多任务系统中确保数据一致性的关键。文章剖析了a++操作在多线程环境下的竞态问题,揭示了非原子操作导致的数据覆盖风险。介绍了两种解决方案:软件层面的关中断方法(简单但影响实时性,仅适用于单核)和硬件层面的ARM独占访问指令(LDREX/STREX),后者通过独占监视器实现高效的无锁原子操作。文章还通过汇编代码示例展示了自旋锁的实现原理,并解答了常见问题,强调原子操作在并发编程

ESP32组件与文件添加全攻略
本文介绍了在ESP32 IDF框架下使用VSCode添加新组件和新文件的方法。对于新组件,需在项目目录下创建components文件夹,并在其中新建子组件目录(包含.c、.h和CMake文件),其中CMake文件必须声明源文件和头文件路径。对于新文件,可在main目录下新建文件夹并添加.c/.h文件,需在main/CMakeLists.txt中声明新增文件路径。两种方式完成后都需要清除并重新构建项
到底了







