1. 程式人生 > >esp8266~入坑sdk 3.0 IDF框架和linux交叉編譯環境搭建

esp8266~入坑sdk 3.0 IDF框架和linux交叉編譯環境搭建

一、交叉編譯環境搭建步驟

1、安裝virtualbox、ubuntu虛擬機器共享windows資料夾,注!virtualbox最好裝在C盤,不然安裝虛擬工具經常會失敗。
2、新建共享目錄,掛載共享目錄到虛擬機器中

sudo mount -t vboxsf share /mnt/Share/

3、下載 xtensa-lx106-elf 交叉編譯工具,這裡根據作業系統選擇

4、配置xtensa gcc編譯工具鏈,先解壓

sudo tar zxvf /mnt/Share/xtensa-lx106-elf-linux32-1.22.0-88-gde0bdc1-4.8.5.tar.gz -C /opt

修改xtensa-lx106-elf目錄許可權,這步很重要!

sudo chmod 777 /opt/xtensa-lx106-elf

修改環境變數,編輯etc/environment新增”:/opt/xtensa-lx106-elf/bin”,使用vi或者文字編輯器開啟都OK,但需要管理員許可權!修改之後儲存,讓它立即生效:

source /etc/environment

檢查環境變數是否成功,檢視xtensa gcc版本

echo $PATH
xtensa-lx106-elf-gcc -v

5、git下載 esp8266 3.0-rtos-sdk

git clone https://github.com/espressif/ESP8266_RTOS_SDK.git

複製example下面的工程專案到我們存放工程程式碼的目錄

cp -r ESP8266_RTOS_SDK/examples/get-started/project_template/ .

切換到剛才的工程,修改makefile後,執行make編譯
如下修改makefile指定依賴sdk:

#
# This is a project Makefile. It is assumed the directory this Makefile resides in is a
# project subdirectory. # PROJECT_NAME := project_template IDF_PATH = /mnt/Share/ESP8266_RTOS_SDK include $(IDF_PATH)/make/project.mk

如果執行make後,不能正常編譯提示下面日誌,則需更新python相關的工具,
出錯的情況
可執行面命令,更新相關的工具。

sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial

正常第一次編譯都比較慢,耐心等待。也可以參考網上很多的教程:ESP8266交叉編譯環境搭建之linux篇 ESP8266 Ubuntu開發環境的搭建,但感覺都比較舊了,推薦大家網上找東西的時候還是注意下日期。
6、最後一步配置工程屬性,執行make menuconfig。進入下面視窗,可以設定很多東西,很好的是還提供了linux串列埠除錯下載的工具monitor,執行make monitor即可開啟串列埠。
elf工程
開啟monitor

二、入坑sdk 3.0

我之前開發esp8266是從網上下載一體化開發工具,也挺好用的,只是程式碼風格確實不夠專業相比rtk8710的SDK,2.0及以前資料還是挺豐富的。受我之前小夥伴的影響,他也在玩8266,樂鑫推薦他們開發使用3.0的SDK了,IDF框架有很多優點包括省記憶體、程式碼簡潔等。用了之後都說好,哈哈。

就這樣,我現在開發寫程式碼使用的是vscode,編譯和下載完全使用了linux了。其實IDF編碼的風格和rtk8710SDK很像啦!就這樣,我切換到了3.0,在此之前又玩過一下esp32,確實感覺樂鑫的東西越做越方便了哈。
當然新的東西不一定很完善,後續會簡單記錄一些比較重要的點,來幫大家熟悉esp-idf、esp32。

參考:
1、新ESP8266-RTOS-SDK(v3.0)開發環境搭建
2、Esp8266 進階之路27【高階篇】跟緊腳步,Windows下用 Visual Studio Code開發 esp8266 rtos SDK v3.0版本,全新 idf 框架,節省記憶體模組化開發。