前面搭了一個ubuntu18.04的服務器+遠程VScode開發環境,最終就是為了玩板:
工欲善其事,必先利其器--Vscode嵌入式Linux開發遠程開發設置(適用于多平臺)
?
相關資料鏈接:
https://esp32.100ask.net/
然而官方推出的是一個集成好的ubuntu22的開發環境的虛擬機,啥都幫小白做好了,顯然,這不符合我的風格,我必須手把手自己搭一遍。然而經過調研發現,ubuntu18.04的這環境相對于官方推出的這個22的環境來說比較坑,網上各類博文參差不齊,有上文沒下文的,好,這類問題我必須一篇文章解決,在搭建環境的過程中屬實也遇到了不少坑。接下來,直接整起來:
1、Ubuntu18.04開發esp32-idf必要工具鏈安裝
?
sudo?apt-get?install?git?wget?flex? bison?gperf?python3?python3-venv??? python3-setuptools?cmake?ninja-build? ccache?libffi-dev?libssl-dev?dfu-util?libusb-1.0-0
?
如上所示,開發esp-idf的環境安裝成功。
2、Python3.8安裝
這一步比較關鍵,如果選擇3.8以下的版本去編譯esp-idf工程的話就會編譯不過。在安裝Python環境之前,先要安裝zlib相關的,不然會報錯,這是因為沒有指定zlib源碼的路徑導致的,這就間接導致了python的zlib包無法使用,因為python編譯的過程中會用到zlib包相關的功能,如下所示:
解決方法:
?
wget?http://zlib.net/zlib-1.2.13.tar.gz tar?-zxvf?zlib-1.2.13.tar.gz?&&?cd?zlib-1.2.13/ ./configure?&&?make?-j8 sudo?make?install
?
Python的話我下的是3.8.6的版本,最好的方法是到Python官方去下載源代碼,然后手動配置編譯安裝到自己的服務器上,這里我下的是Python3.8.6:https://www.python.org/downloads/source/,將代碼壓縮包下下來以后,然后解壓后配置、編譯并安裝到當前系統上:
?
tar?-xzvf?Python-3.8.6.tgz sudo?./configure?--enable-optimizations sudo?make?-j8 sudo?make?install
?
3、升級最新版本的cmake
由于編譯esp-idf官方的cmake構建版本要求是至少基于3.16以上的,如下所示:
因此我們需要將ubuntu系統上的cmake環境升級到最新版本,解決方案如下:
?
wget?https://cmake.org/files/v3.21/cmake-3.21.4.tar.gz tar?-zxvf?cmake-3.21.4.tar.gz cd?cmake-3.21.4/ ./bootstrap make?-j8 sudo?make?install
?
4、拉取樂鑫官方V5.0版本的的ESP-IDF源碼并設置環境
?
git?clone?-b?release/v5.0?https://gitee.com/EspressifSystems/esp-idf.git
?
在esp-idf源代碼的根目錄下執行:
?
./install.sh?esp32s3
?
如下所示:
然后根據終端提示在esp-idf根目錄下運行:. ./export.sh
5、編譯最簡單的hello world項目
切換到hello world項目目錄下:
?
/home/yangyuanxin/workspace/esp-idf/examples/get-started/hello_world
?
然后運行:idf.py build,結果會發現很多cmake中配置了很多git的submodule,而這些在沒有配置github相關代理的時候基本上是拉不下來的,進而就會導致編譯不成功,幸好,安信可為我們找到了解決方案,他們已經將這些子模塊clone了一份放到了gitee上,因此下載速度飛快,閱讀下面的文章:
?
https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-submodule-update.md
?
將上述文章所羅列的包進行一次性安裝,確保esp-idf環境所依賴的包能夠安裝成功:
然后再次編譯esp-idf的hello world工程,如下所示,編譯成功:
6、下載最簡單hello world項目
先設置目標芯片:
?
idf.py?set-target?esp32s3
?
將開發板連接到PC機上,然后通過dmesg查看具體是哪個設備接了進來,如下圖所示,是/dev/ttyACM0
然后使用idf.py -p /dev/ttyACM0 flash進行工程下載,如果發現有相關權限的問題,參考樂鑫相關的文檔,將當前用戶添加到Linux Dialout組。如下所示:
下載成功如下所示:
然后使用idf.py -p /dev/ttyACM0 monitor監控工程:
7、編譯并下載LED閃爍項目
切換到blink_led Demo路徑下:
配置工程,選擇為GPIO輸出模式,通過IO高低電平的方式來循環點亮和熄滅LED燈:
?
idf.py?menuconfig
?
然后按ESC后保存退出進行工程編譯:
執行idf.py -p /dev/ttyACM flash將編譯好的二進制文件燒錄到開發板上去,然后使用idf.py -p /dev/ttyACM monitor監控串口數據:
下載完畢后可以看到板子上連接的LED燈已經以一定的周期閃爍變化。
好了,萬事開頭搭環境難,后面不管是程序開發也好,使用IDE環境也好,都只是錦上添花的事情。
審核編輯:湯梓紅
評論
查看更多