大家都知道MDK中默认可以生成hex文件,但是笔者最近在调试IAP在线升级程序时,需要用到bin文件来使用,那么在MDK中如何生成bin文件呢? 笔者胡乱搜索一通,到是找到了有很多方法可以生成bin文件,比如说借助外部的hex2bin软件,但是笔者实验之后发现生成的bin文件还是无法使用,并且文件体积也比较大。 通过比较,发现MDK内部自带有 fromelf.exe 工具,可以很方便的生成bin文件,并且生成的bin文件亲测可用。 该工具的语法为:fromelf [options] input_file 关于 [options] 的语法格式,这里就不啰嗦了,感兴趣的可以参考这篇文章 1、首先,打开现有的工程; 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 说明: 这里填入的axf文件名,要和Output标签下的文件名一样,axf文件的路径也可以在这边看到。 其实这里如果不确定路径怎么写,就从Output中查看,可以设置为axf,bin文件在同一个路径下,这样最简单。 5、点击 OK,大功告成,再次编译,就可以在你想要的路径下,看到bin文件啦。 可能遇到的问题: 1、编译运行出错,找不到axf文件路径。 2、找不到bin文件。 |
|
来自: 眼镜蛇图书馆zh > 《STM32/Keil相关》