基于ubuntu18.04搭建100ASK-ESP32開發(fā)環(huán)境并成功點燈 當前焦點

2023-06-25 12:25:19 來源:嵌入式應用研究院

前面搭了一個ubuntu18.04的服務器+遠程VScode開發(fā)環(huán)境,最終就是為了玩板:


(資料圖)

工欲善其事,必先利其器--Vscode嵌入式Linux開發(fā)遠程開發(fā)設置(適用于多平臺)

如下所示,這是韋東山老師推出ESP32開發(fā)板:

相關資料鏈接:

https://esp32.100ask.net/

然而官方推出的是一個集成好的ubuntu22的開發(fā)環(huán)境的虛擬機,啥都幫小白做好了,顯然,這不符合我的風格,我必須手把手自己搭一遍。然而經過調研發(fā)現(xiàn),ubuntu18.04的這環(huán)境相對于官方推出的這個22的環(huán)境來說比較坑,網(wǎng)上各類博文參差不齊,有上文沒下文的,好,這類問題我必須一篇文章解決,在搭建環(huán)境的過程中屬實也遇到了不少坑。接下來,直接整起來:

1、Ubuntu18.04開發(fā)esp32-idf必要工具鏈安裝

sudoapt-getinstallgitwgetflexbisongperfpython3python3-venvpython3-setuptoolscmakeninja-buildccachelibffi-devlibssl-devdfu-utillibusb-1.0-0

如上所示,開發(fā)esp-idf的環(huán)境安裝成功。

2、Python3.8安裝

這一步比較關鍵,如果選擇3.8以下的版本去編譯esp-idf工程的話就會編譯不過。在安裝Python環(huán)境之前,先要安裝zlib相關的,不然會報錯,這是因為沒有指定zlib源碼的路徑導致的,這就間接導致了python的zlib包無法使用,因為python編譯的過程中會用到zlib包相關的功能,如下所示:

解決方法:

wgethttp://zlib.net/zlib-1.2.13.tar.gztar-zxvfzlib-1.2.13.tar.gz&&cdzlib-1.2.13/./configure&&make-j8sudomakeinstall

Python的話我下的是3.8.6的版本,最好的方法是到Python官方去下載源代碼,然后手動配置編譯安裝到自己的服務器上,這里我下的是Python3.8.6:https://www.python.org/downloads/source/,將代碼壓縮包下下來以后,然后解壓后配置、編譯并安裝到當前系統(tǒng)上:

tar-xzvfPython-3.8.6.tgzsudo./configure--enable-optimizationssudomake-j8sudomakeinstall

3、升級最新版本的cmake

由于編譯esp-idf官方的cmake構建版本要求是至少基于3.16以上的,如下所示:

因此我們需要將ubuntu系統(tǒng)上的cmake環(huán)境升級到最新版本,解決方案如下:

wgethttps://cmake.org/files/v3.21/cmake-3.21.4.tar.gztar-zxvfcmake-3.21.4.tar.gzcdcmake-3.21.4/./bootstrapmake-j8sudomakeinstall

4、拉取樂鑫官方V5.0版本的的ESP-IDF源碼并設置環(huán)境

gitclone-brelease/v5.0https://gitee.com/EspressifSystems/esp-idf.git

在esp-idf源代碼的根目錄下執(zhí)行:

./install.shesp32s3

如下所示:

然后根據(jù)終端提示在esp-idf根目錄下運行:. ./export.sh

5、編譯最簡單的hello world項目

切換到hello world項目目錄下:

/home/yangyuanxin/workspace/esp-idf/examples/get-started/hello_world

然后運行:idf.py build,結果會發(fā)現(xiàn)很多cmake中配置了很多git的submodule,而這些在沒有配置github相關代理的時候基本上是拉不下來的,進而就會導致編譯不成功,幸好,安信可為我們找到了解決方案,他們已經將這些子模塊clone了一份放到了gitee上,因此下載速度飛快,閱讀下面的文章:

https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-submodule-update.md

將上述文章所羅列的包進行一次性安裝,確保esp-idf環(huán)境所依賴的包能夠安裝成功:

然后再次編譯esp-idf的hello world工程,如下所示,編譯成功:

6、下載最簡單hello world項目

先設置目標芯片

idf.pyset-targetesp32s3

將開發(fā)板連接到PC機上,然后通過dmesg查看具體是哪個設備接了進來,如下圖所示,是/dev/ttyACM0

然后使用idf.py -p /dev/ttyACM0 flash進行工程下載,如果發(fā)現(xiàn)有相關權限的問題,參考樂鑫相關的文檔,將當前用戶添加到Linux Dialout組。如下所示:

下載成功如下所示:

然后使用idf.py -p /dev/ttyACM0 monitor監(jiān)控工程:

7、編譯并下載LED閃爍項目

切換到blink_led Demo路徑下:

配置工程,選擇為GPIO輸出模式,通過IO高低電平的方式來循環(huán)點亮和熄滅LED燈:

idf.pymenuconfig

然后按ESC后保存退出進行工程編譯:

執(zhí)行idf.py -p /dev/ttyACM flash將編譯好的二進制文件燒錄到開發(fā)板上去,然后使用idf.py -p /dev/ttyACM monitor監(jiān)控串口數(shù)據(jù):

下載完畢后可以看到板子上連接的LED燈已經以一定的周期閃爍變化。

好了,萬事開頭搭環(huán)境難,后面不管是程序開發(fā)也好,使用IDE環(huán)境也好,都只是錦上添花的事情。

審核編輯:湯梓紅

標簽:

上一篇:在VS Code for the Web中運行WebAssembly 天天要聞
下一篇:最后一頁