I wasn't very clear, I am sure you can generate a hex file with any Cortex M4 tool chain.
Here is my question. How easy is it to load an arbitrary hex file?
I read this also
Teensy 3.0 features an off-chip bootloader design. On Teensy 2.0 and all Arduino(R)** brand boards, the bootloader consumes a small portion of the available flash memory. On most boards, the bootloader executes briefly before your own program. By storing the bootloader in a separate chip, your code can use all of the flash memory. Your code can also run immediately after a reset event, without bootloader interference.
I wonder how you start the boot loader?
My guess is that the button copies the boot-loader into RAM. The boot-loader can then program all flash.
Perhaps the boot-loader uses FlexMemory. I don't have a clear understanding of FlexMemory.
The next question is how do you send the hex file to the boot-loader?