<?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 Can I use the same IRQ for multi core in S32K</title>
    <link>https://community.nxp.com/t5/S32K/Can-I-use-the-same-IRQ-for-multi-core/m-p/2403258#M60350</link>
    <description>&lt;P&gt;Hi helper&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using S32K358 multi core.&lt;/P&gt;&lt;P&gt;Using Eirq for io interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a question:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want core0 use eirq0 and core2 use eirq1&lt;/P&gt;&lt;P&gt;But the two irq channel trigger the same IRQ handler&amp;nbsp;&lt;SPAN&gt;SIUL2_EXT_IRQ_0_7_ISR&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So there is the problem. If eirq0 and eirq1 both come. The Both core trigger&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SIUL2_EXT_IRQ_0_7_ISR. Both core operate the same register.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;It will be cause bad software expectation.It will clear other non-init channel.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do I understand OK?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;please give me a help.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Brs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
    <pubDate>Mon, 10 Aug 2026 09:54:22 GMT</pubDate>
    <dc:creator>Licunhao</dc:creator>
    <dc:date>2026-08-10T09:54:22Z</dc:date>
    <item>
      <title>Can I use the same IRQ for multi core</title>
      <link>https://community.nxp.com/t5/S32K/Can-I-use-the-same-IRQ-for-multi-core/m-p/2403258#M60350</link>
      <description>&lt;P&gt;Hi helper&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I am using S32K358 multi core.&lt;/P&gt;&lt;P&gt;Using Eirq for io interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have a question:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I want core0 use eirq0 and core2 use eirq1&lt;/P&gt;&lt;P&gt;But the two irq channel trigger the same IRQ handler&amp;nbsp;&lt;SPAN&gt;SIUL2_EXT_IRQ_0_7_ISR&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;So there is the problem. If eirq0 and eirq1 both come. The Both core trigger&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;SIUL2_EXT_IRQ_0_7_ISR. Both core operate the same register.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;It will be cause bad software expectation.It will clear other non-init channel.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Do I understand OK?&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;please give me a help.&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;Brs&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 10 Aug 2026 09:54:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Can-I-use-the-same-IRQ-for-multi-core/m-p/2403258#M60350</guid>
      <dc:creator>Licunhao</dc:creator>
      <dc:date>2026-08-10T09:54:22Z</dc:date>
    </item>
    <item>
      <title>Re: Can I use the same IRQ for multi core</title>
      <link>https://community.nxp.com/t5/S32K/Can-I-use-the-same-IRQ-for-multi-core/m-p/2403302#M60357</link>
      <description>&lt;P&gt;Hello&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/244004"&gt;@Licunhao&lt;/a&gt;&amp;nbsp;,&lt;/P&gt;
&lt;DIV&gt;
&lt;P&gt;Your understanding is partially correct.&lt;/P&gt;
&lt;P&gt;On S32K3 devices, the SIUL2 external interrupt inputs are grouped into interrupt vectors. Therefore, EIRQ0 and EIRQ1 belong to the same interrupt group and are handled by the same grouped interrupt handler, for example&amp;nbsp;&lt;SPAN&gt;SIUL2_EXT_IRQ_0_7_ISR.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;So, EIRQ0 and EIRQ1 cannot be used as two fully independent interrupt vectors.&lt;/P&gt;
&lt;P&gt;If the same SIUL2 interrupt group is routed or enabled on more than one core, both cores may enter the same interrupt handler and access the same SIUL2 registers. This can lead to unexpected behavior if the software does not implement proper multicore synchronization and ownership of the SIUL2 interrupt group.&lt;/P&gt;
&lt;P&gt;However, the SIUL2 interrupt flags are still available per individual EIRQ channel. A correct interrupt handler should check which EIRQ flag is pending and clear only the corresponding flag bit. The status flags should not be cleared globally or with an incorrect mask, otherwise another pending EIRQ flag could be affected.&lt;/P&gt;
&lt;P&gt;For a multicore application, I would recommend one of these approaches:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;P&gt;Assign the whole SIUL2 interrupt group, for example EIRQ0 to EIRQ7, to one core only. This core should handle the grouped ISR and, if needed, notify another core by software or inter-core communication.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If you need independent interrupt routing to different cores, use EIRQ channels from different SIUL2 interrupt groups, for example one channel from EIRQ0 to EIRQ7 and another channel from EIRQ8 to EIRQ15, if this is possible with your pin configuration.&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;If both cores must access the same SIUL2 registers, the access must be protected by a proper multicore synchronization mechanism. But in general, a single-owner model for the SIUL2 interrupt group is cleaner and safer.&lt;/P&gt;
&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;
&lt;/DIV&gt;
&lt;P&gt;Pavel&lt;/P&gt;</description>
      <pubDate>Mon, 10 Aug 2026 12:22:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Can-I-use-the-same-IRQ-for-multi-core/m-p/2403302#M60357</guid>
      <dc:creator>PavelL</dc:creator>
      <dc:date>2026-08-10T12:22:52Z</dc:date>
    </item>
  </channel>
</rss>

