I'm trying to program a custom PCB with a KL03 using blhost.
I've got 3 boards assembled of whom 2 are working. One board hasn't been programmed (factory new) but reports that it is secure.
I do not seem to be able to erase the chip using blhost.
The device seems to be working because the response to the "get-property" commands seem OK.
When I try to erase the device using the "flash-erase-all-unsecure" command I get response 10004.
Anyone any idea of what might be the problem?
I'm having similar difficulty. 3 boards not working out of 4 in total. All devices(KL03Z8M4) are out-of-the-box. Trying with KinetisUpdater (backdoor option doesn't help), blhost, and PEMicro Multilink in KDS. Please anyone bring us the light....
I program the chips using a USB->Serial cable with the internal bootloader. I might have attached the serial cable when the device was not powered or detached the cable after powering down the device (I’m not sure).
Reading application note AN4835, it states in chapter 6:
Applying voltages to I/O pins when the processor is not powered. If the pin VDIO or VIO specifications are violated, the processor can attempt a partial power up and/or puts the flash into an undefined state. This can lead to corruption of flash contents, corruption of flash control logic, or corruption of device configuration and trim values which in turn can lead to the processor reporting as secured (locked device) or failure of the processor to respond to and complete flash commands.
After desoldering the secure chip and soldering on a new one it programmed ok when powering the board before attaching the serial cable. It still could have been the initial chip but it could also have been the wrong sequence of powering the board and attaching the serial cable.
Pablo, could this also be your problem?
Please let me know so I don't have to investigate further.
Thanks for your feedback. I've seen also that connection order of serial circuit for bootloading affects response from chip.
In my case, I'm soldering the chip by hand, which is very risky. Althoug I'm controlling temperature to a secure point, the device could be dangerously exposed to higher temperatures at long periods of time, which I guess could lead to flash corruption. It is somehow understandable for me that some sections of the MCU work ok, while others more sensitive do not, since the bootloader is hosted in a separate ROM area from factory.
Now I tested with soldering a new chip in new board (5th now..), and it worked great.
I will go soon for the 6th chip soldering (I ordered 20 PCBs), and see what happens.