博客專(zhuān)欄

EEPW首頁(yè) > 博客 > Keil 生成 Bin 文件最正確的姿勢(shì)

Keil 生成 Bin 文件最正確的姿勢(shì)

發(fā)布人:魚(yú)鷹談單片機(jī) 時(shí)間:2021-07-07 來(lái)源:工程師 發(fā)布文章

魚(yú)鷹曾在《bin 和 axf 文件的生成》筆記中介紹了如何使用 keil 生成 bin 文件,也在 《功能強(qiáng)大的 HEX 開(kāi)源轉(zhuǎn)換工具,你值得擁有》中介紹了如何使用第三方工具生成 bin 文件,為什么還要寫(xiě)這篇筆記呢?

第三方工具功能強(qiáng)大,但 KEIL 自帶工具不需要額外安裝軟件,更加方便,但網(wǎng)上流傳的 keil 生成 bin 文件的方法都有一個(gè)缺點(diǎn),那就是同樣的命令,如果 ROM 分了多個(gè),那么將生成一個(gè)文件夾,里面包含了多份 ROM 的 bin 文件。

比如,你的配置如下:

1.png

如果你使用下面的命令將生成一個(gè)文件夾,而不是單獨(dú)的一個(gè) out.bin 文件。(!L 代表當(dāng)前工程目錄的 axf 文件,會(huì)根據(jù)目標(biāo)的設(shè)置而自動(dòng)更新)

fromelf.exe --bin -o ./out.bin !L

2.png

生成的文件是兩個(gè)單獨(dú)的,原本的 out.bin 應(yīng)該是一個(gè)文件得,但由于有兩個(gè) ROM ,所以生成了兩個(gè) bin 文件用于兩個(gè) ROM 的燒錄,但事實(shí)上,我們只有一個(gè) ROM (flash),只是我們?nèi)藶榘阉殖闪藘蓚€(gè)(比如 BootLoader 和 APP 部分)。如果我們想要一次性燒錄應(yīng)該怎么辦呢?

3.png

一般遇到這種情況,有些道友會(huì)使用第三方工具將兩個(gè) bin 文件進(jìn)行合并。

但魚(yú)鷹今天想和道友分享的可不是這個(gè),不然怎么能說(shuō)是最正確的姿勢(shì)呢?

這個(gè)方法是魚(yú)鷹前兩天偶然看到的,非常好用,所以就此分享給大家,讓各位道友也能掌握該方法。

廢話不多說(shuō),直接上命令:

fromelf.exe --bin --bincombined --bincombined_padding=1,0xff --output outfile.bin  !L

是的,你沒(méi)有看錯(cuò),還是使用 fromelf.exe 程序,不同的是,加入了額外的參數(shù),因此,你可以用它將 axf 文件直接生成一個(gè) outfile.bin 文件(文件名可以任意),因?yàn)橹虚g可能存在空白,所以需要參數(shù)設(shè)定空白填充的數(shù)據(jù),這里是 0xff。

4.png

默認(rèn)生成路徑在工程文件所在文件夾下:

5.png

并且這個(gè)命令可以適用于一個(gè) ROM 的情況,所以建議大家使用該命令生成 bin 文件。

你學(xué)廢了嗎?

*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。

透射電鏡相關(guān)文章:透射電鏡原理


關(guān)鍵詞: 芯片

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉