Generating Intel Hex Files Based on a Given Length Using Srec_Cat
Learn more about standard binary files and how you can control data based on length with Intel Hex.
Join the DZone community and get the full member experience.
Join For FreeThe 'standard' binary files for many tools are S19, binary, or Intel Hex files. Especially for S19 and Intel Hex, it can be useful to control the amount of data per line. By default, the GNU objcopy creates files with a line length of 44 characters:
Default objcopy binary file line length
But it is possible to have Intel Hex files with a custom line length using the SRecord utility, and this is what this article is about.
First, use the GNU ' objcopy' to generate a Intel Hex file (or use the MCUXpresso IDE for this). The following line generates the Intel Hex file from an ELF/Dwarf (.axf) file:
arm-none-eabi-objcopy -v -O ihex app.axf app.hex
This generates a 'default' Intel Hex file with a line length of 44 characters:
Default objcopy binary file line length
Then, use the srec_cat
tool from the SRecord package with the -line-length
option:
srec_cat app.hex -intel -output new.hex -Intel -line-length=64
With this, I have an Intel Hex file with a different line length — in this case, 64 characters:
Intel Hex File with longer lines
That's it!
The SRecord tools are very versatile to convert and manipulate binary files. To learn more, have a look at the links below.
Happy Inteling!
Links
Published at DZone with permission of Erich Styger, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Comments