国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

ESP32 bin文件生成及多個bin文件合并指南

這篇具有很好參考價值的文章主要介紹了ESP32 bin文件生成及多個bin文件合并指南。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

1. 前言

在ESP32開發(fā)過程中,對于我們實際的開發(fā)人員來說,將程序燒錄進(jìn)入ESP32內(nèi)不是什么復(fù)雜的事情,直接輸入idf.py flash 指令即可實現(xiàn),但是當(dāng)我們開發(fā)完成之后,如何將對應(yīng)的bin文件提供給測試人員進(jìn)行相應(yīng)的測試,以及如何提供bin文件給到產(chǎn)線進(jìn)行生產(chǎn)呢?

通常將工程文件直接發(fā)送出去是不現(xiàn)實的做法,因此需要我們對應(yīng)的開發(fā)人員輸出相應(yīng)的bin文件,提供給測試及生產(chǎn),那么ESP32 IDF如何實現(xiàn)bin文件的生成?以及如何將生成的多個bin文件進(jìn)行合并生成一個bin文件呢?

本文將詳細(xì)介紹,在我們使用 ESP-IDF 開發(fā)完對應(yīng)工程軟件之后的一系列生成、打包操作,包括 bin文件的生成 以及相應(yīng)的 bin文件合并 等操作。

2. 硬件及分區(qū)表

控制器:ESP32-WROOM-32UE
開發(fā)方案:ESP-IDF

工程分區(qū)表如下:
ESP32 bin文件生成及多個bin文件合并指南

Tips: 如需更加深入了解ESP32分區(qū)表有關(guān)內(nèi)容,可參考博主另外一篇博客 ESP32 分區(qū)表(點擊跳轉(zhuǎn)?。?或官方 IDF 編程指南。

3. 編譯

采用IDF工具實現(xiàn)ESP32的編譯,具體命令如下:

idf.py build

ESP32 bin文件生成及多個bin文件合并指南

編譯成功之后,可以在控制終端打印的信息提示生成了對應(yīng)的文件,同時在最后提示,“To flash, run this command”,對應(yīng)含義為“如果需要燒錄需要運行下述命令”

通過提示可知,我們可以知道需要燒錄哪些文件,如此處需要燒錄的文件是:

  • bootloader.bin 地址:0x1000
  • partition-table.bin 地址:0x8000
  • ota_data_initial.bin 地址:0xd000
  • test.bin 地址:0x10000

ESP32 bin文件生成及多個bin文件合并指南
ESP32 bin文件生成及多個bin文件合并指南

4. 燒錄

關(guān)于esp32的固件燒錄主要有兩種方式:

  • 在工程目錄下直接使用idf flash命令燒錄
  • 使用官方燒錄工具 Flash Download Tools

4.1 使用 idf flash 命令燒錄

使用 idf flash 指令燒錄的方式,需要在對應(yīng)的工程目錄下進(jìn)行燒錄,idf工具會自動執(zhí)行工程編譯、之后讀取工程 build/ 目錄下的bin文件并進(jìn)行燒錄,此方式適用于對應(yīng)的開發(fā)人員在軟件開發(fā)、調(diào)試階段進(jìn)行燒錄及調(diào)試使用。

4.2 使用 Flash Download Tools 工具燒錄

Flash Download Tools工具下載地址:https://www.espressif.com/en/support/download/other-tools

此方式燒錄拿到對應(yīng)工程編譯生成的bin文件,由于此燒錄方式不需要提供源碼,因此此方式一般常用于工廠生產(chǎn)或測試過程中使用。

關(guān)于 Flash Download Tools的使用說明,在下載的工具包內(nèi)有相關(guān)文檔說明,大家可自行查閱,下述只對部分關(guān)鍵點進(jìn)行簡述
ESP32 bin文件生成及多個bin文件合并指南
ESP32 bin文件生成及多個bin文件合并指南

4.3 Flash Download Tools Q&A

4.3.1 工程所需的燒錄bin文件有哪些?

  • 在調(diào)用idf.py build命令編譯完以后會生成對應(yīng)的提示信息,提示信息內(nèi)包含燒錄完整工程所需的bin文件項
  • ESP32 bin文件生成及多個bin文件合并指南
  • 注意每個工程生成的bin文件項不一樣,根據(jù)每個工程內(nèi)容不同,編譯生成的bin文件數(shù)量也會不一樣
  • 提示信息中不僅提示了對應(yīng)bin文件的所處的文件路徑,同時在每個文件路徑前提示了對應(yīng)bin文件應(yīng)燒錄的地址

4.3.2 生成的bin文件數(shù)量太多,能否合成一個?

在實際開發(fā)中,我們會發(fā)現(xiàn)一個工程編譯下來,會生成好幾個bin文件,少則三四個,多則上十個,這么多的bin文件,如果使用 Flash Download Tools 進(jìn)行燒錄的話,每個bin文件都需要點 ... 進(jìn)行路徑選擇,并填寫對應(yīng)的燒錄地址,這是一個很麻煩的事情,更是一個極容易出錯的問題,那能否將這些bin文件合成成為一個bin文件呢?

當(dāng)然是可以的,接下來我們將分享三種 esp32 bin文件合并的方案,大家可根據(jù)自行需要進(jìn)行選擇哪一種方案更加適合自己!


4.3.2.1 使用 FLash Download Tools 合并bin文件

如圖所示,Example:ESP32 bin文件生成及多個bin文件合并指南


4.3.2.2 使用 esptool.py 工具的 merge_bin 功能進(jìn)行合并

merge_bin 命令將會合并多個bin文件為一個bin文件,多個bin文件中間間隔的部分將會使用0xFF進(jìn)行填充

esptool.py --chip ESP32 merge_bin -o merged-flash.bin --flash_mode dio --flash_size 4MB 0x1000 bootloader.bin 0x8000 partition-table.bin 0x10000 app.bin

以上命令將 bootloader.bin(0x1000地址開始燒寫) partition-table.bin(0x8000地址開始燒寫) app.bin(0x10000地址開始燒寫)合并為一個bin文件,并命名為merged-flash.bin(起始地址為0x0)

  • 如需指定flash大小可使用 --flash_size參數(shù)
  • 如需指定flash最大通訊頻率可使用--flash_freq參數(shù)
  • 如需指定flash通訊模式可使用--flash_mode參數(shù)
  • 如需指定合并后的bin文件起始地址偏移可使用--target-offset 0xNMN
  • 如需指定合并后的bin文件包總大小可使用--fill-flash-size SIZE,SIZE設(shè)置具體的大小

ESP32 bin文件生成及多個bin文件合并指南


4.3.2.3 使用文本文件描述merge_bin選項進(jìn)行合并

??4.3.2.2 中需要在 merge_bin命令中輸入所有待合并的bin文件路徑以及對應(yīng)的偏移地址,當(dāng)bin文件較多的時候輸入較多的參數(shù)也是一個較為復(fù)雜且易出錯的問題,那是否可以考慮將此指令編寫成一個腳本呢?當(dāng)我在準(zhǔn)備為其編寫一個腳本的時候,發(fā)現(xiàn) esp32 其實也考慮了這個點

ESP32 bin文件生成及多個bin文件合并指南

??其實在編譯的時候,工程同時也生成了一個文本文件來描述需要生成的bin文件,在對應(yīng)工程目錄下執(zhí)行了 idf.py build 命令之后,我們可以發(fā)現(xiàn)在 build/ 目錄下會生成一個 flash_args 文件,打開此文件如下:
ESP32 bin文件生成及多個bin文件合并指南

??此文件內(nèi)描述了調(diào)用esptool.py merge命令的參數(shù)信息,因此我們可以直接使用此文件合并一個完整的工程bin文件,且此文件內(nèi)的信息都是編譯自動生成的,也就解決了我們手動一個個輸入bin文件造成的誤輸入導(dǎo)致的錯誤問題!

具體操作方法如下:

  • 編譯工程 idf.py build
  • 進(jìn)入編譯生成的build目錄 cd ./build
  • 執(zhí)行merge_bin命令,調(diào)用flash_args文本內(nèi)的參數(shù) esptool.py --chip ESP32 merge_bin -o merged-flash.bin @flash_args
  • ESP32 bin文件生成及多個bin文件合并指南

Tips: 如果執(zhí)行命令報錯,請檢查 ①flash_args是否在build目錄下存在 ②確認(rèn)執(zhí)行此命令時已進(jìn)入build目錄下?。?/p>


創(chuàng)作不易,轉(zhuǎn)載請注明出處!

關(guān)注、點贊+收藏,可快速查收博主有關(guān)分享!文章來源地址http://www.zghlxwxcb.cn/news/detail-488363.html


到了這里,關(guān)于ESP32 bin文件生成及多個bin文件合并指南的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • SQL JOIN 子句:合并多個表中相關(guān)行的完整指南

    SQL JOIN 子句:合并多個表中相關(guān)行的完整指南

    JOIN子句用于基于它們之間的相關(guān)列合并來自兩個或更多表的行。 讓我們看一下“Orders”表的一部分選擇: OrderID CustomerID OrderDate 10308 2 1996-09-18 10309 37 1996-09-19 10310 77 1996-09-20 然后,看一下“Customers”表的一部分選擇: CustomerID CustomerName ContactName Country 1 Alfreds Futterkiste Maria A

    2024年02月05日
    瀏覽(14)
  • 【uniapp小程序-生成二維碼+多個圖片文字合并一張圖】

    下載uqrcodejs: https://uqrcode.cn/doc/guide/getting-started.html

    2024年02月03日
    瀏覽(78)
  • ccs生成bin文件方法

    ccs生成bin文件方法

    右擊工程文名,點擊屬性 , 然后 依次點擊 Build-Step , 如下圖 在 Post Build Step中輸入如下字符:\\\"${CCE_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin.bat\\\" \\\"${BuildArtifactFileName}\\\" \\\"${BuildArtifactFileBaseName}.bin\\\" \\\"${CG_TOOL_ROOT}/bin/ofd2000.exe\\\" \\\"${CG_TOOL_ROOT}/bin/hex2000.exe\\\" \\\"${CCE_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin.exe\\\"

    2024年01月18日
    瀏覽(21)
  • 【方法】如何合并多個PDF文件?

    【方法】如何合并多個PDF文件?

    多個PDF文件,想合并成一個文件,要怎么操作呢? 如果PDF文件的數(shù)量少,并且頁數(shù)也不多,可以試試將內(nèi)容復(fù)制黏貼到Word文檔,再轉(zhuǎn)為PDF格式;如果文件數(shù)量多,頁數(shù)也多,就不太合適了,容易出錯,也十分耗費時間。 想要快速合并多個PDF文件,又不容易出錯,不妨借助

    2024年01月24日
    瀏覽(26)
  • python 合并多個excel文件

    python 合并多個excel文件

    使用 openpyxl 思路: 讀取n個excel的文件,存儲在一個二維數(shù)組中,注意需要轉(zhuǎn)置。 將二維數(shù)組的數(shù)據(jù)寫入excel。 安裝軟件: 源代碼: 效果截圖: 使用 pandas 思路: 讀取n個excel的文件,存儲在一個二維數(shù)組中,注意需要轉(zhuǎn)置。 將二維數(shù)組的數(shù)據(jù)寫入excel。 安裝軟件: 源代碼

    2024年02月14日
    瀏覽(25)
  • Keil使用 fromelf 生成bin文件

    Keil使用 fromelf 生成bin文件

    一、語法格式如下: fromelf ???[options] ???input_file [options] 選項如下,可以組合使用,兩者之間用空格隔開: 二、在Keil中的使用過程 1、配置Output,生成可執(zhí)行文件 aa即為可執(zhí)行文件名,后綴為axf。即編譯后會生成一個叫aa.axf的文件,然后再由這個文件生成bin文件。 2、配置

    2023年04月26日
    瀏覽(17)
  • PHPWord 實現(xiàn)合并多個word文件

    本來想著當(dāng)調(diào)包俠呢,結(jié)果翻了一遍文檔,沒有這種操作支持,阿這?? 不出意外的一頓胡扯,給?????氣的要中風(fēng)啦 word 也就是 docx 結(jié)尾的文件本質(zhì)上就是 xml 字符串, 兩個word文件合并其實就是把兩個字符串拼接起來,你真是小天才呢????? 原地址 【能打開的直接抄就

    2024年02月15日
    瀏覽(20)
  • 合并多個大語言模型文件的方法

    運行下面命令, (示例)Linux and macOS: (示例)Windows command line: refer: https://huggingface.co/TheBloke/Swallow-70B-instruct-GGUF 完結(jié)!

    2024年01月17日
    瀏覽(21)
  • 使用Python合并多個Excel文件

    使用Python合并多個Excel文件

    合并Excel可以將多個文件中的數(shù)據(jù)合并到一個文件中,這樣可以幫助我們更好地匯總和管理數(shù)據(jù)。日常工作中,合并Excel主要有以下兩種需求: 將多個Excel文件合并為一個文件 將多個Excel工作表合并為一個工作表 這篇文章將介紹如何使用第三方Python庫 Spire.XLS for Python 實現(xiàn)以上

    2024年02月05日
    瀏覽(22)
  • lammps教程:多個dump文件合并為一個文件

    大家好,我是小馬老師。 本文介紹多個dump文件合并為一個dump文件的方法。 在前面的文章中,介紹過python ovito可以把一個dump文件按幀拆分為多個dump文件。 同理,多個dump文件也可以合并為一個dump文件。 基本原理是先讀入多個dump文件,然后再合并輸出為一個單獨的文件。

    2023年04月09日
    瀏覽(138)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包