大家都知道MDK中默認可以生成hex文件,但是筆者最近在調(diào)試IAP在線升級程序時,需要用到bin文件來使用,那么在MDK中如何生成bin文件呢?
筆者胡亂搜索一通,到是找到了有很多方法可以生成bin文件,比如說借助外部的hex2bin軟件,但是筆者實驗之后發(fā)現(xiàn)生成的bin文件還是無法使用,并且文件體積也比較大。
通過比較,發(fā)現(xiàn)MDK內(nèi)部自帶有 fromelf.exe 工具,可以很方便的生成bin文件,并且生成的bin文件親測可用。
該工具的語法為:fromelf [options] input_file
關(guān)于 [options] 的語法格式,這里就不啰嗦了,感興趣的可以參考這篇文章
Keil如何生成bin文件
1、首先,打開現(xiàn)有的工程;
2、打開 Option for Target標簽(即打開魔術(shù)棒);
3、選擇Output標簽頁,寫入需要生成的文件名稱。
例如圖中的PWM,并且記錄生成文件的路徑
4、選擇User標簽頁,并且填入如下信息,在最前面Run,選擇一下
D:\keil5\ARM\ARMCC\bin\fromelf.exe --bin --output ../OBJ/PWM.bin ../OBJ/PWM.axf
例如我自定義的一次生成的指令是:
C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ../../Output/sthex.bin ../../Output/sthex.axf
說明:
fromelf: D:\keil5\ARM\ARMCC\bin\fromelf.exe
MDK自帶工具路徑,筆者的路徑如上所示,請修改為自己的路徑(或者點擊右邊的文件夾小圖標,找到該工具)。
[options]: --bin --output ../OBJ/PWM.bin
生成bin文件命令,想把生成的bin文件放在什么地方.記住路徑最前面是 ../(兩個點)
input_file: ../OBJ/PWM.axf
輸入文件,這里是用axf格式的文件轉(zhuǎn)換為bin文件,找到你工程里的axf文件所在位置,填上去就可以了。
這里填入的axf文件名,要和Output標簽下的文件名一樣,axf文件的路徑也可以在這邊看到。
其實這里如果不確定路徑怎么寫,就從Output中查看,可以設(shè)置為axf,bin文件在同一個路徑下,這樣最簡單。
5、點擊 OK,大功告成,再次編譯,就可以在你想要的路徑下,看到bin文件啦。
可能遇到的問題:
1、編譯運行出錯,找不到axf文件路徑。
確認一下,路徑是否和工程的axf文件路徑一致,一定注意最前面是 …/,是兩個點。
2、找不到bin文件。
確認一下,output輸出路徑,再次強調(diào),一定注意最前面是 ../,是兩個點。
聯(lián)系客服