After Buid/Rebuid 选项下的Run#1 打上勾,在后一格添加一行代码,此代码的功能为将Objects下的project.axf文件转换为project.bin文件输出至Objects文件夹下。其中.axf文件为keil编译过程产生的文件。
fromelf --bin --output Objects\project.bin Objects\project.axf
fromelf 是keil安装目录下\Keil_v5\ARM\ARMCC\bin 的文件
点击编译,接着文件就自动生成
尝试让自动运行 .bat文件, 探索中········
killl.bat 放在
这个路径下面,用于删除不用的多余的文件,只留下 hex文件
killl.bat 文件内容:
del *.O /s
del *.d /s
del *.dep /s
del *.htm /s
del *.txt /s
::del *.opt /s ::不允许删除JLINK的设置
del *.axf /s
del *.lnp /s
del *.dep /s
del JLinkLog.txt /s
del *.iex /s
del *.sct /s
del *.crf /s
exit
Command.bat 转二进制文件, 和打包脚本内容:
cd /d D:\DA14580\program\OTA
hex2bin -e bin A.hex
hex2bin -e bin secondary_bootloader.hex
mkimage.exe single A.bin version.h A.img
mkimage.exe multi spi secondary_bootloader.bin A.img 0x8000 A.img 0x13000 0x1f000 OTA.bin
exit
方案二: 用 .Bat 脚本,编译完后自动运行用户自定义程序
需求: 在每次工程编译后,在工程目录下的out文件夹下会生产 A .hex文件。
用2个脚本分实现:
第1个脚本:Copy_hex.bat
第一步,将编译后生成的 A.hex文件 copy出来到另一个目录
copy /y D:\program\Projects\WP_LEARN\JC_M10_v1.1\projects\target_apps\ble_examples\ble_app_ota\Keil_5\out_580\A.hex D:\program\Projects\WP_LEARN\JC_M10_v1.1\hex2bin\
exit
第2个脚本:Command_hex2bin.bat
cd /d D:\program\Projects\WP_LEARN\JC_M10_v1.1\hex2bin
hex2bin -e bin A.hex
hex2bin -e bin secondary_bootloader.hex
mkimage.exe single A.bin version.h A.img
mkimage.exe multi spi secondary_bootloader.bin A.img 0x8000 A.img 0x13000 0x1f000 OTA.bin
exit
第二步: 在这个目录里,利用copy出来的.hex文件,转换为 .bin文件。
将转换后的 .bin文件 和一个secondary_bootloader.hex 合并, 生产一个A.hex,
然后将此 A.hex 转换成 A.img, 然后设置引导位置后,生产OTA文件。
这里:
Run#1 中填的为: D:\program\Projects\WP_LEARN\JC_M10_v1.1\hex2bin\Copy_hex.bat
Run#2 中填的为:D:\program\Projects\WP_LEARN\JC_M10_v1.1\hex2bin\Command_hex2bin.bat
bat目录
编译前:
编译后:
A.hex 为 脚本复制过来的。
A.hex,A.bin,A.img,A_OTA.bin 均为后来生成的(其中A.hex被重新生成覆盖一次)。
注意:以上 .bat脚本运行时,均需要按实际目录更改目录路径。
注意:工程目录被移动或是copy后导致工程的路径改变,需要响应的更改下面的地方:
1,keil你们的bat文件路径对应要更改。
2, 2个脚本文件内的内容路径要更改:
3,确认Hex的生成路径及名称:
参考:
http://gk969.com/keil-mdk-user-program/
.bat参考:
http://www.openedv.com/posts/list/600.htm
http://www.openedv.com/posts/list/598.htm?fromAll=0
https://www.jb51.net/article/18981.htm
https://gk969.com/keil-mdk-user-program/