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.

MSP432P401R: Recommended way to combine two .obj files into a single one?

Part Number: MSP432P401R

We have two Code Composer projects that produce a bootloader and an app respectively. To ease testing/production, we'd like to be able to combine these two .obj files so that we can provision a working chip via e.g. Uniflash from only a single file.

I found an older forum thread on this which linked to a wiki article which I found archived at https://web.archive.org/web/20180106212012/https://processors.wiki.ti.com/index.php/Combining_executable_files — is that still the generally recommended approach only with newer tools?

For example that uses an ofd470 tool which according to https://software-dl.ti.com/ccs/esd/documents/sdto_cgt_tiobj2bin_failed.html has been replaced by an "armofd" utility instead. Or is TI deprecating their own compiler tools and we should start moving to full GCC stack including objcopy?

I'm hoping we can create a third "wrapper" project that depends on the bootloader and app projects with a custom build script that combines their outputs.

  • It is the still the case that hex utility armhex can be used to combine executable files.  Otherwise, that wiki article is out of date.  For up to date documentation, please search the TI ARM assembly tools manual for the sub-chapter titled The Load Image Format.  

    As for ofd470 changing names to armofd ... About 10 years ago, all the names of the executables in the TI ARM compiler toolchain changed.  This included changing the name of object file display utility from ofd470 to armofd.  By itself, this is not a reason to change from the TI ARM toolchain to a different one.

    However, the TI ARM proprietary toolchain is being replaced by one based on LLVM and Clang.  For details, please see the article The future of compiler tools for TI Arm® Cortex®-based MCUs.

    Does this reply resolve your problem?

    Thanks and regards,

    -George