<?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>S32KのトピックRe: K324 boot of second core</title>
    <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2157299#M52119</link>
    <description>&lt;P&gt;Of course, here it is:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;	uint32_t vtor = 0x602000U;
	MC_ME-&amp;gt;PRTN0_CORE1_ADDR = vtor;
	MC_ME-&amp;gt;PRTN0_CORE1_PCONF = MC_ME_PRTN0_CORE1_PCONF_CCE_MASK;
	MC_ME-&amp;gt;PRTN0_CORE1_PUPD = MC_ME_PRTN0_CORE1_PUPD_CCUPD_MASK;
	MC_ME-&amp;gt;CTL_KEY = MC_ME_CTL_KEY_KEY( 0x5AF0);
	MC_ME-&amp;gt;CTL_KEY = MC_ME_CTL_KEY_KEY(~0x5AF0);&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;I have also tried setting the LSB of the vtor address because the code is in Thumb format.&lt;BR /&gt;&lt;BR /&gt;For reference, here is an excerpt of the Flash at the location of the bootloader, which starts at 0x400000 and is prefixed by the NXP boot header entry (8KB)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="x86_0-1756100836159.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353870i5F3CEA2C9B2D07BB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="x86_0-1756100836159.png" alt="x86_0-1756100836159.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;And here is the application, which starts at 0x600000 and is prefixed by our own application header (also 8KB)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="x86_1-1756100902329.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353871iE5502513717A555F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="x86_1-1756100902329.png" alt="x86_1-1756100902329.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;From these images, to me, everything looks to be where it is expected.&lt;/P&gt;</description>
    <pubDate>Mon, 25 Aug 2025 05:50:10 GMT</pubDate>
    <dc:creator>x86</dc:creator>
    <dc:date>2025-08-25T05:50:10Z</dc:date>
    <item>
      <title>K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2154269#M51944</link>
      <description>&lt;P&gt;I found this post that contains a procedure on how to boot the second core of a K324:&lt;BR /&gt;&lt;A href="https://community.nxp.com/t5/S32K/S32K324-seperate-core-code/m-p/1790024" target="_blank"&gt;https://community.nxp.com/t5/S32K/S32K324-seperate-core-code/m-p/1790024&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;We have successfully used this internally in a project. Now I am building a bootloader, which must be able to load applications to run on the first (c0) and second (c1) cores. This loading part works, and I can verify that the application for c1 resides in memory, starting at 0x600000. The first 0x2000 Bytes are taken up by a custom header which we need to identify the application. After that, starting at 0x602000 is the Interrupt Vector Table. I can verify that it is correctly installed at this location.&lt;BR /&gt;&lt;BR /&gt;However, after following the procedure documented in the Link above (and the other internal project), c1 is not booted. By attaching with a debugger, I can see that a hardfault has occurred at 0x00000000. Additionally, the SP and PC registers contain garbage values (0x2C6F7920 and 0x2E707040).&lt;BR /&gt;&lt;BR /&gt;However, if I tell the debugger to load SP and PC from the locations 0x602000 and 0x602004 and start execution from there, everything works. So my question is: why is the handover from core0 to core1 not working as expected?&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 19 Aug 2025 09:07:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2154269#M51944</guid>
      <dc:creator>x86</dc:creator>
      <dc:date>2025-08-19T09:07:29Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2155268#M51994</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203182"&gt;@x86&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;What type of fault exception is it?&lt;/P&gt;
&lt;P&gt;Can you read the&amp;nbsp;Configurable Fault Status Register (CFSR) ?&lt;/P&gt;
&lt;P&gt;&lt;A href="https://developer.arm.com/documentation/ddi0403/d/System-Level-Architecture/System-Address-Map/System-Control-Space--SCS-/Configurable-Fault-Status-Register--CFSR" target="_blank" rel="noopener"&gt;https://developer.arm.com/documentation/ddi0403/d/System-Level-Architecture/System-Address-Map/System-Control-Space--SCS-/Configurable-Fault-Status-Register--CFSR&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;It could be related to the MPU and Cache.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Wed, 20 Aug 2025 12:55:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2155268#M51994</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-08-20T12:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2155271#M51995</link>
      <description>&lt;P&gt;Here's the readout of CFSR, UFSR, BFSR, MMFSR and HFSR.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Aug 2025 13:02:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2155271#M51995</guid>
      <dc:creator>x86</dc:creator>
      <dc:date>2025-08-20T13:02:41Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2155297#M51996</link>
      <description>&lt;P&gt;Here's a readout of CFSR, UFSR, BFSR, MMFSR and HFSR.&lt;/P&gt;</description>
      <pubDate>Wed, 20 Aug 2025 13:52:33 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2155297#M51996</guid>
      <dc:creator>x86</dc:creator>
      <dc:date>2025-08-20T13:52:33Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2156548#M52076</link>
      <description>&lt;P&gt;Thanks&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203182"&gt;@x86&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Can you also share the code you use to start CM7_1?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Fri, 22 Aug 2025 06:55:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2156548#M52076</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-08-22T06:55:39Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2157299#M52119</link>
      <description>&lt;P&gt;Of course, here it is:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;	uint32_t vtor = 0x602000U;
	MC_ME-&amp;gt;PRTN0_CORE1_ADDR = vtor;
	MC_ME-&amp;gt;PRTN0_CORE1_PCONF = MC_ME_PRTN0_CORE1_PCONF_CCE_MASK;
	MC_ME-&amp;gt;PRTN0_CORE1_PUPD = MC_ME_PRTN0_CORE1_PUPD_CCUPD_MASK;
	MC_ME-&amp;gt;CTL_KEY = MC_ME_CTL_KEY_KEY( 0x5AF0);
	MC_ME-&amp;gt;CTL_KEY = MC_ME_CTL_KEY_KEY(~0x5AF0);&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;I have also tried setting the LSB of the vtor address because the code is in Thumb format.&lt;BR /&gt;&lt;BR /&gt;For reference, here is an excerpt of the Flash at the location of the bootloader, which starts at 0x400000 and is prefixed by the NXP boot header entry (8KB)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="x86_0-1756100836159.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353870i5F3CEA2C9B2D07BB/image-size/medium?v=v2&amp;amp;px=400" role="button" title="x86_0-1756100836159.png" alt="x86_0-1756100836159.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;And here is the application, which starts at 0x600000 and is prefixed by our own application header (also 8KB)&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="x86_1-1756100902329.png" style="width: 400px;"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/353871iE5502513717A555F/image-size/medium?v=v2&amp;amp;px=400" role="button" title="x86_1-1756100902329.png" alt="x86_1-1756100902329.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;From these images, to me, everything looks to be where it is expected.&lt;/P&gt;</description>
      <pubDate>Mon, 25 Aug 2025 05:50:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2157299#M52119</guid>
      <dc:creator>x86</dc:creator>
      <dc:date>2025-08-25T05:50:10Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2158085#M52152</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203182"&gt;@x86&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Could you please check the CM7_0 startup code and verify the MPU region attributes for the address 0x602000?&lt;BR /&gt;Also, could you try disabling the MPU temporarily and test whether Core1 boots correctly in that configuration?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 06:53:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2158085#M52152</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-08-26T06:53:11Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2158184#M52159</link>
      <description>&lt;P&gt;I dug through the MPU init code and found the following comment on the RASR value for the relevant region:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;LI-CODE lang="c"&gt;/* Size: import information from linker symbol, Type: Normal, Inner Cache Policy: Inner write-back, write and read allocate, Outer Cache Policy: Outer write-back. write and read allocate, Shareable: Yes, Privileged Access: Read-Only, Unprivileged Access: Read-Only */&lt;/LI-CODE&gt;&lt;P&gt;&lt;BR /&gt;The actual value of the RASR is&amp;nbsp;0x160B0023UL.&lt;BR /&gt;I manually decoded it according to&amp;nbsp;&lt;A href="https://developer.arm.com/documentation/dui0646/c/Cortex-M7-Peripherals/Optional-Memory-Protection-Unit/MPU-Region-Attribute-and-Size-Register?lang=en" target="_blank" rel="noopener"&gt;The ARM MPU register description.&lt;/A&gt;&lt;BR /&gt;The description seems to match.&lt;BR /&gt;&lt;BR /&gt;I have also tried disabling the MPU in the two application projects, as well as the bootloader project. I can verify that the code to set up the MPU is not compiled into the binary.&lt;BR /&gt;&lt;BR /&gt;However, even after power cycling, which I assume resets the MPU configuration, the behaviour persists.&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 26 Aug 2025 09:25:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2158184#M52159</guid>
      <dc:creator>x86</dc:creator>
      <dc:date>2025-08-26T09:25:08Z</dc:date>
    </item>
    <item>
      <title>Re: K324 boot of second core</title>
      <link>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2159170#M52187</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/203182"&gt;@x86&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Thank you for the confirmation.&lt;/P&gt;
&lt;P&gt;It could be also due to incorrect ECC initialization in volatile memories.&lt;/P&gt;
&lt;P&gt;Do you see any flag in DMC_GPR&amp;nbsp;DCMROD3,&amp;nbsp;DCMROD4 registers when it crashes?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 27 Aug 2025 11:41:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/K324-boot-of-second-core/m-p/2159170#M52187</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-08-27T11:41:30Z</dc:date>
    </item>
  </channel>
</rss>

