ESP32S3 多固件燒錄方法、合并多個固件為單一固件方法
文章目錄
- ESP32S3 多固件燒錄方法、合并多個固件為單一固件方法
- 前言
- 1、前期準備工作
- 2、多固件燒錄方法
- 3、單固件燒錄方法
- 總結
前言
使用正點原子的ESP32S3 BOX開發板獨立燒錄編譯生成的xxx.bin固件無法正常運行起來,因為如果沒有經過特殊處理直接下載單一固件,程序是不會正確運行的,必須添加多個固件才可以運行。即單獨燒錄工程編譯生成的固件程序是不會運行的,需要同時燒錄其它輔佐的固件才可以,比如另外的bootloader.bin、partition-table.bin 等,至于為什么要這樣,可以自行學習,這里不展開描述。
本文就以一個簡單的例子來操作演示,只要掌握了該方法,其它的工程或燒錄固件方法都一樣的,舉一反三。
1、前期準備工作
第一步:首先解壓一個(圖片顯示)實驗例程到桌面,當然,工程存放在其它英文路徑下也是可以的,不要含有中文路徑即可,如下圖:
第二步:雙擊打開工程文件夾,鼠標右鍵空白區域選擇以通過VS Code 打開工程。
第三步:編譯工程。
打開VS Code 主界面后,在左下方找到一個扳手的圖標,點擊編譯工程。
注意:左下角會有一個IDF版本的選擇,要IDF版本和你工程的版本一致,點擊就可以在頂部搜索框下面選擇對應工程版本的,我打開的是5.4的版本,所以就選擇這個,能選多個版本的前提是你已經提前安裝了多個版本的IDF。如果版本不對應,可能會導致運行異常的,如果下載后發現不合理就看看是否是這里的版本問題導致的。
如果打開工程后無法自動匹配IDF版本,那么就會顯示xxx的,此時就需要手動選擇一個對應的版本了,不然是無法進行編譯的。
編譯完后提示信息如下圖:
可以看到編譯結果有3個xx.bin文件,如下圖:
注意,不同功能代碼所包含的bin數量就會不一樣。
第四步:接著打開工程文件夾,可以看到比之前多了一個build文件夾,里面就用來存放編譯生成的固件的。
進去build文件夾后如下圖:
三個固件就存放在里面。
第五步:打開固件燒錄工具:flash_download_tool_3.9.2。
2、多固件燒錄方法
打開固件燒錄軟件以后,添加工程編譯生成的3個固件和對應地址。忘記了具體地址是多少的可以回到IDE查看的。
按圖片標號順序依次設置完成后,點擊START按鈕開始固件燒錄。
注意COM要和板子的端口一致才能正常燒錄,如果不知道具體是多少,可以到電腦設備管理器里面端口看到具體COM幾的,沒安裝過驅動的那么就要先安裝一次串口驅動。
燒錄完成后,按一次開發板的復位按鍵即可啟動程序看現象了。
說明一下,如果單純的添加22_pitures.bin固件進行燒錄的話,程序是無法正常運行,可以自己驗證測試一次就明白了。
3、單固件燒錄方法
在前面多固件燒錄的基礎上將多個固件合成一個固件進行燒錄。按下圖標號順序設置參數。
如果沒有自己操作的情況下,工具自己會合成一個固件的,路徑是flash_download_tool_3.9.2\combine\target.bin。你下載一次后,這個target.bin就被覆蓋你當前合成的固件了,直接下載就可以用了。
當點擊CombineBin按鈕后,工具會默認打開燒錄工具的路徑,里面是這個target.bin文件了,(該步驟可選,工具默認完成的)。
如果有特殊需求可以選其它的路徑或名字生成。
接著直接添加該固件,地址填0x0即可進行燒錄了。
注意:如果燒錄固件還是無法運行,那么就看看這個固件生成的時間是否合理的,失敗的話可以重新操作一次,只要代碼正常一般基本上生成也是沒問題的。
燒錄完成后按一次復位按鍵即可運行程序了。
總結
ESP32用燒寫工具進行固件燒錄是比較簡單的,需要注意的就是添加位置相關固件,不能只下載一個實驗bin固件,不然是無現象的,注意這個問題就沒其它錯誤的地方了。