也是重新开始学习嵌入式的相关内容了,从玩开发板开始,计划是先学底层基础知识再慢慢进一步构建上层内容,穿插一些硬件设计内容,貌似自动化对硬件设计的知识不太重视,但我认为这是非常重要的基础,而且我有打算往硬件方向发展.
然后原本社团要求学51的,但这个确实有点过时了,而且寄存器开发哪不能学,就算你vex主控要求精准中断,也不至于要用寄存器写中断吧,人家vexos都把freertos封装好了给你调用还要手写寄存器去写中断疑似有点没事找事了,所以一步到位与时代接轨学esp-idf了,再加上好歹用arduino点过屏幕,也算有点基础.
初步计划是先搭环境然后用idf点个灯,会用之后写写寄存器弄明白基本原理然后边用idf做项目边跟进学点freertos的知识.
然后本文是对在配置esp-idf环境过程中碰到的一些问题和解决方法.
CMake报错
vsc的cmake插件提示找不到cmake,这个理论上可以忽略,因为idf自带cmake工具,但是报错比较烦人,可以开idf terminal找到idf的cmake在哪里,然后丢到.vscode的settings.json里就搞定了.
一些项目库文件无法打开
报错cannot open source file "freertos/FreeRTOS.h"之类的,这个是没有把相应组件加入项目依赖,可以在idf插件的menuconfig里做配置,具体在component config里,可以找到你有调用的相关组件.
ninja报错
ninja报错大概率是环境没配好(废话),环境变量爱搞不搞,直接settings.json里把ninja路径加给cmake就行了,建议是一开始就直接用idf的cmake貌似就没有这个问题了,之前不太懂貌似用了自己装的mingw就出问题了.
总结
在Windows上配的时候最开始出现了一堆报错,很慌但是一步步排查下来就好了,发现esp-idf有自己的一整套环境和需要用到的开发工具,没太大必要追求用自己的,乖乖用他提供好的可以省很多事而且其实也很方便.
第二遍在mac上配下来就没那么多问题了,几乎一遍搞定就把灯给点起来了,但mac os本身就很友好,不像Windows还得折腾一堆东西.