來(lái)源:公眾號(hào)【魚鷹談單片機(jī)】?ID:emOsprey
有的時(shí)候,我們需要通過(guò)腳本的方式在 bin 文件前加一些頭(比如版本號(hào)、校驗(yàn)),因此今天魚鷹分享一點(diǎn)小知識(shí)。
hex 轉(zhuǎn) bin 的方法太多了,就不多介紹:
《功能強(qiáng)大的 HEX 開源轉(zhuǎn)換工具,你值得擁有》
《Keil 生成 Bin 文件最正確的姿勢(shì)》
《bin 和 axf 文件的生成》
可以看到用了一個(gè)奇怪的符號(hào) !L。
另外《BUG 終結(jié)者,現(xiàn)場(chǎng)抓獲!|顛覆認(rèn)知》也有一個(gè)奇怪的?%L。
這個(gè)是什么呢?我們可以通過(guò)腳本的方式打印出來(lái)看看(批處理也可以調(diào)用 shell、Python 腳本,這樣可操作性很大)。
@echo off
:: 參數(shù) 0 為批處理自身的文件名
set parameter_0=%0
:: @L 目標(biāo) axf 文件(不帶后綴名)
set parameter_1=%1
:: %L 目標(biāo) axf 文件(帶后綴名)
set parameter_2=%2
:: !L 目標(biāo) axf 文件(帶相對(duì)路徑和后綴名)
set parameter_3=%3
:: $L Objects 文件夾(絕對(duì)路徑)
set parameter_4=%4
:: #K MDK 安裝絕對(duì)路徑
set parameter_5=%5
:: $K MDK 安裝絕對(duì)路徑
set parameter_6=%6
:: 版本號(hào)
set version=%7
:: 注意:參數(shù)使用時(shí) %x 數(shù)字后不能有任何空格。= 兩邊也不需要空格
echo --parameter0 %parameter_0%--
echo --parameter1 %parameter_1%--
echo --parameter2 %parameter_2%--
echo --parameter3 %parameter_3%--
echo --parameter4 %parameter_4%--
echo --parameter5 %parameter_5%--
echo --parameter6 %parameter_6%--
echo --parameter7 %version%--
:: 腳本或命令調(diào)用
:: 獲取當(dāng)前路徑
"C:Program FilesGitbinsh.exe" -c "pwd"
"C:Program?FilesGitbinsh.exe"?-c?"./helloword.sh"
讓工程編譯完成后自動(dòng)調(diào)用該腳本打印看看結(jié)果:
test.bat @L %L !L $L #K $K 0.1
"C:Program FilesGitbinsh.exe" -c "./helloword.sh"
編譯工程后,自動(dòng)編譯腳本 test.bat(該文件和工程文件同一目錄下):
更多符號(hào)介紹可參考鏈接:https://developer.arm.com/documentation/101407/0538/Utilities/Key-Sequence-for-Tool-Parameters