標籤:
使用過Keil的同鞋都知道,現在Keil中預設可以輸出.axf的調試檔案和可以通過鉤選輸出的.hex可執行檔,沒有bin(二進位)檔案的輸出選項。可是偏偏某些時候需要或者習慣性的使用.bin檔案來進行燒寫,下面各舉一例:
1. 一直使用ADS的使用者習慣性的使用.bin檔案;
2. 某些燒寫器帶的應用軟體只支援.bin檔案;
3. 正如筆者遇到的情況,我在使用STM32公司提供的網路更新韌體程式的常式時,需要用到.bin檔案(.hex檔案通過網路更新後遇到某些問題,而且用Hex2Bin軟體轉換後的也不行)。
其實Keil也內建了工具軟體,只要進行適當配置便可以輸出bin檔案了,不過在介紹具體方法前,請仔細閱讀下面這一段關於Keil中內建的fromelf.exe工具說明:
該工具的文法為:fromelf [options] input_file
其中options中的選項及說明如下:
命令選項格式
命令 |
說明 |
--help |
顯示協助資訊 |
--vsn |
顯示版本資訊 |
--output file |
輸出檔案(預設輸出為文字檔) |
--nodebug |
在產生的映像檔案中不包含調試資訊 |
--nolinkview |
在產生的映像檔案中不包含段的資訊 |
二進位輸出格式
選項 |
說明 |
--bin |
輸出plain binary格式的檔案 |
--m32 |
產生Motorola 32位十六進位格式的檔案 |
--i32 |
產生Intel 32位的十六進位格式的檔案 |
--vhx |
面向位元組的位十六進位格式的檔案 |
--base addr |
設定m32,i32格式檔案的基地址 |
--text |
顯示文本資訊,文本資訊標誌如下: -v 列印詳細資料 -a 列印資料地址(針對帶調試資訊的映 像) -d 列印資料區段的內容 -e 列印運算式表 -f 列印消除虛函數的信息 -g 列印調試表 -r 列印重定位資訊 -s 列印字元表 -t 列印字串表 -y 列印動態段的內容 -z 列印代碼和資料大小資訊 |
講完了工具的文法,下面就講如何在Keil中運用該內建的工具,以使在工程編譯後能產生.bin格式的檔案:
1. 開啟一個建好的工程檔案,就不舉例說明了。
2. 打開OptionsforTarget ‘工程名稱’對話方塊,可直接點表徵圖,如:
3. 選擇User標籤頁,並進行如一樣的配置:
4. 根據User頁的配置還要配置Output頁面,具體如下:
5. 點擊OK確定,然後再重新編譯則會按照中的配置路徑產生.bin格式的檔案了:
OK,打完收工…………希望對大家有點協助!
Keil如何產生bin檔案【Keil產生Bin檔案的方法】