M5Stack在ubuntu上進行開發(fā)編譯
掃描二維碼
隨時隨地手機看文章
說明
M5Stack開發(fā)板內(nèi)部采用的是ESP32的芯片,所以如果要建立相應(yīng)的開發(fā)環(huán)境,可以在ubuntu上搭建ESP32的開發(fā)環(huán)境。接下來,整理一下M5Stack如何在ubuntu上進行開發(fā)編譯工作。
第一步:安裝必要的庫文件
對于esp32的開發(fā),需要依賴一些庫。
sudo apt-get install git make gcc libncurses5-dev flex bison gperf python-serial

第二步:創(chuàng)建工作目錄
首先創(chuàng)建工程目錄
mkdir esp32
接著創(chuàng)建工程子目錄
mkdir crossTools demos sources
目錄說明
crossTools:交叉編譯環(huán)境
demos:例程
sources:SDK源代碼
第三步:交叉編譯環(huán)境下載
可以到官網(wǎng)上下載xtensa-esp32-elf-linux64-交叉編譯環(huán)境,也可以用wget在控制臺上進行下載。
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz
下載完成后解壓即可。
tar -zxvf xtensa-esp32-elf-linux64-1.22.0-75-gbaf03c2-5.2.0.tar.gz

第四步:將編譯環(huán)境添加至環(huán)境變量
這一步的作用是可進行全局編譯
修改/etc/profile文件
sudo vim /etc/profile
末尾添加自己解壓的交叉編譯環(huán)境的目錄
例如:
export PATH=$PATH:/home/bigmagic/work/esp32/crossTools/xtensa-esp32-elf/bin
其中/home/bigmagic/work/esp32/是我自己電腦上的目錄,可以根據(jù)自己實際需求修改
配置完成后source一下環(huán)境
source /etc/profile
檢查一下是否成功
xtensa-esp32-elf-gcc -v
出來如下的畫面,表示成功

第五步:下載SDK代碼
由于采用的是樂鑫的工具鏈,所以需要下載SDK,首先下載esp-idf。
git clone --recursive https://github.com/espressif/esp-idf.git
同時設(shè)置環(huán)境變量
export IDF_PATH=/home/bigmagic/work/esp32/sources/esp-idf

注意,這里也是需要自己的工作目錄,需要進行相應(yīng)的修改。
最后更新一下環(huán)境
source /etc/profile
第六步:編譯與配置
有了上述的交叉編譯工具,并且有了相應(yīng)的SDK,那么就可以編譯工程了
在demo目錄下添加工程文件hello_world,具體的目錄在下面的文件中
/XXX/esp32/sources/esp-idf/examples/get-started/hello_world
將該文件夾全部轉(zhuǎn)移到demo目錄下

進入hello_world文件夾,直接make menuconfig

需要配置的地方主要有三點
(1)交叉編譯工具

(2)設(shè)置bootload的打印級別

(3)配置燒寫模式

配置完成后即可編譯固件
make all -j8
編譯完成后可進行燒錄
make flash
可能會提示如下的錯誤

這是因為/dev/ttyUSB0訪問權(quán)限不夠造成
將該權(quán)限提高即可燒寫

分析串口的燒寫過程,實際上是有三個部分


0x1000 build/bootloader/bootloader.bin 0x10000 hello-world.bin 0x8000 partition_singleapp.bin
啟動minicon即可看到

此時,表示系統(tǒng)啟動并驗證成功。
總結(jié)
在ubuntu上使用ESP32的開發(fā)環(huán)境的好處是編譯的很快,同時,燒寫起來比較方便,但是編輯代碼與下載調(diào)試不如windows。個人以為,在window上使用vscode+platform IO的開發(fā)編譯環(huán)境更為方便。