In a project using the KL03 controller, we sometimes come in a situation where the ROM boot loader seems to be stuck after a wrong frame was sent to it. This could be the case for example, when the host, which uses the same UART for the normal functional command interface, gets confused about the state at which the controller is in, and sends it an application frame rather than a boot loader frame.
However, the host has no means to reset the controller, except via the reset command. So no power cycling of the KL03 controller, no reset line.
So, when in application, the host can send an application command which will make the controller jump to boot loader, and the other way around, when firmware update of the controller was finished, it sends the bootloader reset command, and the controller will switch back to the application. If all goes right...
My question now: is there some way for the host to make the bootloader on the controller to recover from getting stuck, other than resetting or power cycling the controller? Is there some timeout mechanism in the bootloader protocol that I can use to force the protocol back into sync? Some magic combination on the UART pins or something?
And what about the watchdog timer: does the ROM bootloader disable the watchdog timer?