2019年1月10日 星期四

DIY - ESP32:ESP32 Windows Toolchain 開發環境(六十六)

DIY - ESP32:ESP32 Windows Toolchain 開發環境(六十六):

由於在 Espressif 開發環境 AiThinker05 版本來編譯(Compile)範例程式,並未能成功(系統重置)!所以便建立新的開發環境來測試。這個是 Windows Toolchain 的開發環境,可以運行在 Windows、Liunx 和 MacOS 操作系統。

Toolchain 運行在 Windows、Liunx 和 MacOS 操作系統
Microsoft Windows 是沒有內置的 “make” 環境,因此除了安裝工具鏈(Toolchain)之外,還需要一個與 GNU 兼容(GNU-compatible)的環境,ESP32 使用 MSYS2 環境來提供此功能。也不一定需要使用此環境(可以使用 Eclipse 或其他前端),但 MSYS2 在後台運行。

ESP32 Windows Toolchain 開發環境
1. Toolchain 下載網址https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip (639,569kB)

2. 解壓上面下載好的 esp32_win32_msys2_environment_and_toolchain-20181001.zip 資料夾 C:\ (或其他位置),注意解壓後的目錄名稱是 msys32;比如目前的路徑為 C:\msys32  

ESP32 Toolchain 所需要的檔案和目錄:
File name
Description
File Size
esp32_win32_msys2_environment_and_toolchain-20181001.zip
Zip File
640MB
msys32
Unzip File
1.72GB
esp-idf-v33
ESP-IDF File
485MB
解壓完成後,執行 C:\msys32\mingw32.exe 打開 MSYS2 MINGW32 終端窗口。 此窗口中的環境是 bash shell。

mingw32:
MINGW32 終端窗口
3. 獲取 ESP-IDF
工具鏈(包括用於編譯和構建應用程式的程式)安裝完後,你還需要 ESP32 相關的 API/ 庫。API/ 庫在 ESP-IDF 倉庫中。 點擊主目錄下的 mingw32.exe 檔,其實這是一個 shell 命令!用 git 拉取下載最新版的 IDF ESP-IDF_V3.1 框架。

Mingw32:
cd c:/
mkdir ESP_IDF
git clone --recursive https://github.com/espressif/esp-idf.git

Internet Browser下載:
https://github.com/espressif/esp-idf/releases/download/v3.0-rc1/esp-idf-v3.0-rc1.zip

4. 設置 ESP-IDF 路徑
工具鏈程式使用環境變數 IDF_PATH 來訪問 ESP-IDF。這個變數應該設置在你的 PC 中,否則工程將不能編譯。你可以在每次 PC 重啟時手工設置,也可以通過在使用者設定檔中定義 IDF_PATH 變數來永久性設置。要永久性設置,請參考 在使用者設定檔中添加 IDF_PATH 文檔中 Windows、Linux 或 MacOS 相關的指導進行操作。

mingw32:
cd /etc/ profile.d
vim export_idf_path.sh
PRESS: i (Insert)
export IDF_PATH="C:/ESP_IDF/esp-idf"
export PATH="/mingw32/bin/:$PATH"
PRESS: ESC->:wq (Exit and Save)
退出 mingw32,然後再進入 mingw32,確定 IDF_PATH 已經建立。

mingw32.exe:
printenv IDF_PATH

5. 創建一個工程
現在可以開始創建 ESP32 應用程式了。為了快速開始,我們這裡以 IDF 的 examples 目錄下的 get-started/hello_world 工程為例進行說明。將 example/get-started/hello_world 拷貝到 ESP_IDF 目錄。

mingw32.exe。
cd  c:/ESP_IDF
mkdir hello
cd hello
cp -r $IDF_PATH/examples/get-started/hello_world .
cd hello_world
cp $IDF_PATH/examples/get-started/blink/sdkconfig.defaults .
重要: esp-idf 構建系統不支援在路徑中存在空格。

6. 串口連接
還有幾個步驟就完成了。在繼續後續操作前,先將 ESP32 開發板連接到 PC,然後檢查串口號,看看它能否正常通信。如果你不知道如何操作,請查看 Establish Serial Connection with ESP32 中的相關指導。請注意一下埠號,我們在下一步中會用到。
配置在終端視窗中,輸入 cd c:/ESP_IDF/hello/hello_world 進入 hello_world 所在目錄,然後啟動工程配置工具。

menuconfig:
cd c:/ESP_IDF/hello/hello_world
make menuconfig

如果之前的步驟都正確,則會顯示下面的功能表:
Menuconfig
在功能表中,進入 Serial flasher config > Default serial port 配置串口(工程將會載入到該串口上)。輸入 COM4 然後回車確認選擇,選擇 <Save> 保存配置,然後選擇 <Exit> 退出應用程式。

7. 編譯和燒寫
現在可以編譯和燒寫應用程式了,執行 make 指令:

mingw32.exe
make clean
make all
make flash –j4
make flash monitor
這條命令會編譯應用程式和所有的 ESP-IDF 元件,生成 bootloader、分區表和應用程式 bin 檔,並將這些 bin 檔燒寫到 ESP32 板子上。要退出監視器 Monitor,請使用快速鍵 Ctrl+]。

mingw32.exe
Change Makefile PROJECT_NAME := user
make manuconfig
make –j4 all

8. 燒寫
除了使用 Toolchain 的燒寫程式,筆者比較喜歡使用 Flash Download 應用程式來燒錄(習慣)。

燒寫應用程式:FLASH_DOWNLOAD_TOOLS_v3.6.4

燒錄 ESP32 4MB (32Mb)Flash 的檔案:
Download Patch Config
ADDR
Location
bootloader.bin
0x1000
app\build\bootloader\bootloader.bin
partitions_singleapp.bin
0x8000
app\build\partitions_singleapp.bin
user.bin
0x10000
app\user.bin

FLASH_DOWNLOAD_TOOLS_v3.6.4

沒有留言:

張貼留言