AnsweredAssumed Answered

Port of Kinetis Bootloader KBOOT to K60 for UART?

Question asked by Scott Whitney on Oct 24, 2015
Latest reply on Nov 27, 2015 by Scott Whitney

Hi Folks,


I have seen a bit of interest elsewhere in the forum about obtaining a port of the Kinetis bootloader (KBOOT) to the K60 using a UART as the communications link.  At present, it appears to only support the TWR-K64 as probably the closest platform, but I'm not well versed in the differences between the two.


I am also a bit under the gun from a customer who is now insisting on a way to update firmware in the field.  I'm sure that with enough time and effort I can complete the port to the K60, but does anyone have a K60 version available already?  I unfortunately do not have the time to turn this into a research project, as fun as it might be!


Also, can anyone tell me what the difference is between KBOOT 1.2.0 and KBOOT 1.1.0?  Both are still available for download, but it is hard to tell whether one would be a better choice to port than the other.  If it make any difference, my application is using KSDK 1.1.  My project could not afford the additional time to port to KSDK 1.2 and then 1.3... <sigh>


The reference guide mentions getting the CMSIS header files from the microcontroller's product page, but I could not find these for the K60.  Maybe I just missed them?  What I am looking for specifically are the relevant K60 files to perform the porting activities described in the KBOOT reference manual.  Can someone provide a pointer to download these files or tell me where they can be found?


FYI, I am using version 7.40 of the IAR Embedded Workbench for Cortex-M for our development.


I also want to make sure that KBOOT is "bulletproof".  I know it needs to be flash-resident, and that some linker adjustments will be needed to correctly located my application alongside KBOOT, but would like to make sure that the bootloader is _always_ available, even if something goes wrong during a bootloader application update.  Does anyone have any hints on how to configure and run KBOOT so that even if the application is wiped, the bootloader will still be ready and waiting?  It seems like the potential for erasing all of the flash creates the potential to also wipe out the bootloader, which would leave me with a brain-dead system in the field.  Practical advice or experience in this area would be greatly appreciated!  It has to work, reliably, every time, even if the cord is unplugged or the power goes out.  We simply can't tolerate a non-functional system, so protecting the bootloader from accidental erasure is very important.


Thanks in advance for any help, and I will gladly share back anything learned from this effort.