如图:
fromelf --bin --output ..\BIN\test.bin ..\OBJ\IAP.axf
指令说明:
formelf --bin --output //调用formelf工具生成bin文件输出
..\BIN\test.bin //将生成的bin文件命名为test.bin,并存放于相对工程文件(xx.uvprojx)上一级目录的BIN文件夹中。
..\OBJ\IAP.axf //生成bin文件的源文件,在相对工程文件(xx.uvprojx)上一级目录->OBJ文件->IAP.axf文件。
即keil先生成IAP.axf,再将IAP.axf转换为test.bin输出
-----------------------------------------2019-10-08 问题添加---------------------------------------------------------------------------------------
(推荐)指令2:
fromelf --bin -o ..\BIN\test.bin "#L"
本指令好处是可以不用纠结axf的路径问题。
..\BIN\test.bin 目标输出路径,存放于相对工程文件(xx.uvprojx)上一级目录的BIN文件夹中。
常规错误提示:
Stm32 : Could not open file 'xxxx.axf': No such file or directory
错误原因:指令设定路径错误。
如目录结构为:
--Template
----BIN
--------test.bin
----OBJ
--------IAP.axf
----Project
--------stm32.uvprojx
则此时..\BIN\test.bin和..\OBJ\IAP.axf是正确的,它们是相对于Project 文件夹下的stm32.uvprojx文件路径而言。
当目录路径如下:
--Template
----BIN
--------test.bin
----OBJ
--------IAP.axf
----Project
--------MDK
----------------stm32.uvprojx
则此时..\BIN\test.bin和..\OBJ\IAP.axf是错误的。
stm32.uvprojx的路径为Project\MDK\stm32.uvprojx
正确的指令是:..\..\BIN\test.bin ..\..\OBJ\IAP.axf
此时相对于stm32.uvprojx来说,BIN和OBJ是处于上两层目录的,而不是一层。