以下内容是从乐鑫官方源码包中的ReadMe.md文件拿出来的内容。教你如何配置开发环境,编译下载代码。运行监听串口打印。个人只增加了一些中文注释。方便阅读。V3.0以后的SDK使用的是IDF风格的。跟之前的有所差别。我使用的V3.2的SDK版本。接下来会出一系列的相关例程。还会写一些关于我使用ESP8266遇到的坑。
v5.2.0
If you are still using old version SDK(< 3.0), please use toolchain v4.8.5, as following:
版本小于3.0的用下面的工具链(3.0以后的版本使用IDF风格)
Besides the toolchain (that contains programs to compile and build the application), you also need ESP8266 specific API / libraries. They are provided by Espressif in ESP8266_RTOS_SDK repository. To get it, open terminal, navigate to the directory you want to put ESP8266_RTOS_SDK, and clone it using git clone
command:
(这里通过git方式clone下来,也可以通过下载方式)
cd ~/esp
git clone https://github.com/espressif/ESP8266_RTOS_SDK.git
ESP8266_RTOS_SDK will be downloaded into ~/esp/ESP8266_RTOS_SDK
.
The toolchain programs access ESP8266_RTOS_SDK using IDF_PATH
environment variable. This variable should be set up on your PC, otherwise projects will not build. Setting may be done manually, each time PC is restarted. Another option is to set up it permanently by defining IDF_PATH
in user profile.
For manually, the command:(设置IDF_SDK环境变量)
export IDF_PATH=~/esp/ESP8266_RTOS_SDK
Now you are ready to prepare your application for ESP8266. To start off quickly, we can use examples/get-started/project_template
project from examples
directory in SDK.
Once you’ve found the project you want to work with, change to its directory and you can configure and build it.
You are almost there. To be able to proceed further, connect ESP8266 board to PC, check under what serial port the board is visible and verify if serial communication works. Note the port number, as it will be required in the next step.
Being in terminal window, go to directory of project_template
application by typing cd ~/esp/ESP8266_RTOS_SDK/examples/get-started/project_template
. Then start project configuration utility menuconfig
:
cd ~/esp/ESP8266_RTOS_SDK/examples/get-started/project_template
make menuconfig
In the menu, navigate to Serial flasher config
> Default serial port
to configure the serial port, where project will be loaded to. Confirm selection by pressing enter, save configuration by selecting < Save >
and then exit application by selecting < Exit >
.
Note:(不同平台下的串口名称)
On Windows, serial ports have names like COM1. On MacOS, they start with/dev/cu.
. On Linux, they start with/dev/tty
.
Here are couple of tips on navigation and use of menuconfig
:
?
to see a help screen. Enter key exits the help screen.Y
and N
keys to enable (Yes) and disable (No) configuration items with checkboxes “[*]
”?
while highlighting a configuration item displays help about that item./
to search the configuration items.Once done configuring, press Escape multiple times to exit and say “Yes” to save the new configuration when prompted.
make all
… will compile app based on the config.
When make all
finishes, it will print a command line to use esptool.py to flash the chip. However you can also do this from make by running:
make flash
(这个烧录包含app、bootloader、data文件)
This will flash the entire project (app, bootloader and init data bin) to a new chip. The settings for serial port flashing can be configured with make menuconfig
.
You don’t need to run make all
before running make flash
, make flash
will automatically rebuild anything which needs it.(make flash会自动编译所需要下载的东西)
The make monitor
target uses the idf_monitor tool to display serial output from the ESP32. idf_monitor also has a range of features to decode crash output and interact with the device. Check the documentation page for details.
Exit the monitor by typing Ctrl-].(退出命令)
To flash and monitor output in one pass, you can run:
make flash monitor
(烧录并监听)
After the initial flash, you may just want to build and flash just your app, not the bootloader and init data bin:
make app
- build just the app.make app-flash
- flash just the app.make app-flash
will automatically rebuild the app if it needs it.
(In normal development there’s no downside to reflashing the bootloader and init data bin each time, if they haven’t changed.)
Note:
Recommend to use these 2 commands if you have flashed bootloader and init data bin.
ESP8266_RTOS_SDK supports compiling multiple files in parallel, so all of the above commands can be run as make -jN
where N
is the number of parallel make processes to run (generally N should be equal to or one more than the number of CPU cores in your system.)
Multiple make functions can be combined into one. For example: to build the app & bootloader using 5 jobs in parallel, then flash everything, and then display serial output from the ESP32 run:
make -j5 app-flash monitor
The make flash
target does not erase the entire flash contents. However it is sometimes useful to set the device back to a totally erased state. To erase the entire flash, run make erase_flash
.
This can be combined with other targets, ie make erase_flash flash
will erase everything and then re-flash the new app, bootloader and init data bin.
After some time of using ESP8266_RTOS_SDK-IDF, you may want to update it to take advantage of new features or bug fixes. The simplest way to do so is by deleting existing ESP8266_RTOS_SDK
folder and cloning it again.
Another solution is to update only what has changed. This method is useful if you have a slow connection to GitHub. To do the update run the following commands::
cd ~/esp/ESP8266_RTOS_SDK
git pull
The git pull
command is fetching and merging changes from ESP8266_RTOS_SDK repository on GitHub.