一、前言
ESP8266 的 RTOS SDK 從 3.0 開始使用 ESP-IDF(樂鑫物聯網開發框架,Espressif IoT Development Framework) 的代碼框架,相比 2.0 的編譯二次開發方便了很多,旨在通過Wi-Fi,電源管理和其他一些系統功能快速開發物聯網(IoT)應用程序。
Windows 環境搭建參看 ESP8266學習筆記(18)——搭建環境、編譯燒寫(RTOS SDK)Windows篇
二、搭建環境
2.1 官方資料
2.2 安裝VMware Workstation 15
官網下載:https://my.vmware.com/en/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/15_0?wd=&eqid=e1807fba0005b9c7000000065e34ef5b
百度網盤:https://pan.baidu.com/s/1oN7H81GV0g6cD9zsydg6vg 提取碼:mrn9
2.2.1 安裝VMware Tools
2.3 安裝Ubuntu 16.04
阿里雲鏡像:http://mirrors.aliyun.com/ubuntu-releases/
百度網盤:https://pan.baidu.com/s/1LzE–l-5k7PLQWhIp-ktBw 提取碼:347p
2.3.1 安裝相關工具
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
- 遇到報錯:Package python-dev is not available, but is referred to by another package
- 在執行上一步
sudo apt-get update
時
- 遇到報錯:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)
- 在執行上一步
sudo apt-get update
時,下載速度過慢
2.4 下載工具鏈Toolchain
官網下載:https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/linux-setup.html
百度網盤:https://pan.baidu.com/s/1ciwY1qoMu-E3cKO74NhaMQ 提取碼:x7vx
- 下載此文件,然後將其解壓縮到
~/esp8266
目錄中:
mkdir -p ~/esp8266
cd ~/esp8266
tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
-
工具鏈將被提取到
~/esp8266/xtensa-lx106-elf/
目錄中。 -
要使用它,您將需要更新文件中的PATH環境變量
/etc/profile
。
cd /etc
sudo chmod 777 profile
vim profile
- 要使 xtensa-lx106-elf 所有終端會話都可用,請在
profile
文件中添加以下行:
export PATH=$PATH:$HOME/esp8266/xtensa-lx106-elf/bin
export IDF_PATH="$HOME/esp8266/ESP8266_RTOS_SDK-master"
5. 註銷並重新登錄以使 profile
更改生效。運行以下命令以驗證是否 PATH 正確設置:
printenv PATH
6. 在命令行終端執行 xtensa-lx106-elf-gcc -v
,如可看到版本號,表示當前交叉編譯器安裝成功。
2.5 下載RTOS SDK 3.0以上
官網下載:https://github.com/espressif/ESP8266_RTOS_SDK
百度網盤:https://pan.baidu.com/s/143bPRDj3tSA42zpMvDsZww 提取碼:xhsp
克隆存儲庫:git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git
- 將 ESP8266_RTOS_SDK 會下載到
~/esp8266/ESP8266_RTOS_SDK
。 - 新文件中的PATH環境變量
/etc/profile
,在上一步已完成。
export IDF_PATH="$HOME/esp8266/ESP8266_RTOS_SDK-master"
2.6 安裝所需的Python軟件包
ESP8266_RTOS_SDK 所需的 Python 包位於 $IDF_PATH/requirements.txt
文件中。您可以通過運行以下命令安裝它們:
python -m pip install --user -r $IDF_PATH/requirements.txt
三、編譯
- 進入示例工程:
cd ~/esp8266/ESP8266_RTOS_SDK/examples/get-started/project_template/
- 啓動項目配置實用程序:
make menuconfig
- 如果正確完成了前面的步驟,將顯示以下菜單:
在菜單中,導航至> 以配置要在其中加載項目的串行端口。按Enter確認選擇,按選擇保存配置,然後按選擇退出應用程序。Serial flasher config
Default serial port
< Save >
< Exit >
4. 進行編譯
make all
- 遇到報錯:pkg_resources cannot be imported probably because the pip package is not installed and/or using a ’
'legacy Python interpreter. Please refer to the Get Started section of the ESP-IDF Programming Guide for ’
'setting up the required packages.
-
遇到報錯:You are using pip version 8.1.1, however version 20.0.1 is available.
-
解決辦法:
pip install --upgrade pip
- 遇到報錯:ImportError: No module named ‘pyparsing’
- 解決辦法:import matplotlib 出現“No module named ‘pyparsing’“問題
四、燒寫
4.1 編譯環境中燒寫
-
先把開發板調爲燒寫模式
-
輸入命令
make flash
這將編譯應用程序和所有 ESP8266_RTOS_SDK 組件,生成引導加載程序,分區表和應用程序二進制文件,並將這些二進制文件閃存到 ESP8266 板上。
AR build/wpa_supplicant/libwpa_supplicant.a
Generating esp8266.project.ld
LD build/simple_wifi.elf
esptool.py v2.4.0
402460b8
Python requirements from D:/msys32/home/alm-text/esp/ESP8266_RTOS_SDK-master/requirements.txt are satisfied.
Flashing binaries to serial port COM5 (app at offset 0x10000)...
esptool.py v2.4.0
Connecting........_____....._____....._____....._____....._____....._____....._____
出現Connecting的時候開發板重新上電
- 遇到報錯:Permission denied: ‘/dev/ttyUSB0’ serial.serialutil.SerialException:[Errno 13] could not open port /dev/ttyUSB0
- 解決辦法:
如果發生這種情況,您可能需要將當前用戶添加到具有適當權限的正確組(通常爲“撥出”):
sudo usermod -a -G dialout $USER
另外,您還可以在運行make命令解決以下問題之前,使用“ sudo chmod”對“ / dev / ttyUSB0”文件設置權限:
sudo chmod -R 777 /dev/ttyUSB0
- Linux串口調試
make monitor
4.2 燒錄工具燒寫
ESPFlashDownloadTool_v3.6.4.exe
鏈接:https://www.espressif.com/zh-hans/support/download/other-tools
然後按照 make all
中提示的文件和燒錄地址
• 由 Leung 寫於 2020 年 2 月 3 日
• 參考:ESP8266_RTOS_SDK (IDF Style) Programming Guide
esp8266~入坑sdk 3.0 IDF框架和linux交叉編譯環境搭建
樂鑫esp8266學習rtos3.0筆記第1篇: 全面認識樂鑫esp8266 Rtos 3.0 sdk 工程結構
Esp8266 進階之路27【高級篇】跟緊腳步,Windows下用 Visual Studio Code開發 esp8266 rtos SDK v3.0版本,全新 idf 框架
ESP8266學習之路(一)開發環境的搭建——VSCODE+ESP-IDF+RTOS_SDK
ESP8266_RTOS_SDK v3.0學習(1)--------環境搭建
ESP8266(v3.0以上)SDK新環境搭建教程
ESP 8266學習筆記1: RTOS SDK編程環境搭建(3.0以上)
ESP8266交叉編譯環境搭建之linux篇