This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Intel HEX file and map file

Hello everybody.
I would know if a way exixts to find a match between the map file (where the memory allocation is illustrated) produced at the end of the compilation and the HEX file (that I download on my target).
I mean, the HEX file is composed by HEX records (each line of it) where the 4 hex digits, after the two representing the length, stand for the address.
But I am not able to find a match between these addresses and the one on the map file.
Could anyone help?

I can put the question in a different way, explaining what I should do, in order to have alternative suggestions.
I would edit the HEX file (for example running a script file) generating n-HEX files starting from it, where each one of it has modified a specific variable (for example representing the Identifier of the system where downloading the HEX file). But to do so, I was thinking to put the variable that represents this Identifier in a fixed and known location, then searching it on the HEX file and modifying according to my needs.
But, how I told before, I find the variable on the map file of course, but I am not able to find it on the HEX file.
Thanks to all.

Parents
  • In a number of projects, I have placed special data absolutely last in the flash. For example a crc32 of the image together with a version string an possibly a serial number.

    This allows a transfer program to dynamically produce the downloaded image for each individual unit. When running, the application may compute the crc32 value for the full flash minus (for example) the last 32 bytes and then compare with the stored value at the end. Of the crc32 value may instead be augmented so that a crc32 of the full flash should always evaluate to 0.

Reply
  • In a number of projects, I have placed special data absolutely last in the flash. For example a crc32 of the image together with a version string an possibly a serial number.

    This allows a transfer program to dynamically produce the downloaded image for each individual unit. When running, the application may compute the crc32 value for the full flash minus (for example) the last 32 bytes and then compare with the stored value at the end. Of the crc32 value may instead be augmented so that a crc32 of the full flash should always evaluate to 0.

Children
No data