1. 程式人生 > >ESP32那些事兒(二):磨刀不誤砍柴功-做好專案開發前的準備工作

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,找一個 喜歡的例子,並且嘗試編譯和燒寫了。