Martin, you should also consider this: KL devices have a FOPT option to run in VLPR mode on exit from reset. Switching from VLPR to RUN mode is necessary for KL devices, because the device can be in VLPR mode after 'reset init' and without switching to RUN mode any flash programming fails. Unlike KL devices, K device is always in RUN mode after reset! Hopefully there is nothing like "Initial Product Rev" in KL devices. Therefore the code for "Initial Product Rev" can simply fail with a message suggesting to issue 'reset init' when PM_STAT_VLPR is detected.
--- ** [tickets:#236] Cannot flash Kinetis Z parts** **Status:** new **Milestone:** 0.9.0 **Created:** Thu May 02, 2019 09:41 AM UTC by Ramy **Last Updated:** Fri May 27, 2022 03:09 PM UTC **Owner:** nobody I am using a Kinetis MK20DN512**Z**VLQ10 which is an earlier version of the MK20DN512VLQ10. Flashing the non-Z part works fine in OpenOCD 0.10, but when flashing the Z part, the following error occurs: "Flash operation not possible in current run mode: SMC_PMSTAT: 0x0" It looks like the code in the kinetis_check_run_mode function reads the SMC_PMSTAT register on the target device to check that it is in run mode. This register does not exist on the earlier revision K20 device, so pmstat is always 0 and OpenOCD refuses to program the device. I have attempted to use earlier versions of OpenOCD which don't have this check, but they fail when trying to flash either device. --- Sent from sourceforge.net because openocd-devel@lists.sourceforge.net is subscribed to https://sourceforge.net/p/openocd/tickets/ To unsubscribe from further messages, a project admin can change settings at https://sourceforge.net/p/openocd/admin/tickets/options. Or, if this is a mailing list, you can unsubscribe from the mailing list.