精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

如何實現(xiàn)程序拼接和hex/bin格式互轉(zhuǎn)?

strongerHuang ? 來源:strongerHuang ? 作者:strongerHuang ? 2021-03-20 11:39 ? 次閱讀

現(xiàn)在很多產(chǎn)品都有IAP(BootLoader)和APP(應用程序),一般在量產(chǎn)的時候,需要把兩部分程序合在一起。

一般來說,通過編程下載)工具就能實現(xiàn)程序拼接,以及hex/bin格式互轉(zhuǎn)。

下面結合STM32,以及對應的ST-LINK Utility、STM32CubeProg工具給大家簡單描述下:

IAP、APP程序拼接

hex、bin格式的互轉(zhuǎn)

1

理解bin、hex、axf

想要掌握程序IAP+APP程序拼接,需要理解程序文件hex、bin文件格式內(nèi)容。

用一個表格來區(qū)分bin、hex和axf三者的關系:

bin hex axf
程序數(shù)據(jù) 程序數(shù)據(jù) 程序數(shù)據(jù)
地址、類型、校驗等標記信息 地址、類型、校驗等標記信息
調(diào)試信息

Bin文件

Bin文件就是一種沒有格式的程序文件,只是包含了程序數(shù)據(jù)。

Hex文件

Hex是由Intel制定的一種十六進制標準文件格式,是由編譯器轉(zhuǎn)換而成的一種用于下載帶處理器里面的文件。

Hex文件格式是由一行一行的十六進制數(shù)據(jù)組成,每行包含:開始、長度、數(shù)據(jù)、類型、校驗和等重要信息。

axf文件

axf文件是經(jīng)過編譯器編譯之后,包含具有程序、調(diào)試等更多信息的一種文件。

對比MDK-ARM編譯后三個文件大小

Objects目錄下:

Demo.axf(236K)

Demo.hex(4K)

Bin目錄下:

Demo.bin(2K)

請參看:理輕松理解bin、hex、axf和elf文件格式

2

通過工具實現(xiàn)IAP+APP拼接

用于產(chǎn)品量產(chǎn),燒錄的程序文件,一般是hex,或bin文件。

不管是hex文件,還是bin文件,我們都需要通過燒錄軟件 +燒錄(編程)工具實現(xiàn)。

燒錄軟件針對不同MCU,一般有不同的燒錄軟件。

針對STM32,一般建議使用官方提供的STVP、ST-LINK Utility和STM32CubeProg這三種編程軟件。

拼接說明拼接IAP+APP兩段程序,一般簡單方法就是:將兩個程序分別燒錄進去,再統(tǒng)一讀取出來,保存成一個量產(chǎn)文件。 拼接說明IAP 和 APP程序的起始地址是不同的,因此燒錄進芯片,是存儲在兩片區(qū)域的。 燒錄程序的時候,特別是燒錄bin文件(沒有地址)時,要注意設置好起始地址。hex文件有地址地址,不用自己設置地址。 讀取“合并”程序的時候,同樣要注意起始地址,還有讀取大小,保證讀取全部程序。 比如通過ST-LINK Utility讀取STM32程序:

通過STM32CubeProg讀取STM32程序:

再次提示:

燒錄bin文件時,設置好起始地址;

讀取時,設置起始地址,讀取大小;

保存可選擇hex,還是bin文件;

這里推薦閱讀:

ST-Link專欄

ST-LINK Utility介紹、下載、安裝和使用教程

STM32CubeProg介紹、下載、安裝和使用教程

3

通過工具實現(xiàn)bin、hex格式轉(zhuǎn)換

在某些情況下需要使用特定格式的文件,比如我們遠程升級,要求通過bin文件實現(xiàn)。

通過上面的介紹,其實你會發(fā)現(xiàn),使用編程軟件ST-LINK Utility,或STM32CubeProg,就能直接另存為hex,或bin文件格式。

ST-LINK Utility另存為:

STM32CubeProg另存為:

之前我有介紹在MDK-ARM中,直接轉(zhuǎn)換成bin文件的文章:Keil MDK利用 fromelf 實現(xiàn)axf 轉(zhuǎn) bin 的方法

當然,這些方法是比較簡單,也比較使用的方法。bin和hex格式文件互相轉(zhuǎn)換的工具,網(wǎng)上有很多,感興趣的朋友可以搜索了解一下。

原文標題:IAP、APP程序拼接,及hex/bin格式互轉(zhuǎn)

文章出處:【微信公眾號:strongerHuang】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

責任編輯:haq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • STM32
    +關注

    關注

    2266

    文章

    10873

    瀏覽量

    354845
  • IAP
    IAP
    +關注

    關注

    2

    文章

    163

    瀏覽量

    24251

原文標題:IAP、APP程序拼接,及hex/bin格式互轉(zhuǎn)

文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關推薦

    hex格式和二進制的區(qū)別

    HEX格式和二進制在多個方面存在顯著的區(qū)別。以下是對這兩者的對比: 一、定義與表示方式 HEX格式HEX,全稱為Intel
    的頭像 發(fā)表于 11-18 15:24 ?271次閱讀

    盛顯科技:拼接處理器如何實現(xiàn)高效數(shù)據(jù)拼接操作?

    眾所周知,高效的數(shù)據(jù)拼接操作無疑是數(shù)據(jù)處理領域的核心優(yōu)勢,它能極大地縮短了處理時間,讓拼接處理器能夠迅速應對海量數(shù)據(jù)的挑戰(zhàn),實現(xiàn)數(shù)據(jù)的快速整合與輸出。因此,高效數(shù)據(jù)拼接操作不僅是技術進
    的頭像 發(fā)表于 10-23 10:58 ?182次閱讀
    盛顯科技:<b class='flag-5'>拼接</b>處理器如何<b class='flag-5'>實現(xiàn)</b>高效數(shù)據(jù)<b class='flag-5'>拼接</b>操作?

    labview中浮點數(shù)與十六進制字符串相互轉(zhuǎn)

    與下位機數(shù)據(jù)交流及通訊時,經(jīng)常有浮點數(shù)與十六進制字符串相互轉(zhuǎn)化的需求,經(jīng)過兩天總結,找到了最簡潔的相互轉(zhuǎn)化的方法,萌新歡迎大佬指正,文件也附上。*附件:HEX字符串與浮點數(shù)轉(zhuǎn)換.rar
    發(fā)表于 10-21 19:51

    單片機hex文件反編譯成C語言的過程

    使用C語言編寫,然后編譯成機器碼并燒錄到單片機的存儲器中。 Hex文件是一種用于存儲單片機程序的文件格式,它包含了程序的機器碼和一些附加信息,如起始地址、結束地址等。
    的頭像 發(fā)表于 09-02 10:49 ?2541次閱讀

    hex文件如何查看原c語言代碼

    直接將 .hex 文件轉(zhuǎn)換回原始的 C 語言代碼是不可能的,因為 .hex 文件是二進制文件,它包含了單片機程序編譯后的機器碼,這些機器碼與原始的 C 語言代碼在結構和表達上存在巨大的差異。機器碼
    的頭像 發(fā)表于 09-02 10:37 ?1577次閱讀

    用labview實現(xiàn)串口bin文件或hex文件的燒錄。bin要用Xmodem協(xié)議。

    最近遇到項目需要用串口更新程序,mcu已經(jīng)部署好bootloader來實現(xiàn)。現(xiàn)在就需要用labview來完成文件的傳輸。現(xiàn)在是頭疼這個文件傳輸應該怎么去實現(xiàn)。讀取了bit文件后是直接字符串發(fā)送嗎,需
    發(fā)表于 08-12 15:19

    使用CY521 EVAL配置CYPD2122,如何將文件保存為HEX格式

    我正在使用 CY521 EVAL 配置 CYPD2122。 一切運行正常,我現(xiàn)在希望將文件保存為 HEX 格式,以便通過 MiniProg4 進行編程。但是,當我進入\"保存到固件文件
    發(fā)表于 08-12 08:19

    液晶拼接屏有無縫拼接的嗎

    液晶拼接屏存在無縫拼接的技術。具體來說,無縫液晶拼接屏的實現(xiàn)方式主要有兩種:
    的頭像 發(fā)表于 08-01 09:27 ?420次閱讀

    AD7124的程序如何將它導出成hex格式呢?

    ,那么如何將它導出成hex格式呢?我翻遍了其中的資料還是沒有找到辦法。因為只有把這個hex文件燒寫到黑色的評估板里,才能測試AD7124呢。
    發(fā)表于 07-23 08:13

    TSMaster 中 Hex 文件編輯器使用詳細教程

    TSMaster中Hex文件編輯器的使用方法,該編輯器能實現(xiàn)將現(xiàn)有的Hexbin、mot、s19和tsbinary類型的文件按地址分割;并且能將H
    的頭像 發(fā)表于 06-01 08:21 ?683次閱讀
    TSMaster 中 <b class='flag-5'>Hex</b> 文件編輯器使用詳細教程

    Dave編譯后的bin格式文件大于hex格式文件,可能是什么原因呢?

    如題,今天使用Dave4.5編譯時,生成的.bin文件大于.hex文件,請問可能是什么原因呢?哪里沒設置嗎? .bin格式編譯的信息,使用release模式編譯的 .
    發(fā)表于 05-24 07:40

    stm32下載freertos,hex文件小燈就閃爍,下載bin文件就毫無反應呢?

    為什么我下載hex文件小燈就閃爍,下載bin文件就毫無反應呢求高手解答 謝謝
    發(fā)表于 05-16 08:05

    stm32使用SD卡保存HEX升級芯片內(nèi)部flash,需要轉(zhuǎn)換成BIN文件嗎?

    請問下:stm32 自己使用SD卡保存HEX升級芯片內(nèi)部flash,需要轉(zhuǎn)換成BIN文件嗎?
    發(fā)表于 05-09 06:15

    求助,為什么binhex文件開始的前面4個字節(jié)不一樣?

    最后面bin文件也多了幾個字節(jié)的00,另外iap升級用hex還是bin好點?
    發(fā)表于 04-12 06:12

    用STM32進行bootloader開發(fā)時,能不能將boot和app程序hex合成為一個hex進行燒錄?

    大家好,請問用STM32進行bootloader開發(fā)時,能不能將boot和app程序hex合成為一個hex進行燒錄?我之前分別燒錄兩個hex,是可以
    發(fā)表于 04-01 08:20