Thanks for the fast reply! I will submit this to Gerrit once I have addressed your first comments.
About the REVID: The interface switch was done between Revision 1.x and 2.x. This is described in this NXP document: https://www.nxp.com.cn/docs/en/application-note/AN4445.pdf My MK60 chip has the part number MK60DN512ZVMC10 and REVID = 7. The very first revisions 1.0 to 1.2 were not even called MK60 but PK60 but without a "Z" in the part number. The "Z" in the mask set obviously does not correspond to the "Z" in the part number at all. NXP made a fine mess here... Still, the KL series should not be affected by my change at all. They seem to end up in the "Newer K-series or KL series MCU" branch of the if condition testing the KINETIS_SDID_K_SERIES_MASK. Anyway, if only the KL series needs switching the VLPR to RUN mode, maybe we could just remove the entire check for the older K-series MCUs. This would eliminate the need to discriminate between the REVIDs at all. I would probably do that by introducing a new field in the kinetis_chip struct controlling whether kinetis_check_run_mode() shall check the pmstat at all. Do you agree this may be the better approach? Or is it important to check also on K-series whether the MCU is in normal RUN mode for extra reliability? --- ** [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:55 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.