ESP8266_RTOS_IDF的使用介绍
简介
第一次摸到这东西不知道是个啥,头脑中纵有万条思绪不知从何下手。ESP8266_RTOS_IDF后面简称为idf。idf其实是乐鑫设计的一款带有操作系统的SDK,采用cmake脚本编译,配合强大的python使整个结构看起来很清晰,使用起来也更方便。components里面是一些接口库文件。examples是一些demo,也就是轮子,拿来组组就OK了。 具体架构可能需要时间研究再说了。
准备工作
-
编译环境 编译工具链 SDK代码
编译环境
编译工具链
注意:下载完之后copy解压到msys32opt目录下
SDK代码
注意clone的时候需要使用递归clone,git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git 因为该代码里面又包含其它的git子模块。不清楚的可以去看看。
配置
环境变量
这里配置的环境变量,cmake编译的时候都会用到。很重要: 在第一步下载下来的msys32环境下,路径msys32etcprofile.d。找到esp32_toolchain.sh文件。添加如下代码:
export PATH="$PATH:/opt/xtensa-lx106-elf/bin" export IDF_PATH="E:/myProduct/IOT/ESP8266_RTOS_SDK
有些东西是不是还需要配置,搞忘了,后面重新搭环境的话,再补充。
helloword
打开环境
几乎所有的工程都从helloword开始,这里也不例外。
双击打开msys32根目录下的mingw32.exe执行文件。cd到(也就是转到)ESP8266_RTOS_SDKexamplesget-startedhello_world目录下。可能有人要说每次打开mingw32.exe都要慢慢cd到某个目录太慢了,能不能直接打开mingw32.exe就跳转到想要达到的目录下。恭喜你,程序员就是要敢懒才有机会懒。 打开msys32etc目录下的profile结尾 添加cd命令,比如我想直接cd到hello,添加E:myProductIOTESP8266_RTOS_SDKexamplesget-startedhello_world
编译
这里介绍常用的四个指令:make all make clean make menuconfig make flash monitor
-
make menuconfig 调出配置菜单,进行一些寄存配置,比如开启哪些功能,使用什么口下载,下载速率多少,打印log 的速率等等。 make all 编译全部,平时只改了一两个文件可用make make clean 清理上次的编译记录,下次会进行全编 make flash monitor 这个是烧写代码和调试。两个命令,实际上也可以单独执行make flash和make monitor,烧写口和打印口一样的,需要在使用make menuconfig提前配置好。
常用开发板
要用到的地方简直不要太多,调调小灯啊,串口啊都需要看的嘛。
怎么使用工具下载尼?
这个问题也比较重要,因为你做出来的东西总要生产,不可能都用make flash,那不得折腾死。 编译后,在demo的工程目录下有个build文件夹下,有partitions_singleapp.bin和hello_word.bin,bootloader文件下bootloader.bin文件夹。具体配置入下图:
注意: 以上的partitions_singleapp.bin的位置和hello-world的顺序反了,需要调换一下
一些常见问题
1.如何配置UART1输出log,修改输出log的波特率:
-
使用make menuconfig进入配置页面,选择Component config 选择Common ESP-related 进入后有三部分需要配置,首先选择红框内最上面一行,配置为Custom,之后退出来选择第二行,选择为UART1,这时候LOG就配置从UART1输出了,第三行是波特率的配置,随便选择,但是高点下载快点。
2.如何打开msys32就直接跳转到相应的目录下:
打开msys32所在目录,打开内部的etc文件夹,寻找profile文件,打开后在文件结尾添加你要跳转的路径,如: