ESP8266學習筆記(17)——搭建環境、編譯燒寫(RTOS SDK)Linux篇

一、前言

ESP8266 的 RTOS SDK 從 3.0 開始使用 ESP-IDF(樂鑫物聯網開發框架,Espressif IoT Development Framework) 的代碼框架,相比 2.0 的編譯二次開發方便了很多,旨在通過Wi-Fi,電源管理和其他一些系統功能快速開發物聯網(IoT)應用程序。

Windows 環境搭建參看 ESP8266學習筆記(18)——搭建環境、編譯燒寫(RTOS SDK)Windows篇

二、搭建環境

2.1 官方資料

ESP8266_RTOS_SDK(IDF風格)編程指南

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 安裝相關工具

  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

  1. 在執行上一步 sudo apt-get update
  • 遇到報錯:Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

  1. 在執行上一步 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

  1. 下載此文件,然後將其解壓縮到 ~/esp8266 目錄中:
mkdir -p ~/esp8266
cd ~/esp8266
tar -xzf ~/Downloads/xtensa-lx106-elf-linux64-1.22.0-100-ge567ec7-5.2.0.tar.gz
  1. 工具鏈將被提取到 ~/esp8266/xtensa-lx106-elf/ 目錄中。

  2. 要使用它,您將需要更新文件中的PATH環境變量 /etc/profile

cd /etc
sudo chmod 777 profile
vim profile
  1. 要使 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

三、編譯

  1. 進入示例工程:
cd ~/esp8266/ESP8266_RTOS_SDK/examples/get-started/project_template/
  1. 啓動項目配置實用程序:
make menuconfig
  1. 如果正確完成了前面的步驟,將顯示以下菜單:


在菜單中,導航至> 以配置要在其中加載項目的串行端口。按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.

pip install --upgrade pip

四、燒寫

4.1 編譯環境中燒寫

  1. 先把開發板調爲燒寫模式
    image.png

  2. 輸入命令

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
  1. 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篇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章