Why do you need to separate bootloader and application in Kinetis? You can take advantage of using program flash memory swap techniques in Kinetis.
Please see the application notes AN4533 “Robust Over-the-Air Firmware Updates Using Program FlashMemory Swap on Kinetis
Microcontrollers”
Also, if you really want to use bootloader and application structure(in case you want to use flexMemory for something else), one way to do it is to make device drive as separated library, just like MQX, and include it into application and bootloader projects.
But since the bootloader and applications are two separated prjects, they will need to have:
1. bootloader + lib (OS +device drive)
2. application + lib (OS +device drive)
There is nothing to share between the two.