<?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: S32k3 Core1 started in Core 0</title>
    <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069540#M47236</link>
    <description>&lt;P&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/244188"&gt;@Lisha&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Please refer to this thread:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/m-p/1547771" target="_blank"&gt;https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/m-p/1547771&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;and these examples:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://nxp1.sharepoint.com/:f:/t/25_66/EuY9OgY9mthFlFiCSV2wgfMBvVKPrxvs8aVC7LnRhSj3NA?e=SY8u1K" target="_blank"&gt;https://nxp1.sharepoint.com/:f:/t/25_66/EuY9OgY9mthFlFiCSV2wgfMBvVKPrxvs8aVC7LnRhSj3NA?e=SY8u1K&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Example ResourcesAssign_M2xxG1_200 has both cores in a single .ELF&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
    <pubDate>Thu, 27 Mar 2025 14:23:02 GMT</pubDate>
    <dc:creator>danielmartynek</dc:creator>
    <dc:date>2025-03-27T14:23:02Z</dc:date>
    <item>
      <title>S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069271#M47208</link>
      <description>&lt;P class=""&gt;Dear NXP Support Team,&lt;/P&gt;&lt;P class=""&gt;We are currently working on a dual-core implementation for the S32K322 and have encountered a challenge. Our customer requires Core1 to be started from within the master core (Core0), with a single debug launcher and a unified ELF file for execution.&lt;/P&gt;&lt;P class=""&gt;We are unsure how to proceed with this setup, including the necessary debug configurations and the overall dual-core debugging process in a single launcher. Could you please provide guidance on the correct approach? Additionally, if there are any relevant examples, documentation, or videos available, we would greatly appreciate your assistance.&lt;/P&gt;&lt;P class=""&gt;Looking forward to your support.&lt;/P&gt;&lt;P class=""&gt;Best regards,&lt;/P&gt;&lt;P class=""&gt;Lisha&lt;/P&gt;</description>
      <pubDate>Thu, 27 Mar 2025 07:13:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069271#M47208</guid>
      <dc:creator>Lisha</dc:creator>
      <dc:date>2025-03-27T07:13:24Z</dc:date>
    </item>
    <item>
      <title>Re: S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069389#M47222</link>
      <description>&lt;P&gt;Dear Lisha,&lt;/P&gt;&lt;P&gt;Thank you for reaching out to NXP Support. We understand you're facing challenges with a dual-core implementation on the S32K322, specifically with starting Core1 from Core0 and debugging both cores using a single launcher and ELF file. We're happy to provide guidance.&lt;/P&gt;&lt;P&gt;Here's a breakdown of the approach and essential considerations:&lt;/P&gt;&lt;P&gt;1. Core1 Startup from Core0:&lt;/P&gt;&lt;P&gt;System Integration Unit (SIU) Configuration:&lt;BR /&gt;Core1 startup is typically initiated through the SIU registers. You'll need to configure the appropriate registers to release Core1 from its reset state.&lt;BR /&gt;This involves setting the relevant bits in the SIU_CPUX_RST registers.&lt;BR /&gt;Ensure that Core1's initial stack pointer and program counter are correctly set before releasing it from reset. This is done by writing to the core1's vector table address.&lt;BR /&gt;Core1 Entry Point:&lt;BR /&gt;The ELF file should contain the code for both Core0 and Core1. You'll need to define the entry point for Core1 within the ELF, usually in a separate memory section.&lt;BR /&gt;Core0 needs to write the address of Core1's entry point to the correct startup vector.&lt;BR /&gt;Memory Partitioning:&lt;BR /&gt;Carefully partition the memory map to avoid conflicts between Core0 and Core1. Ensure that each core has its dedicated memory regions for code, data, and stack.&lt;BR /&gt;This is usually done via the linker script.&lt;BR /&gt;Inter-Core Communication:&lt;BR /&gt;Implement a robust inter-core communication mechanism (e.g., shared memory, message queues, interrupts) to enable data exchange and synchronization between the cores.&lt;BR /&gt;Example Code Snippet (Conceptual):&lt;BR /&gt;C&lt;/P&gt;&lt;P&gt;// Core0 code&lt;BR /&gt;void start_core1(uint32_t core1_entry_point) {&lt;BR /&gt;// Configure Core1's stack pointer and program counter&lt;BR /&gt;// Write core1_entry_point to core1's vector table.&lt;BR /&gt;// ...&lt;BR /&gt;// Release Core1 from reset using SIU registers&lt;BR /&gt;SIU-&amp;gt;CPUX_RST[1] = 0; // Example, check the datasheet for correct register.&lt;BR /&gt;}&lt;BR /&gt;2. Single Debug Launcher and Unified ELF:&lt;/P&gt;&lt;P&gt;Debugger Configuration:&lt;BR /&gt;Modern debuggers (like Lauterbach TRACE32 or some versions of S32 Design Studio with appropriate debug probes) support multi-core debugging. You'll need to configure the debugger to recognize both cores and their respective memory regions.&lt;BR /&gt;The debugger should be able to load the unified ELF file and map the code and data to the correct core's memory space.&lt;BR /&gt;S32 design studio can use the multicore debug configurations.&lt;BR /&gt;Debug Probe:&lt;BR /&gt;Ensure that your debug probe supports multi-core debugging. Many JTAG/SWD probes offer this functionality.&lt;BR /&gt;Linker Script:&lt;BR /&gt;The linker script is crucial for creating the unified ELF. It should define the memory regions for both cores and place the code and data accordingly.&lt;BR /&gt;This allows the debugger to correctly map the ELF sections to the respective cores.&lt;BR /&gt;Debug Symbols:&lt;BR /&gt;The ELF file should contain debug symbols for both cores, enabling you to step through the code and inspect variables.&lt;BR /&gt;3. Debugging Process:&lt;/P&gt;&lt;P&gt;Connect Debug Probe:&lt;BR /&gt;Connect your debug probe to the S32K322 target board.&lt;BR /&gt;Launch Debugger:&lt;BR /&gt;Launch your debugger and configure it for multi-core debugging.&lt;BR /&gt;Load ELF File:&lt;BR /&gt;Load the unified ELF file into the debugger.&lt;BR /&gt;Set Breakpoints:&lt;BR /&gt;Set breakpoints in both Core0 and Core1 code.&lt;BR /&gt;Run and Debug:&lt;BR /&gt;Start the debugging session. The debugger should allow you to step through the code in both cores, inspect variables, and monitor memory.&lt;BR /&gt;Use the debuggers multicore aware view to see both cores.&lt;BR /&gt;4. Resources and Documentation:&lt;/P&gt;&lt;P&gt;S32K3xx Reference Manual:&lt;BR /&gt;The S32K3xx Reference Manual contains detailed information about the SIU registers, memory map, and other peripherals.&lt;BR /&gt;S32 Design Studio Documentation:&lt;BR /&gt;The S32 Design Studio documentation provides information about multi-core debugging configurations and features.&lt;BR /&gt;NXP Community Forums:&lt;BR /&gt;The NXP Community Forums are a valuable resource for finding answers to common questions and connecting with other developers.&lt;BR /&gt;NXP Application Notes:&lt;BR /&gt;Search NXP's website for application notes related to multi-core development on S32K3xx devices.&lt;BR /&gt;Example projects:&lt;BR /&gt;Look within the S32 Design studio example projects, and the NXP website for any multicore examples related to the S32K3 family of devices.&lt;BR /&gt;Key Considerations:&lt;/P&gt;&lt;P&gt;Synchronization: Proper synchronization between Core0 and Core1 is crucial to avoid race conditions and data corruption.&lt;BR /&gt;Interrupt Handling: Be mindful of interrupt handling in a multi-core environment.&lt;BR /&gt;Resource Sharing: Carefully manage shared resources (e.g., peripherals, memory) to prevent conflicts.&lt;BR /&gt;Safety and Security: When designing multi-core applications, consider safety and security implications.&lt;BR /&gt;We recommend thoroughly reviewing the S32K3xx Reference Manual and experimenting with example projects to gain a better understanding of the dual-core implementation process.&lt;/P&gt;&lt;P&gt;We hope this guidance is helpful. Please do not hesitate to reach out if you have any further questions or require additional assistance.&lt;/P&gt;&lt;P&gt;Best regards,&lt;BR /&gt;Edna&lt;BR /&gt;&lt;A href="https://www-ezpassmd.com" target="_self"&gt;&lt;FONT size="1 2 3 4 5 6 7" color="#FFFFFF"&gt;EZPassMD&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Thu, 27 Mar 2025 09:35:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069389#M47222</guid>
      <dc:creator>edna23roe</dc:creator>
      <dc:date>2025-03-27T09:35:51Z</dc:date>
    </item>
    <item>
      <title>Re: S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069435#M47226</link>
      <description>Thanks for your valuable quick response.&lt;BR /&gt;&lt;BR /&gt;We have taken an example from NXP's Platform_Multicore_SingleElf_S32K324, which includes the following Start_Core() function:&lt;BR /&gt;&lt;BR /&gt;c&lt;BR /&gt;Copy&lt;BR /&gt;Edit&lt;BR /&gt;void Start_Core(void)&lt;BR /&gt;{&lt;BR /&gt;IP_MC_ME-&amp;gt;PRTN0_CORE1_PCONF &amp;amp;= ~(1 &amp;lt;&amp;lt; MC_ME_PRTN0_CORE1_PCONF_CCE_SHIFT);&lt;BR /&gt;IP_MC_ME-&amp;gt;PRTN0_CORE1_PUPD = 1;&lt;BR /&gt;IP_MC_ME-&amp;gt;CTL_KEY = 0x5AF0;&lt;BR /&gt;IP_MC_ME-&amp;gt;CTL_KEY = 0xA50F;&lt;BR /&gt;while ((IP_MC_ME-&amp;gt;PRTN0_CORE1_STAT &amp;amp; MC_ME_PRTN0_CORE1_STAT_CCS_MASK) == 1);&lt;BR /&gt;&lt;BR /&gt;IP_MC_ME-&amp;gt;PRTN0_CORE1_ADDR = (uint32)&amp;amp;__CORE1_VTOR;&lt;BR /&gt;IP_MC_ME-&amp;gt;PRTN0_CORE1_PCONF |= (1 &amp;lt;&amp;lt; MC_ME_PRTN0_CORE1_PCONF_CCE_SHIFT);&lt;BR /&gt;IP_MC_ME-&amp;gt;PRTN0_CORE1_PUPD = 1;&lt;BR /&gt;IP_MC_ME-&amp;gt;CTL_KEY = 0x5AF0;&lt;BR /&gt;IP_MC_ME-&amp;gt;CTL_KEY = 0xA50F;&lt;BR /&gt;while ((IP_MC_ME-&amp;gt;PRTN0_CORE1_STAT &amp;amp; MC_ME_PRTN0_CORE1_STAT_CCS_MASK) == 0);&lt;BR /&gt;}&lt;BR /&gt;Debugging Questions:&lt;BR /&gt;Debugging Approach:&lt;BR /&gt;&lt;BR /&gt;Can we start debugging the master core first and then enable the secondary core afterward?&lt;BR /&gt;&lt;BR /&gt;Is this the correct debugging sequence, or should we follow a different approach?&lt;BR /&gt;&lt;BR /&gt;Issue with Example Code:&lt;BR /&gt;&lt;BR /&gt;The given example does not seem to work as expected.&lt;BR /&gt;&lt;BR /&gt;What steps should we take to ensure that the secondary core is properly initialized and running?&lt;BR /&gt;&lt;BR /&gt;How can we verify that the secondary core is executing code after startup?&lt;BR /&gt;&lt;BR /&gt;Any guidance on debugging this multicore setup would be highly appreciated.&lt;BR /&gt;BR,&lt;BR /&gt;Lisha</description>
      <pubDate>Thu, 27 Mar 2025 10:54:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069435#M47226</guid>
      <dc:creator>Lisha</dc:creator>
      <dc:date>2025-03-27T10:54:06Z</dc:date>
    </item>
    <item>
      <title>Re: S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069540#M47236</link>
      <description>&lt;P&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/244188"&gt;@Lisha&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;Please refer to this thread:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/m-p/1547771" target="_blank"&gt;https://community.nxp.com/t5/S32K/S32K324-Multi-Core-Example-Project-based-on-Whiteboard/m-p/1547771&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;and these examples:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://nxp1.sharepoint.com/:f:/t/25_66/EuY9OgY9mthFlFiCSV2wgfMBvVKPrxvs8aVC7LnRhSj3NA?e=SY8u1K" target="_blank"&gt;https://nxp1.sharepoint.com/:f:/t/25_66/EuY9OgY9mthFlFiCSV2wgfMBvVKPrxvs8aVC7LnRhSj3NA?e=SY8u1K&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Example ResourcesAssign_M2xxG1_200 has both cores in a single .ELF&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;BR, Daniel&lt;/P&gt;</description>
      <pubDate>Thu, 27 Mar 2025 14:23:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2069540#M47236</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-03-27T14:23:02Z</dc:date>
    </item>
    <item>
      <title>Re: S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2070245#M47264</link>
      <description>&lt;P class=""&gt;Dear Daniel,&lt;/P&gt;&lt;P class=""&gt;I appreciate your support. I need your guidance on how to release the Reset_Handler for the secondary core in S32 Design Studio (S32DS). The configuration options include "Attach on Target" and "Set PC." I have set the secondary core to the Reset_Handler and now need to release it from the master core. Could you please help me identify the register responsible for releasing the Reset_Handler?&lt;/P&gt;&lt;P class=""&gt;Additionally, I tried accessing the link &lt;A href="https://nxp1.sharepoint.com/:f:/t/25_66/EuY9OgY9mthFlFiCSV2wgfMBvVKPrxvs8aVC7LnRhSj3NA?e=SY8u1K" target="_new" rel="noopener"&gt;https://nxp1.sharepoint.com/:f:/t/25_66/EuY9OgY9mthFlFiCSV2wgfMBvVKPrxvs8aVC7LnRhSj3NA?e=SY8u1K&lt;/A&gt;, but it appears to be restricted to NXP's SharePoint, and I do not have access.&lt;/P&gt;&lt;P class=""&gt;Looking forward to your support.&lt;/P&gt;&lt;P class=""&gt;Best regards,&lt;BR /&gt;Lisha&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Mar 2025 10:18:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2070245#M47264</guid>
      <dc:creator>Lisha</dc:creator>
      <dc:date>2025-03-28T10:18:32Z</dc:date>
    </item>
    <item>
      <title>Re: S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2070347#M47270</link>
      <description>&lt;P&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/244188"&gt;@Lisha&lt;/a&gt;,&lt;/P&gt;
&lt;P&gt;I'm not sure what you mean, if you need to launch the secondary core from the primary core, refer to this example:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://community.nxp.com/t5/S32K-Knowledge-Base/S32K358-Multicore-Start-CM7-2-from-CM7-0/ta-p/1923889" target="_blank"&gt;https://community.nxp.com/t5/S32K-Knowledge-Base/S32K358-Multicore-Start-CM7-2-from-CM7-0/ta-p/1923889&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;In the thread I shared in the other link, there is this file:&lt;/P&gt;
&lt;DIV class="lia-attachment-row-element lia-attachment-icon-container"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-message-attachment-link-row-element"&gt;&lt;SPAN class="lia-link-navigation lia-attachment-link-disabled lia-link-disabled" aria-disabled="true"&gt;S32K324_Multi-Core_Example.7z&lt;/SPAN&gt;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;DIV class="lia-attachment-row-element lia-media-document"&gt;&amp;nbsp;&lt;/DIV&gt;</description>
      <pubDate>Fri, 28 Mar 2025 13:44:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2070347#M47270</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2025-03-28T13:44:53Z</dc:date>
    </item>
    <item>
      <title>Re: S32k3 Core1 started in Core 0</title>
      <link>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2070353#M47271</link>
      <description>&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P class=""&gt;Hello &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/160001"&gt;@danielmartynek&lt;/a&gt;,&lt;/P&gt;&lt;P class=""&gt;Thank you for your prompt guidance.&lt;/P&gt;&lt;P class=""&gt;I am already referring to this resource; however, it does not seem to start the core from the master core.&lt;/P&gt;&lt;P class=""&gt;The reference I am using is &lt;STRONG&gt;"S32K358 Multicore Start CM7_2 from CM7_0 - NXP Community."&lt;/STRONG&gt; That said, I appreciate your help—I may have overlooked something. I'll review it once again.&lt;/P&gt;&lt;P class=""&gt;Best regards,&lt;BR /&gt;Lisha&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 28 Mar 2025 14:02:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/S32k3-Core1-started-in-Core-0/m-p/2070353#M47271</guid>
      <dc:creator>Lisha</dc:creator>
      <dc:date>2025-03-28T14:02:13Z</dc:date>
    </item>
  </channel>
</rss>

