西西軟件園多重安全檢測(cè)下載網(wǎng)站、值得信賴的軟件下載站!
西西首頁(yè) 電腦軟件 安卓軟件 電腦游戲 安卓游戲 排行榜 專題合集

二進(jìn)制bin文件合并工具

綠色版
  • 二進(jìn)制bin文件合并工具綠色版
  • 軟件大小:152KB
  • 更新時(shí)間:2013-04-16 08:57
  • 軟件語(yǔ)言:中文
  • 軟件廠商:
  • 軟件類別:國(guó)產(chǎn)軟件 / 免費(fèi)軟件 / 文件處理
  • 軟件等級(jí):4級(jí)
  • 應(yīng)用平臺(tái):WinAll, WinXP
  • 官方網(wǎng)站:暫無(wú)
  • 應(yīng)用備案:
好評(píng):50%
壞評(píng):50%

軟件介紹

在單片機(jī)的開(kāi)發(fā)過(guò)程中,經(jīng)常需要將兩個(gè)單獨(dú)的BIN文件合并成一個(gè)文件,方便燒寫和生產(chǎn)。

超好用的一個(gè)工具,可以實(shí)現(xiàn)兩個(gè)二進(jìn)制bin文件的合并,任一指定偏移量合并。使用它可以直接將編譯好的兩個(gè)bin文件按照程序員需要合并,而不需費(fèi)力去重建工程重新編譯。有興趣的朋友可以試試。

方法:

首先簡(jiǎn)單介紹一下STM32的IAP。IAP(In-application-programming),即在應(yīng)用中編程。有了它,產(chǎn)品發(fā)布之后,仍然可 以方便的升級(jí)固件,而不需要拆機(jī)并用JTAG等方式更新程序。IAP系統(tǒng)的固件一般有兩部分組成,IAP BootLoader Code和Application Code,如下圖所示。

      image

      系統(tǒng)啟動(dòng)時(shí),首先運(yùn)行IAP BootLoader Code,并檢測(cè)相應(yīng)狀態(tài),判斷是執(zhí)行升級(jí)的流程還是直接運(yùn)行本地的Application Code。 一般來(lái)說(shuō),BootLoader和Application是分別編譯的,會(huì)生成兩個(gè)二進(jìn)制文件。在工廠生產(chǎn)時(shí),如果分別燒寫這兩個(gè)文件,顯然有些麻煩。這 時(shí),我們就可以將兩個(gè)BIN文件合并成一個(gè),直接燒寫。假設(shè)Application Code的偏移地址為0x1000,IAP固件在Flash中的分布如下圖所示。

      image

      下面介紹第一種方法,使用二進(jìn)制文件合并工具(UBIN.exe),這個(gè)小工具是以前在S3C2410上開(kāi)發(fā)uCOS時(shí)做的,功能比較簡(jiǎn)單,滿足一般的需求。

      首先,添加第一個(gè)文件1.bin,其地址為0x0000,所以,偏移量設(shè)置為0x00000000,設(shè)置完偏移量后點(diǎn)擊“添加”按鈕。

      image

      然后添加第二個(gè)文件,偏移量根據(jù)需要設(shè)置為0x00001000,如下圖所示。

      image 

      設(shè)置目標(biāo)文件為C:\dst.bin,然后點(diǎn)擊“合并”按鈕。

      image

      正常情況下,會(huì)成功生成目標(biāo)文件,并有如下圖所示的提示信息。

      image 

      這種方法相對(duì)比較靈活,對(duì)合并文件的個(gè)數(shù)和偏移地址沒(méi)有限制。缺點(diǎn)是不支持配置文件,不能保存所設(shè)的配置,所以,每次合并都得手動(dòng)做很多重復(fù)工作。在調(diào)試階段會(huì)比較浪費(fèi)時(shí)間。

      下面介紹一種通過(guò)命令行工具合并兩個(gè)文件的方法。該方法需要用到fsutil.exe、cat.exe和hbin.exe。寫一個(gè)批處理文件,分別調(diào)用這三個(gè)工具,最終將1.bin和2.bin合并成dest.bin。批處理文件的內(nèi)容如下:

del dest.bin
fsutil  file createnew dest.bin 
4096 
cat 
2.bin >>dest.bin
hbin 
1.bin dest.bin

       批處理文件各行的簡(jiǎn)單說(shuō)明,

  •       del dest.bin,刪除原來(lái)的目標(biāo)文件
  •       fsutil  file createnew dest.bin 4096,創(chuàng)建一個(gè)大小為4096字節(jié)的空白文件dest.bin,該值的大小由偏移地址0x1000決定
  •       cat 2.bin >>dest.bin,將2.bin追加到空白文件dest.bin之后
  •       hbin 1.bin dest.bin,將1.bin放到dest.bin的頭上,填充dest.bin頭上4KB的空白

      dest.bin就是我們最終需要的合并完成的文件。將它與第一種方法合并的文件dst.bin對(duì)比一下,如下。

      image

      可以看到兩種方法合并出的文件,完全一樣。

      第二種方法的好處在于,可以在集成開(kāi)發(fā)環(huán)境中設(shè)置編譯選項(xiàng),在編譯完成之后自動(dòng)執(zhí)行該批處理,這樣,編譯完成后即得到能夠直接固化到Flash中的二進(jìn)制文件,節(jié)省了一些時(shí)間。

軟件標(biāo)簽: 文件合并

其他版本下載

發(fā)表評(píng)論

昵稱:
表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
查看所有(0)條評(píng)論 > 字?jǐn)?shù): 0/500

TOP
軟件下載