Great Ap Note... Coded into two designs... works like a champ!
So here's my stupid question: How come this works????
This approach to bootload involves executing and programing Flash memory in the K60 all confined to Block 0. How is it that I am not seeing read while write issues???
See this from AN4367 (note, the application itself is loaded into 0x0000_C0000):
The bootloader is placed into the first 48 KB of the on-chip flash memory, but the actual size of the bootloader can be smaller. The user application can be placed into the flash area above the bootloader flash area. The last 4 KB of the flash memory must be reserved for the bootloader's parameters storage, which is defined by the size of the erase-page of the on- chip flash memory.
The following figure shows the memory map and the bootloader memory footprint. The bootloader code is located in the first address of the flash memory, 0x0000_0000 to 0x0000_BFFF. The bootloader parameters are located in the first address of the last logical-block of the flash memory, 0x0007_F000 to 0x0008_0000 (in Kinetis MK60n512).