ESP32那些事兒(二):磨刀不誤砍柴功-做好專案開發前的準備工作
如果你是第一次接觸FreeRTOS和ESPRESSIF的產品,例如我,那還是要先來個整體印象,然後再逐個深化。做專案的都知道,老闆們是不允許我們四平八穩的研究完然後再開始專案。
那也不妨礙咱們要有自己的節奏,既要平衡專案的進度,也要按照事情的規律來做事情 。這就需要快速的準備一些預備知識,磨刀不誤砍柴功,倉促上陣,只會欲速則不達。
一、瞭解ESP32晶片
ESP32的基本引數如下:
更深入一點的,我們可以看看ESP32的規格書:
《esp32_datasheet_cn.pdf》
《esp32_technical_reference_manual_cn.pdf》
這些都可以從樂鑫的網站上下載。
二、初步瞭解FreeRTOS
ESP32使用FreeRTOS,並且做了基於雙核的定製,如果你是第一次接觸FreeRTOS,那也是要簡單的瞭解一下FREERTOS。有一篇詳細的文件,可以前期快速瀏覽一部分:
《FreeRTOS_Reference_Manual_V9.0.0.pdf》
三、閱讀ESP-IDF文件
瞭解完FreeRTOS,就要看看esp32提供了那些功能,在真正開始之前,我們需要快速的瀏覽一下esp32的sdk,具體的網址如下:
https://esp-idf.readthedocs.io/en/latest/index.html,
這份文件是esp32開發最權威、最完整的官方文件,所以要經常的查閱翻看這份官方文件。他的wifi功能
四、安裝ESP-IDF環境
接下來就要真刀真槍的實驗一番了,不過首先就要安裝ESP-IDF的環境,可以看官方文件中的Get Started一章,
https://esp-idf.readthedocs.io/en/latest/get-started/index.html
這裡有最新的最全的配置步驟,這些環境配置步驟包括:
1、準備編譯的PC(windows/mac/linux介面),準備開發板和USB連線線。
2、配置交叉編譯工具鏈。
3、從github中下載esp-idf。
4、安裝和配置編輯開發環境,官網上推薦Eclipse,可以整合GDB除錯。這一步是可選的,我自己沒有用這種方式。
只要按照文件的步驟,基本上都不會有問題。
五、ESP32的編譯
這時候就可以進行最有意思的工作,開發編譯應用程式並且試驗一下。這大概可以總結為四步:
1、配置專案,編寫程式碼。
我們一把都會從一個例子開始,esp32程式碼中例子還是很豐富的。
2、編譯
3、燒寫
4、Monitor和Debug程式的執行。
我們通常使用串列埠的輸出來進行Debug,就是使用最Low的列印來Debug。如果程式Bug不太好確定,也可用JTAG和GDB單步除錯,開發板預設是支援JTAG的,通常自己專案的板子不一定支援這個。
其中,編譯和燒寫有一些比較有用的命令,文件中並沒有完全寫出來:
• make menuconfig – 執行配置選單,做過kernel開發的會非常熟悉.
• make defconfig - 為所有的配置項設定預設值
• make all – 編譯所有程式碼.
• make flash – 把編譯後的Bin檔案燒寫到ESP32中.
• make clean – 清除編譯產生的檔案.
• make monitor – 連線ESP32串列埠,並且輸出ESP32的列印資訊.
• make erase_flash – 擦除ESP32上的整個Flash.
• make size - 顯示Bin檔案中各個部分的大小
• make size-components -, size-files - 每個模組所佔記憶體的大小,這個在專案程式碼膨脹後還是比較有用的。
• make app – 編譯app.bin
• make app-flash – 燒寫app.bin
其他的幾個也可以顧名思義:
• make app-clean –
• make bootloader –
• make bootloader-flash –
• make bootloader-clean –
• make partition-table –
六、執行一個例子
好了,到目前為止,你可以進入到esp-idf/examples,找一個 喜歡的例子,並且嘗試編譯和燒寫了。