前兩節已經說明了,開發環境以及升級到最新的sdk。本節 Hello_World 案例。
導入ESP32_IDF項目
1. 選擇 File→Import
2. 點開C/C++分支,並選中Existing Code as Makefile Project
3. 去除C++支持,選中 Cygwin GCC
點擊Browser,選中 esp-idf-v2.1所在的目錄
4. 點擊 Finish 完成 esp-idf 的導入
如下圖:
esp-idf-v2.1 本身是不需要做任何處理的,導入即可。有所以的源碼,資源,文檔等。
導入hello_world案例
1.安裝上面的步驟導入項目。案例目錄:
我們導入 hello_world 案例 ,在案例文件夾中的get-started目錄下。
2.導入到編輯器,如下圖:
配置項目
此時,已經具備了編譯的基礎,下面我們配置 make menuconfig 和 make flash 兩條指令
首先新建target,右鍵項目名稱→Make targets ,選擇 Creat
給該 Target 新建一個名稱
在彈出的頁面中取消勾選 Use builder setting ,
取消勾選 Same as the target name 並清空 Make target 的內容
在下面command 中輸入 mintty.exe -e make menuconfig
點擊 OK 保存
重復上一步驟,新建一個 DownLoad 的 Target ,
在彈出的頁面中取消勾選 Use builder setting ,
取消勾選 Same as the target name 並清空 Make target 的內容
在下面command 中輸入 make flash
點擊 OK 保存
選中項目,按下快捷鍵 Shift + F9,彈出剛才新建的兩個 Target
鼠標選中需要編譯的 Target, 點擊 Build 即可實現在 Eclipse 中下載和配置 idf
開始配置,這里我們配置usb端口才能繼續編譯項目。
選中 menuconfig 點擊 Build。
為了使FLASH下載能執行,我們需要配置一下serial flasher config,看下圖
第一個是你的串口號,這個怎么看呢,這么看,使用這個工具 cygwin,
輸入 cd /dev 回車
輸入 ls 回車
圖中紅色的部分是你電腦上可用的串口號,一般是你的com號減一,比如我的是com3,映射到里邊就是ttyS2。然后把其輸入到里邊。
第二個是波特率設置,第三個不知道啥,先不管,第四個是SPI FLASH的模式,這個在配置eclipse的時候不重要,但是你要用樂鑫的下載工具,不好意思,這個你就要記住了,第五個是SPI的速度。記住就行,改完之后,可以保存一下
下一次就可以直接用這個配置了
然后我們編譯一下
編譯項目
Build Project :編譯項目
Clean Project:清理項目
選中編譯項目,控制台輸出如下圖即編譯成功
其中有一句很重要。
esptool.py v2.1
To flash all build output, run 'make flash' or:
python /cygdrive/d/AiThinkerIDE_V0.5/cygwin/home/aithinker/project/esp-idf-v2.1/components/esptool_py/esptool/esptool.py
--chip esp32 --port /dev/ttyS2 *這個是設置好的端口號*
--baud115200 *波特率*
--before default_reset
--after hard_reset write_flash -z
--flash_mode dio *燒寫模式*
--flash_freq 40m *頻率*
--flash_size detect
0x1000 /home/aithinker/project/esp-idf-v2.1/examples/get-started/hello_world/build/bootloader/bootloader.bin *編譯文件以及燒錄地址 0x1000*
0x10000 /home/aithinker/project/esp-idf-v2.1/examples/get-started/hello_world/build/hello-world.bin *編譯文件以及燒錄地址 0x10000*
0x8000 /home/aithinker/project/esp-idf-v2.1/examples/get-started/hello_world/build/partitions_singleapp.bin *編譯文件以及燒錄地址 0x8000*
注意:Build Project 前最好先 Clean Project,以防止出錯