This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EK-TM4C1294XL: Append device metadata to the binary

Part Number: EK-TM4C1294XL


Hi Folks,

In my projects I use different strings to identify the product name, version, instance, whatever. These information, mainly the device instance, that must be unique per hw product , are generated in a pre build step (emitting a header file).

What I am looking for is a solution to attach somehow a chunk to the binary without compilation step. I would like to avoid the continuous compilation and it should be editable by anybody else, but the developers.

Regards,

Norbert

  • Norbert,

    Do you mean that you wish to have this metadata (product name, version etc) in some sort of binary format which can be linked directly into the executable? If so, I don't believe we have a canned solution for this in our tools today. However, if the data is in .c/.h files, it could be pre-compiled and the object file or library could be linked into the executable. This would still go through the build process, but it would get pulled in just during the link step instead of the pre-build step.

  • Hi,

    exactly, this is what I want, but as I told, I would like to avoid the compilation, even using the CCS: just an example: develop the code in CCS is ok, but downloading the binary to 10, 50 or 100 hw product would be nice to bypass the compilation, however the I have a per device unique ID that should be changed from download to download.
  • We don't have a standard solution for this, but one idea that comes to mind is to have the device metadata built into a separate executable that gets flashed to a specific region of memory (in a different region than the rest of your program). Then before downloading your code, configure the Flash settings to not erase the entire flash but instead erase only the Necessary Pages or specific address range so the device instance flashed earlier remains unchanged.

    I haven't actually tried this myself but might be worth a try to see if it helps you achieve what you want.