Hello,
We recently began evaluating the MK20DX256ZVLK10 as a replacement to our currently MK10 MCU.
The problem is that during SystemInit in Keil's default project, the MCU falls into Hard fault as soon as there is a write to MSG->C7 or MSG->C2 registers.
We are using the CLOCK_SETUP as 1 definition, that is "Multipurpose Clock Generator (MCG) in PLL Engaged External (PEE) mode Reference clock source for MCG module is an external crystal 8MHz"
(obviously we connected the crystal and our PCB works fine for the MK10 version in similar configuration)
The section is as follows:
So is there an issue with Keil's default startup of is there an issue with the MCU?
My second question is regarding the version of the MCU, we are able to acquire only the Z version, that is, MK20DX256ZVLK10. Which is not recommended for new design. Our question is it safe enough to use this version for production? or should it be used only for evaluation and for production to use the MK20DX256VLK10 version (without the Z).
Thanks
Solved! Go to Solution.
Hello @mishkarapoport
First, the ‘Z’ in a part number refers to the initial silicon revision of the MCU, which is why they are usually not recommended. It is still safe to use them, but they have a larger number of differences that will require a much more thorough migration process.
That said, the reference code you are using probably does not include the considerations for the initial revisions of these MCUs, which could be why this code does not work for the MK20 but does for the MK10 (which I presume did not have a ‘Z’ in its part number). The recommendation would be to consider the differences between the 1.x and 2.x revisions’ registers and make the necessary changes in the software. The following Application Note details these changes: https://www.nxp.com/docs/en/application-note/AN4445.pdf
Best Regards,
Edwin.
Hello @mishkarapoport
First, the ‘Z’ in a part number refers to the initial silicon revision of the MCU, which is why they are usually not recommended. It is still safe to use them, but they have a larger number of differences that will require a much more thorough migration process.
That said, the reference code you are using probably does not include the considerations for the initial revisions of these MCUs, which could be why this code does not work for the MK20 but does for the MK10 (which I presume did not have a ‘Z’ in its part number). The recommendation would be to consider the differences between the 1.x and 2.x revisions’ registers and make the necessary changes in the software. The following Application Note details these changes: https://www.nxp.com/docs/en/application-note/AN4445.pdf
Best Regards,
Edwin.