<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: PK60DN512Z hardfault during __call_static_initializers (MK60DN512 fine) in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1401730#M62268</link>
    <description>&lt;P&gt;I addition to the above, it seems the that linker script had been overwritten at some point during the work, and the ".programbuf" section was no longer present. - When I reinstated this (and applied some workarounds based on the above replies) I've made more progress.&lt;/P&gt;&lt;P&gt;I have the project configured in Processor Expert for the MK60DN512VMD10 cpu, and am trying to setup the same project in the same way for the MK60DN512&lt;STRONG&gt;Z&lt;/STRONG&gt;VMD10.&lt;BR /&gt;For the most part (so far!) this has largely amounted to changing pin names in the GPIO_LDD components (same pins, slightly different name in the cpu definition, quite annoying &lt;LI-EMOJI id="lia_neutral-face" title=":neutral_face:"&gt;&lt;/LI-EMOJI&gt; ), however I've reached a sticking point with Channel19 of ADC1 (component Init_ADC).&lt;BR /&gt;For the non-Z version of the CPU I have this:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60_ADC1_Channel19.png" style="width: 659px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168202iF1D153F72802D142/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60_ADC1_Channel19.png" alt="MK60_ADC1_Channel19.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;However on the 'Z' version of the CPU I have the following error if I try to do the same:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60Z_ADC1_Channel19.png" style="width: 946px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168201i4A3E271078CC1C6C/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60Z_ADC1_Channel19.png" alt="MK60Z_ADC1_Channel19.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The detailed tooltip popup for each is as follows:&lt;/P&gt;&lt;P&gt;MK60DN512:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60DN512 ADC1 Ch11" style="width: 601px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168203i2E8443095E1FC60F/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60_ADC1_Channel19_detail.png" alt="MK60DN512 ADC1 Ch11" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;MK60DN512 ADC1 Ch11&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;MK60DN512&lt;STRONG&gt;Z&lt;/STRONG&gt;:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60DN512Z ADC1 Ch11" style="width: 602px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168204i4009C927139A7F8A/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60Z_ADC1_Channel19_detail.png" alt="MK60DN512Z ADC1 Ch11" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;MK60DN512Z ADC1 Ch11&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I've search the above provided documents, but couldn't see anything that related to ADC (in a way that might affect this).&lt;BR /&gt;Is this an&amp;nbsp;&lt;EM&gt;actual&lt;/EM&gt; device difference, or an issue with the ProcessorExpert logic? - Either way is there any more information available and as to how I might be able to work around it?&lt;/P&gt;&lt;P&gt;Thanks again!&lt;/P&gt;</description>
    <pubDate>Wed, 19 Jan 2022 13:03:02 GMT</pubDate>
    <dc:creator>PhilV</dc:creator>
    <dc:date>2022-01-19T13:03:02Z</dc:date>
    <item>
      <title>PK60DN512Z hardfault during __call_static_initializers (MK60DN512 fine)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1388829#M62102</link>
      <description>&lt;P&gt;I have a codebase that works fine on the MK60DN512, and I am trying to port it to run on the prequalification early part, PK60DN512Z.&lt;/P&gt;&lt;P&gt;I have configured codewarrior Processor Expert to target the "MK60DN512ZVMD10" as there is no "PK..." part, but as I understand it they should be identical for this purpose?&lt;/P&gt;&lt;P&gt;The code has been regenerated, and I have adjusted register names in my code where necessary, however I am hitting a fault early in the bring-up sequence.&lt;/P&gt;&lt;P&gt;startup.c gets to the following branch instruction:&lt;/P&gt;&lt;LI-CODE lang="c"&gt;		//	call C++ static initializers
		bl	__call_static_initializers&lt;/LI-CODE&gt;&lt;P&gt;At some point during this the fault occurs - I've stepped through at the instruction level but didn't see anything revealing. It seems that the error occurs on a "MOVS" instruction (location 00000042 in the listing below):&lt;/P&gt;&lt;PRE&gt;00000034: ldrh r5,[r4,r5]&lt;BR /&gt;00000036: movs r0,r0&lt;BR /&gt;00000038: ldrh r5,[r4,r5]&lt;BR /&gt;0000003a: movs r0,r0&lt;BR /&gt;0000003c: ldrh r5,[r4,r5]&lt;BR /&gt;0000003e: movs r0,r0&lt;BR /&gt;00000040: strh r1,[r2,#62]&lt;BR /&gt;00000042: movs r0,r0&lt;BR /&gt;00000044: strh r1,[r2,#60]&lt;/PRE&gt;&lt;P&gt;At that time (at 00000040):&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;r1 = 0x0000A7D6&lt;/LI&gt;&lt;LI&gt;r2 = 0x00000000&lt;/LI&gt;&lt;LI&gt;r0 = 0x00000001&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Once the fault occurs the System Control Registers look at follows:&lt;/P&gt;&lt;PRE&gt;System Control Registers &lt;BR /&gt;SCB_ACTLR 0x0        0xe000e008 &lt;BR /&gt;SCB_CPUID 0x410fc240 0xe000ed00 &lt;BR /&gt;SCB_ICSR  0x803      0xe000ed04 &lt;BR /&gt;SCB_VTOR  0x0        0xe000ed08 &lt;BR /&gt;SCB_AIRCR 0xfa050000 0xe000ed0c &lt;BR /&gt;SCB_SCR   0x0        0xe000ed10 &lt;BR /&gt;SCB_CCR   0x200      0xe000ed14 &lt;BR /&gt;SCB_SHPR1 0x0        0xe000ed18 &lt;BR /&gt;SCB_SHPR2 0x0        0xe000ed1c &lt;BR /&gt;SCB_SHPR3 0x0        0xe000ed20 &lt;BR /&gt;SCB_SHCSR 0x0        0xe000ed24 &lt;BR /&gt;SCB_CFSR  0x400      0xe000ed28 &lt;BR /&gt;SCB_HFSR  0x40000000 0xe000ed2c &lt;BR /&gt;SCB_DFSR  0x9        0xe000ed30 &lt;BR /&gt;SCB_MMFAR 0xe000edf8 0xe000ed34 &lt;BR /&gt;SCB_BFAR  0xe000edf8 0xe000ed38 &lt;BR /&gt;SCB_AFSR  0x0        0xe000ed3c &lt;/PRE&gt;&lt;P&gt;&amp;nbsp;I'm not sure that this is telling me an awful lot though:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;ICSR is just showing that we are now in the interrupt handler (which is correct)&lt;/LI&gt;&lt;LI&gt;CFSR.IMPRECISERR bits[ 10:10 ] = 1 a data bus error has occurred, but the return address in the stack frame is not related to the instruction that caused the error.&lt;/LI&gt;&lt;LI&gt;HFSR.FORCED bits[ 30:30 ] = 1 forced HardFault&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;Where do I go from here to determine why I get the hardfault on this target, but not on the MK60DN512?&lt;/P&gt;&lt;P&gt;The linker file in use is the same for both, and I believe that should be ok as they should be identical.&lt;/P&gt;&lt;P&gt;The (working) MK60DN512 is mask 5N22D, and the (non-working) PK60DN512Z is mask 4N30D; I've looked through the errata and can't see anything that would relate to this, but perhaps I missed something?&lt;/P&gt;&lt;P&gt;Thanks in advance!&lt;/P&gt;</description>
      <pubDate>Fri, 17 Dec 2021 13:28:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1388829#M62102</guid>
      <dc:creator>PhilV</dc:creator>
      <dc:date>2021-12-17T13:28:11Z</dc:date>
    </item>
    <item>
      <title>Re: PK60DN512Z hardfault during __call_static_initializers (MK60DN512 fine)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1390292#M62121</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/70637"&gt;@PhilV&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Both the MK60DN512 and the PK60DN512Z are part numbers for the same controller, however they represent different silicon revisions. With different silicon revisions, there are also many differences overall which means that the code used for one will most definitely not fit the other. This is all described in the following Application Note: &lt;A href="https://www.nxp.com/docs/en/application-note/AN4445.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/application-note/AN4445.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR,&lt;/P&gt;
&lt;P&gt;Edwin.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 19:40:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1390292#M62121</guid>
      <dc:creator>EdwinHz</dc:creator>
      <dc:date>2021-12-21T19:40:34Z</dc:date>
    </item>
    <item>
      <title>Re: PK60DN512Z hardfault during __call_static_initializers (MK60DN512 fine)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1394099#M62168</link>
      <description>&lt;P&gt;Many thanks for this information, I shall take a look through the AN - I had to this point only had the errata sheets.&lt;/P&gt;&lt;P&gt;I&amp;nbsp;&lt;EM&gt;have&lt;/EM&gt; reconfigured CodeWarrior &lt;SPAN&gt;Processor Expert to target the "MK60DN512ZVMD10" as there is no "PK..." part, but I think they should be identical for this purpose since they are both "Z" silicon?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;The table at the start of the AN shows this:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PhilV_0-1641285861773.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/166634i3703360235F275D3/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PhilV_0-1641285861773.png" alt="PhilV_0-1641285861773.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;My "4N30D" part is therefore obviously a "1.4", however can you tell me where the 5N22D fits in? Originally I thought perhaps a higher "number" was a newer version, but from the table above "2N22D" is newer than "4N30D", so that logic does not follow.&lt;BR /&gt;I also have a MK60DN512Z part that has silicon mask 8N30D ... are you able to advice which 'version' that would be as well please?&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jan 2022 08:47:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1394099#M62168</guid>
      <dc:creator>PhilV</dc:creator>
      <dc:date>2022-01-04T08:47:37Z</dc:date>
    </item>
    <item>
      <title>Re: PK60DN512Z hardfault during __call_static_initializers (MK60DN512 fine)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1394388#M62176</link>
      <description>&lt;P&gt;Of course!&lt;/P&gt;
&lt;P&gt;You can find this information on Table 1 of the following document: &lt;A href="https://www.nxp.com/docs/en/engineering-bulletin/EB782.pdf" target="_blank"&gt;https://www.nxp.com/docs/en/engineering-bulletin/EB782.pdf&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR,&lt;/P&gt;
&lt;P&gt;Edwin.&lt;/P&gt;</description>
      <pubDate>Tue, 04 Jan 2022 19:17:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1394388#M62176</guid>
      <dc:creator>EdwinHz</dc:creator>
      <dc:date>2022-01-04T19:17:30Z</dc:date>
    </item>
    <item>
      <title>Re: PK60DN512Z hardfault during __call_static_initializers (MK60DN512 fine)</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1401730#M62268</link>
      <description>&lt;P&gt;I addition to the above, it seems the that linker script had been overwritten at some point during the work, and the ".programbuf" section was no longer present. - When I reinstated this (and applied some workarounds based on the above replies) I've made more progress.&lt;/P&gt;&lt;P&gt;I have the project configured in Processor Expert for the MK60DN512VMD10 cpu, and am trying to setup the same project in the same way for the MK60DN512&lt;STRONG&gt;Z&lt;/STRONG&gt;VMD10.&lt;BR /&gt;For the most part (so far!) this has largely amounted to changing pin names in the GPIO_LDD components (same pins, slightly different name in the cpu definition, quite annoying &lt;LI-EMOJI id="lia_neutral-face" title=":neutral_face:"&gt;&lt;/LI-EMOJI&gt; ), however I've reached a sticking point with Channel19 of ADC1 (component Init_ADC).&lt;BR /&gt;For the non-Z version of the CPU I have this:&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60_ADC1_Channel19.png" style="width: 659px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168202iF1D153F72802D142/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60_ADC1_Channel19.png" alt="MK60_ADC1_Channel19.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;However on the 'Z' version of the CPU I have the following error if I try to do the same:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60Z_ADC1_Channel19.png" style="width: 946px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168201i4A3E271078CC1C6C/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60Z_ADC1_Channel19.png" alt="MK60Z_ADC1_Channel19.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;The detailed tooltip popup for each is as follows:&lt;/P&gt;&lt;P&gt;MK60DN512:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60DN512 ADC1 Ch11" style="width: 601px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168203i2E8443095E1FC60F/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60_ADC1_Channel19_detail.png" alt="MK60DN512 ADC1 Ch11" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;MK60DN512 ADC1 Ch11&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;MK60DN512&lt;STRONG&gt;Z&lt;/STRONG&gt;:&lt;BR /&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="MK60DN512Z ADC1 Ch11" style="width: 602px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/168204i4009C927139A7F8A/image-size/large?v=v2&amp;amp;px=999" role="button" title="MK60Z_ADC1_Channel19_detail.png" alt="MK60DN512Z ADC1 Ch11" /&gt;&lt;span class="lia-inline-image-caption" onclick="event.preventDefault();"&gt;MK60DN512Z ADC1 Ch11&lt;/span&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;I've search the above provided documents, but couldn't see anything that related to ADC (in a way that might affect this).&lt;BR /&gt;Is this an&amp;nbsp;&lt;EM&gt;actual&lt;/EM&gt; device difference, or an issue with the ProcessorExpert logic? - Either way is there any more information available and as to how I might be able to work around it?&lt;/P&gt;&lt;P&gt;Thanks again!&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jan 2022 13:03:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/PK60DN512Z-hardfault-during-call-static-initializers-MK60DN512/m-p/1401730#M62268</guid>
      <dc:creator>PhilV</dc:creator>
      <dc:date>2022-01-19T13:03:02Z</dc:date>
    </item>
  </channel>
</rss>

