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文件,打开后在文件结尾添加你要跳转的路径,如:

经验分享 程序员 微信小程序 职场和发展