I am looking at the KBOOT and the KL82 ROM. The thoughts are to use the the KBOOT as base for a bootloader.
I have noticed that from the application level, one can gain access to Flash Driver available in ROM (chapter 9 of the Kinetis Bootloader Reference Manual).
What has peeked my interest is the Bootloader API Tree (see below):
//! @brief Root of the bootloader API tree.
//! An instance of this struct resides in read-only memory in the bootloader. It
//! provides a user application access to APIs exported by the bootloader.
//! @note The order of existing fields must not be changed.
typedef struct BootloaderTree
void (*runBootloader)(void *arg); //!< Function to start the bootloader executing.
standard_version_t bootloader_version; //!< Bootloader version number.
const char *copyright; //!< Copyright string.
const uint32_t *reserved; //!< Do NOT use.
const flash_driver_interface_t *flashDriver; //!< Flash driver API.
Since KBOOT supports UART, I2C, SPI, USB, FlexCAN and QSPI peripherals, is there a way to gain access to the ROM drivers for these peripherals?