GENERAL: MAKING BINARY FILES FROM HEX FILES
Information in this article applies to:
I need to create a BINARY file from the HEX file created by the object-HEX converter program. Where can I find a utility that does that?
You may want to consider using the free srec_cat.exe utility which is available as Windows EXE file from https://sourceforge.net/projects/srecord/files/srecord-win32. It is part of the SRecord project hosted on sourceforge.net. With this utility, you can load one or multiple HEX files, cut out specific address areas, move them to a new address and store them to a BINARY file.
You can invoke srec_cat.exe from a Windows command prompt or Make tool:
srec_cat.exe HexFile.hex -Intel -o BinaryFile.bin -Binary
You can also invoke this tool after each project build/rebuild by specifying its invocation in the µVision dialog Options for Target - User - After Build/Rebuild. In this example, the HEX file which is generated by a µVision project build/rebuild is converted to a binary file in the same folder. Please see the description of µVision key sequences for more details. If many parameters are needed, it may be easier to use a command file. When using a command file for srec_cat.exe, be sure to double the '@' character, or µVision might interpret it as a key-sequence.
For a full description of all srec_cat.exe parameters, refer to the SRecord Reference Manual. Here are some options which are useful with Keil tools:
If you want to convert a HEX file (HexFile.hex) which contains max. 32K of code (address range 0x010000-0x017FFF) to a BINARY file (BinaryFile.bin) of exactly 32K where all gaps are filled with 0xFF, you can use the following srec_cat.exe command file:
# BL51 hex files are not sorted for ascending addresses. Suppress this warning -disable-sequence-warning # take HexFile.hex address area 0x010000-0x017FFF and subtract an offset of 0x010000 .\OBJ\HexFile.hex -Intel -crop 0x010000 0x017FFF -offset -0x010000 # Fill gaps from 0x0000-0x7FFF (32K) with value 0xFF -fill 0xFF 0x0000 0x8000 # generate a Binary file -o .\OBJ\BinaryFile.bin -Binary
Invocation of srec_cat.exe with command file:
The following Discussion Forum threads may provide information related to this topic.
Last Reviewed: Tuesday, July 17, 2018
of your data.