Mark Butcher

Difficulties using KL27 BOOT ROM

Discussion created by Mark Butcher on Dec 7, 2016
Latest reply on Dec 7, 2016 by Bob Paddock

Hi All


I am preparing the production of a new line of KL27 based USB devices where I plan to use the internal BOOT ROM loader for initial factory programming. In order to do some verification I have taken the FRDM-KL27Z to run through the process.


Initially I started with a blank chip and could program the application (in fact a secondary boot loader that will be used in case of firmware upgrades directly from the product's PC application). This is therefore fine for usual production circumstances.


However, in case of emergencies it is also possible to use the BOOTCFG0 input to get back to the internal BOOT ROM, but this wasn't working as expected. I found that the application starts normally if the BOOTCFG0 is not asserted but the board just hangs when it is asserted - there is no USB enumeration and it doesn't react to the reset anymore even when the BOOTCFG0 is no longer applied - basically it needs a power cycle to recover. The mask of the chip on the board is 1N87M which doesn't have any references to such behavior (I know that some masks have a problem if the SPI lines float since it may falsely enable SPI loading mode).


Note that I don't configure the BCA area (it is all 0x00 and thus invalid, causing all interfaces to be active - same as a fresh chip).


Thinking that this were a BOOTCFG0 issue I also tested forcing the ROM loader in the flash config setting. In this case it starts the application after about 5s but still no USB enumeration.


Rather than panicking I did some careful comparisons and actually found that both of the configurations (forced ROM or BOOTCFG0 commanded) actually work as long as I leave the FRDM-KL27Z powered off for about 30s or so before connecting and powering over USB; then it appears as USB device for 5s and there is just enough time to attach KBOOT host and reprogram it.


If the reset button is used it never works; if the power is removed for only a few seconds it never works but if one is patient enough to power down for long enough it can indeed be used.


This means that it is probably safe to continue as planned but the question remains as to whether this is caused by a BOOT ROM errata that is not published for this device on the FRDM-KL27Z or whether there is some other explanation?






Update 1: Original tests on Win 8.1 PC with Kinetis Updater program.
Repeats on Win 10 PC using "KinetisFlashTool.exe" showed no such difficulties.


Update 2: If the BOOT ROM mode is entered by forcing it with BOOTCFG0 it is possible to command a reset from "KinetisFlashTool.exe" and the application starts after about 5s delay. If "KinetisFlashTool.exe" is not connected the HW reset button doesn't cause the application to start and a power cycle is required. Can this be explained?