Tool/software: Code Composer Studio
I am setting up a real-world firmware that requires both a custom bootloader and a main app. I think it's pretty clear that I should keep these as separate CCS projects but they will likely live in the same source repository in practice.
What have other development teams found to be the most effective way of managing these two "halves" of the firmware? In the "SimpleLink MSP432 Over-The-Air Wi-Fi Updates" Academy tutorial (within the WiFi SDK documentation: http://dev.ti.com/tirex/explore/node?node=ABcd3tIkTEyB-4cx9ZIVxA__s6qGmnm__LATEST) they have something of an interesting trick:
The main app project includes a static byte array with a pre-built copy of a bootloader image, annotated for the compiler such that it gets placed in the right memory region by default. So when working through the tutorial, i.e. flashing a device for the first time, it Just Works® and flashes the chip with both halves [bootloader vs. app] of the firmware. When preparing app-only images for actual FOTA use the exercise left to the reader is to manually "comment out" [or I would just have CCS exclude from build] the msp432p401_bootloader.c file so the bootloader isn't part of that deploy.
That works nicely for a tutorial but is a bit of a wacky workflow to try automate and document for future development and maintenance teams. I'm wondering if I could at least use a static library instead of having to convert my own bootloader portion of the firmware to C code like the tutorial did. Is it possible to tell CCS to link a particular static library into a specific hardcoded location in memory?

