玩转keil之hex_bin文件的生成与迁移
生活随笔
收集整理的這篇文章主要介紹了
玩转keil之hex_bin文件的生成与迁移
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
玩轉(zhuǎn)keil之hex_bin文件的生成與遷移
為何要寫這個(gè)文件
- keil生成
.hex文件時(shí),會(huì)默認(rèn)把它和.o等編譯輸出文件放在一起,由于編譯輸出文件很多,導(dǎo)致找.hex文件很麻煩。 - keil生成
.bin文件時(shí),需要使用者設(shè)置工程,才能生成。 - 由于他倆最后要打包到一起交給生產(chǎn),需要將他倆存放到一起。
- 總之,筆者感覺這樣很繁瑣。所以便寫了一個(gè)腳本來處理這些亂七八糟的事。
最終效果
編譯工程后,keil會(huì)自動(dòng)將.hex文件和.bin文件存放在..\exeout的文件夾中。這樣的好處是在找.hex文件和.bin文件時(shí)特別方便。
如何使用
- 將編寫好的bat腳本存放到工程目錄下。(也就是雙擊就能打開keil工程的后綴名為
uvprojx文件的目錄中)。 - 根據(jù) keil設(shè)置步驟設(shè)置工程。
- 編譯看現(xiàn)象。
編寫bat腳本
1.創(chuàng)建hexmove.bat腳本。和創(chuàng)建.c文件一樣,只不過后綴名為.bat,然后用編輯器打開。
2. 編寫如下代碼。
3. 存放到工程目錄下。
::
::author theboynoName
::date 2019/09/28
::brief 在keil中,生成hex、bin文件到 exeout文件夾中.
::other
:: 技術(shù)交流qq群:825695030
:: 微信公眾號(hào):嵌入式的日常
@echo off
if not exist ..\exeout (mkdir ..\exeout
)
set exePath=%1ARM\ARMCC\bin
set outName=%2
set binName=%3
%exePath%\fromelf.exe --bin %outName% --output %binName%
move /y ..\OBJ\Template.hex ..\exeout >nul
move /y .\%binName% ..\exeout >nul
keil設(shè)置
圖中所添加命令為.\hexmove.bat $K !L UpdateProgram_sp.bin.含義如下
.\hexmove.bat為上面編寫好的bat文件的名稱。(路徑+文件名)。$K為傳輸給bat文件的第一個(gè)參數(shù),即上面所要求的keil的安裝目錄。為什么$K代表keil的安裝目錄呢?其實(shí)這是keil自己規(guī)定的,用于跟外部交互信息使用,具體可以查看keil的幫助。!L代表.axf文件的位置。!L來歷跟$K一樣,不多做解釋。.axf文件是keil工程編譯后生成的,此處用于生成.bin文件。UpdateProgram_sp.bin為生成.bin文件的名稱。可以隨意更改。
總結(jié)
上面已經(jīng)貼出了bat文件的代碼,當(dāng)然也可以直接下載此文件。bat文件下載鏈接,如果遇到解決不了的問題,可以在關(guān)于技術(shù)交流中加群,問筆者、或者大家。
關(guān)于技術(shù)交流
此處后的文字已經(jīng)和題目內(nèi)容無關(guān),可以不看。
qq群:825695030
微信公眾號(hào):嵌入式的日常
如果上面的文章對(duì)你有用,歡迎打賞。
總結(jié)
以上是生活随笔為你收集整理的玩转keil之hex_bin文件的生成与迁移的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 朝鲜时蔬(分数据点写算法+毒瘤数学)
- 下一篇: 2021牛客NOIP提高组第二场T2——