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.
Tool/software: TI C/C++ Compiler
I have two output files (boot.out and application.out) that I want to combine into a single merged.out file. I want to do this so that I have a single image that I can use with the CCS debugger to debug and evaluate the final executable just as it would appear in the delivered product (boot.out and application.out have already been independently debugged). The problem I am having with the examples provided at "processors.wiki.ti.com/index.php/Combining_executable_files" is that all three examples assume that I am relocating the input files. I do not want to do this. I want all the sections in boot.out to stay at the absolute addresses defined in boot.out, and similar for application.out (please note that both ".out" files contain multiple non-contiguous sections). Here is what I have tried:
(1) If I use hex2000 to merge the two ".out" files using --load_image, the result is a ".obj" file instead of a ".out" file. I have been unsuccessful getting the debugger to use a ".obj" file instead of a ".out" file.
(2) If I use hex2000 to independently create boot.obj and application.obj files (again using the --load_image option), then use cl2000 to merge them together, I get a ".out" file but everything has been relocated. Defining starting addresses using a section such as "{boot.obj(boot_image*)} > a_starting_address" does not work because the sections in boot.obj are not contiguous (i.e. each section defined in boot.obj would have to get assigned its own unique starting address).
Thank you.
The methods in the article about using the hex utility to combine executables do not work for your use case ...
Patrick Findling said:so that I have a single image that I can use with the CCS debugger to debug and evaluate the final executable just as it would appear in the delivered product
For one thing, the hex utility --load_image option ignores uninitialized sections like .stack and .ebss. That doesn't work for you.
Unfortunately, TI has no solution which directly addresses your situation.
I'm not sure about what to recommend. Here is something to consider. Take all the source files from the boot.out project, and all the source files from the application.out project, and combine them into a single project. Build a single executable out of that.
Thanks and regards,
-George