Keil自动编译生成、合并hex、bin文件

一、生成hex、bin文件

生成hex文件就不用多说了,利用keil自带的fromelf.exe工具生成bin文件。
C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe --bin -o ./output/release/app.bin ./output/release/HC32L17X.axf

二、合并文件

使用srec_cat.exe工具,既可合并hex文件,亦可合并bin文件。利用此功能,可以将bootloader与app文件合并成一个文件,减少生产烧录工序,提高生产效率。

1、
@Rem 合并bootloader.hex and app.hex生成合并的hex文件
…\merge\srec_cat.exe …\merge\bootloader.hex -Intel …\out\app.hex -Intel -o MergedHexFile.hex -Intel

2、
@Rem 合并bootloader.bin and app.bin生成合并的bin文件
…\merge\srec_cat.exe …\merge\bootloader.bin -Binary -crop 0x000000 0x003FFF …\out\app.bin -Binary -crop 0x000000 0x020000 -offset 0x004000 -o MergedBinFile.bin -Binary

3、
亦可以由合并的hex文件,用fromelf.exe工具转成bin文件

4、
注意,以下方法似乎不行:
…\srec_cat.exe …\bootloader.hex -Intel …\out\app.hex -Intel -o MergedBinFile.bin -Binary
不能由hex文件直接合并成bin文件。
…\srec_cat.exe …\bootloader.bin -Binary …\out\app.bin -Binary -o MergedBinFile.bin -Binary
不能由bin文件直接合并成bin文件,因为bin文件不含有地址信息。

三、文件组织

将需要生成或合并的文件放到工程顶级目录下,方便查看提取。
1、将所需要的工具、需要合并的文件放到merge目录。
2、将自动生成的文件放到out目录。

四、自动批处理文件

C:\Keil_v5\ARM\ARMCC\bin\fromelf.exe  --bin  -o ./output/release/app.bin .

你可能感兴趣的:(编译)