原文连接:
https://jingyan.baidu.com/article/219f4bf7ac6d3bde442d38be.html
为什么需要BIN文件呢?
1、有些烧录器只支持BIN文件。
2、进行OTA远程升级时,只能使用BIN文件。
3、使用JLink脚本文件进行一键烧录时,只支持BIN文件。
4、BIN文件要比HEX和AXF文件小的多。
但Keil默认生成的是AXF和HEX文件格式,那BIN怎么来生成呢?
1、Keil5或Keil4开发环境
2、一个完整的工程,无错误,能正常生成hex文件
Keil自带了一个小工具,可以通过执行指令来将AXF文件转换为BIN文件。
这就需要调用一个外部程序fromelf.exe来将AXF文件转换为BIN格式文件。
fromelf.exe文件的位置在安装目录Keil_v5\ARM\ARMCC\bin或者Keil_v5\ARM\ARMCC_505u2\bin目录下。
在工程配置菜单中,User选项卡,编译后执行的命令,设置为
fromelf --bin -o "[email protected]" "#L"。当然也可以使用绝对路径的方式,需要看指定fromelf文件的路径,输出BIN文件的路径和生成的AXF文件的路径。
- 当然如果你想把其他开发环境生成的AXF文件转换为BIN文件,也可以直接调用这个小工具来实现。
- 命令格式为:
[fromelf.exe文件路径] --bin -o [BIN路径} [AXF文件路径}
如:
E:/Keil_v5/ARM/ARMCC/bin/fromelf.exe --bin -o E:/Keil_Project/OneNET.bin E:/Keil_Project/OneNET.axf
END
- Keil开发环境可以是Keil4或者Keil5
- fromelf.exe不能拿出来单独运行,它还依赖于Keil安装目录下的其他文件