esp32開發方式有許多
如在Arduino軟體中Arduino框架開發方式,網上有許多教程
在platformIO中進行Arduino或者idf方式開發,platformIO封裝不錯
使用官方idf在linux、macos、windows開發
最近想了解一下官方SDK的開發方式,在搭建esp32的環境中遇到許多問題。
該搭建方案和官方文檔配合查看,部分細節該文檔未列出
樂鑫官方文檔
GitHub
個人網站:國際
個人網站:中國
第一步:基礎工具安裝在linux或者macos中搭建esp32的環境,先要安裝一些基礎工具,如python等等。macos可以使用Homebrew、macports安裝相關的工具以及依賴。如果部分工具已經安裝過可以直接跳過。
apt purge vim-common
apt install vim
apt install git
apt install git wget flex bison gperf python3 python3-pip
apt install python3-setuptools cmake ninja-build ccache
apt install libffi-dev libssl-dev dfu-util libusb-1.0-0
brew install vim
第二步:克隆esp-idf倉庫esp-idf項目是分子模塊進行團隊開發的SDK。因此直接克隆的倉庫不能直接使用需要將子模塊也克隆才能使用,我在這裡卡了許久。遇到問題,使用多注意命令行的提示,對應想辦法解決。
#方案一:這是直接遞歸克隆樂鑫在GitHub上的esp-idf倉庫,但是國內容易失敗,可以試試
git clone --recursive https://github.com/espressif/esp-idf.git
#方案二:先克隆esp-idf倉庫,然後拉取子模塊
git clone https://github.com/espressif/esp-idf.git
git submodule update --init --recursive
#方案三:1.這是使用國內gitee託管克隆倉庫
git clone https://gitee.com/EspressifSystems/esp-idf.git
#方案三:2.克隆國內gitee的工具倉庫
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
#方案三:3.複製esp-gitee-tools中的submodule-update.sh到esp-idf,然後執行submodule-update.sh
./submodule-update.sh
備註:
這一步主要思想就是將就是將官方的esp-idf倉庫完整克隆下來,在這個過程中不能報錯,大家也可以查看該倉庫中的.gitmodules中看看有哪些子模塊。在這些模塊在該項目的位置在GitHub中是以超連結的方式連結的。只克隆esp-idf到本地時,這些文件夾是空的,我們只要想辦法將這些空文件夾中的內容填進去就可以,各種辦法都可以。
官方文檔是引導我們在~/文件夾建立一個esp文件夾,然後將esp-idf放入其中,建議大家都這樣做。
第三步:安裝編譯器、調試器等工具esp-idf包有了,需要安裝esp32的編譯器、調試器等等工具,其實些工具就是gcc、openocd等工具,這些工具主要是官方根據esp32修改過的定製版本。在esp-idf中,官方為我們寫好下載腳本。我們只要執行腳本文件就可以安裝了。esp32有esp32、esp32s2、esp32s3等等系列。我們可選系列安裝或者全安裝。這裡我全安裝
#設置從樂鑫官方下載方式
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
#執行安裝腳本
./install.sh
備註:
當看到提示「You can now run:. .export.sh」,表示安裝成功。
該步主要下載編譯編譯器、調試器等等工具,是下載工具包然後本地解壓安裝。如果依然失敗,可以設置從樂鑫官方下載的方式,或者直接想辦法下載安裝包到指定目錄等等方式嘗試。
第四步:設置環境變量此時,您剛剛安裝的工具尚未添加至 PATH 環境變量,無法通過「命令窗口」使用這些工具。因此,必須設置一些環境變量,這可以通過 ESP-IDF 提供的另一個腳本完成。
#設置環境變量
. .export.sh
#如果當前不在esp-idf文件夾中
. ~/esp/esp-idf/export.sh
備註:
當終端關閉後設置環境變量失效。需要再次運行export.sh設置。
可以使用方法設置成打開終端自動設置環境變量,自行查找方案。
第五步:編譯、燒錄、驗證複製esp-idf/examples/get-started/下的hello_world工程或者其他工程到自己的工作目錄進行編譯、燒錄、驗證工作。
#到工作目錄下
cd ~/esp/hello_world
#設置目標晶片
idf.py set-target esp32
#打開配置界面
idf.py menuconfig
#編譯
idf.py build
#燒錄
idf.py -p PORT [-b BAUD] flash
#打開串口監視
idf.py -p PORT monitor