1.簡介

最近的項目使用內(nèi)部閃存存儲程序代碼、外部閃存存儲照片文本等數(shù)據(jù),無線更新時只更新內(nèi)部閃存,程序需要生成內(nèi)部閃存二進制文件。開始下一個任務(wù)!

2.工程建設(shè)

首先選擇了TouchGFX生成項目。在此選擇STM32L4R9I_DISCOVERY開發(fā)工具包,然后選擇正式提供的Demo。最終接口圖如下圖1所示。


然后生成代碼,點擊圖1的【Generate Code】,這個軟件的使用等后面有機會出一個連載教程,這里就不多說明了,然后生成代碼成功后,打開分散加載文件,打開方式如圖2。

通過圖3可以看到程序部分存儲在內(nèi)部Flash,圖片和文字數(shù)據(jù)存儲在外部Flash。


3.生成BIN文件


這時候添加一串生成BIN文件的命令。

  1. fromelf --bin --output STM32L4R9I_DISCOVERY\BIN_Da STM32L4R9I_DISCOVERY\STM32L4R9I_DISCOVERY.axf

復(fù)制代碼

添加在如圖4所示位置,這個位置是編譯通過之后會執(zhí)行的命令。


編譯一下,查看生成的BIN文件,可以看到一個奇怪的現(xiàn)象,生成了一個為【Bin_Da】的文件夾,如圖5所示。


進入文件夾之后可以看到兩個文件,分別是【ER_EROM1】和【ER_IROM1】兩個文件,如圖6但是文件類型未知。


雖然這個文件也是一個BIN文件,只是后綴名不正確,我們用【W(wǎng)inHex】軟件打開其中一個文件如圖7,可以看到文件是可以被正常打開的,內(nèi)容也是正確的。


但是這個文件后綴不太如意,這時候我發(fā)現(xiàn)了一件事,文件名與分散加載文件中的某一些名字一樣,那么我如果修改這個名字是不是可以達到我想要的以BIN為后綴的文件,說做就做,把文件中的名稱加上【.BIN】后綴,如圖8所示。


然后將生成的文件夾名字中的【.BIN】刪除,如圖9,修改后的代碼如下。

  1. fromelf --bin --output STM32L4R9I_DISCOVERY\BIN_Da STM32L4R9I_DISCOVERY\STM32L4R9I_DISCOVERY.axf

復(fù)制代碼


編譯一下,可以看到生成的了一個新的【BIN_Data】的文件夾,如圖10。

點擊進去后可以看到這兩個文件名有了【.BIN】的后綴如圖11,說明我猜想的沒有問題。


4.總結(jié)


生成BIN文件的整體操作其實很簡單,但是在網(wǎng)上找不到相關(guān)的教程,所以就寫了一篇,對于文中提到的【分散加載文件】的教程網(wǎng)上也比較少,網(wǎng)上都是一些官方的說明,下一篇我寫一下【分散加載文件】的使用,讓你靈活分配內(nèi)存。


原標題:【Keil使用記錄】Part1:使用Keil生成內(nèi)部和外部BIN文件

原創(chuàng)作者:二哲科技

本文為21ic原創(chuàng)獎勵作品,詳情請見21ic論壇活動專區(qū):第一屆萬元紅包——藍V達人原創(chuàng)獎勵活動,如果您也有興趣參與征文,歡迎進入論壇參與活動~

1.《如何轉(zhuǎn)換bin格式的文件怎么打開方式看這里!「全程無槽點」Keil操作第一彈:如何生成BIN文件》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識,僅代表作者本人觀點,與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。

2.《如何轉(zhuǎn)換bin格式的文件怎么打開方式看這里!「全程無槽點」Keil操作第一彈:如何生成BIN文件》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。

3.文章轉(zhuǎn)載時請保留本站內(nèi)容來源地址,http://f99ss.com/gl/3123334.html