Teensy 3.0

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?