<?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: XGATE requesting CPU interrupt in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286449#M10120</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You didn't mention above that you are using S12XE. My code is for S12XD. Though, it doesn't matter, PIT0 vector is at the same address on both S12XE and S12XD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;XGIF 58 denary = ID $3A &lt;/LI&gt;&lt;LI&gt;Vector table listing in S12XE says this is for PIT INT E3&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Do you mean this XGIF_3F_30_XGIF_3D_MASK? But it is flag mask for XGATE channel $3D, not $3A. Ant it matches &lt;/SPAN&gt;&lt;SPAN class="mce_paste_marker"&gt;low part of CPU12X vector address divided by 2. PIT0 CPU12X vector address is $FF7A. $7A/2 = $3D.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class="mce_paste_marker"&gt;What is XGIF_3F_30&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Well, it is mentioned both in S12XE/S12XD datasheets, also it is defined in both asm and C header files, that come with Codewarrior. By XGIF_XX_XX I meant one of XGIF flags. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;I'm sorry you don't understand C. I meant that SIF works only for vectors with RQST=1. SIF doesn't do anything useful in case target channel has RQST=0. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;When RQST=1, there can be two scenarios:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Hardware interrupt request is handled by XGATE. Then, in case further CPU12X processing is required, XGATE executes SIF with no argument, making the same interrupt channel processed by CPU12X interrupt routine.&lt;/LI&gt;&lt;LI&gt;Same as 1, but you can make other channels than current XGATE thread serviced by CPU12X. To do so you SIF Rx, where Rx contains channel to be triggered for CPU12X processing.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it is more clear.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 08 Mar 2013 15:10:57 GMT</pubDate>
    <dc:creator>kef</dc:creator>
    <dc:date>2013-03-08T15:10:57Z</dc:date>
    <item>
      <title>XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286442#M10113</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;However to route to CPU RQST is clear.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Say XGATE sets XGIF ID=$58&lt;/P&gt;&lt;P&gt;With XGIE = 1&lt;/P&gt;&lt;P&gt;and CPU vector set to appropriate ISR, and non-zero priority&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Why no interrupt?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Although XGIF Id=58 is normally for CAN0 TX int on XE this cannot prevent XGATE request.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Mar 2013 16:03:34 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286442#M10113</guid>
      <dc:creator>Fast</dc:creator>
      <dc:date>2013-03-06T16:03:34Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286443#M10114</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Richard,&lt;/P&gt;&lt;P&gt;Did you maybe clear the INT_XGPRIO register?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Mar 2013 17:39:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286443#M10114</guid>
      <dc:creator>HSW</dc:creator>
      <dc:date>2013-03-06T17:39:07Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286444#M10115</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;No I tested using the XGSWT interrupts directed to CPU, that works fine, but this route is usually to request XGATE actions.&lt;/P&gt;&lt;P&gt;And there a lot more XGIF s, which is more real world.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But fair question HSW&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Mar 2013 17:56:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286444#M10115</guid>
      <dc:creator>Fast</dc:creator>
      <dc:date>2013-03-06T17:56:26Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286445#M10116</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Richard,&lt;/P&gt;&lt;P&gt;Why don't you post your interrupt setup (source code or a memory dump of the XGATE and S12XINT registers) so we can review it.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 06 Mar 2013 20:16:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286445#M10116</guid>
      <dc:creator>HSW</dc:creator>
      <dc:date>2013-03-06T20:16:22Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286446#M10117</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Richard,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RQST=0 makes corresponding XGIF_XX_XX flag not used in any way. And when RQST is set, setting XGIF_XX_XX using XGATE SIF instruction triggers corresponding CPU ISR handler. And when it is made triggered, it will run, no matter is corresponding interrupt mask bit set or not. So if you trigger CAN handler, corresponding CAN mask bit is ignored and you should clear not CAN interrupt flag in CAN ISR, but but corresponding CAN XGIF_XX_XX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See attached prj. It SIF's PIT0 handler. Try setting breakpoints on XGATE and S12 ISR's and also switching RQST in Xgate setup routine.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 07 Mar 2013 05:14:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286446#M10117</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2013-03-07T05:14:30Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286447#M10118</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;XGATE code&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3,#$38&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;XGIF Interrupt S12 XGSWT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SIF&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDWD&amp;nbsp;&amp;nbsp;&amp;nbsp; R3,$0202&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDWD&amp;nbsp;&amp;nbsp;&amp;nbsp; R4,XGSWT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STW&amp;nbsp; R3,(R4,#0)&amp;nbsp;&amp;nbsp;&amp;nbsp; ;SWT INT&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CPU&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOVB&amp;nbsp;&amp;nbsp;&amp;nbsp; #$01,XGIF+8&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CLEAR FLAG ID $38 (56d)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOVW&amp;nbsp;&amp;nbsp;&amp;nbsp; #$0200,XGSWT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;CLEAR XGSWT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MOVW&amp;nbsp;&amp;nbsp;&amp;nbsp; TCNT,DEBUG7&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;used to check latency&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INCW&amp;nbsp;&amp;nbsp;&amp;nbsp; DEBUG8&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTI&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I set XGSWT1 CPU interrupt runs fine:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DEBUG8 increments&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Both XGSWT1 and XGIF ID=$38 cleared&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But as shown no XGSWT1 no CPU interrupt no DEBUG8 incrementing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I assume XGIF ID=$38 is NOT for XGSWT1 but then documentation must be wrong.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Richard &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 13:57:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286447#M10118</guid>
      <dc:creator>Fast</dc:creator>
      <dc:date>2013-03-08T13:57:22Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286448#M10119</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry&lt;/P&gt;&lt;P&gt;I can not read C code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;XGIF 58 denary = ID $3A &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vector table listing in S12XE says this is for PIT INT E3&amp;nbsp; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Where as you use PIT INT 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What is XGIF_3F_30&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And what is CPU doing to PITTF&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think you are triging XGATE with XGSWT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Then XGATE set XGIF &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Why is PIT involved?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 14:42:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286448#M10119</guid>
      <dc:creator>Fast</dc:creator>
      <dc:date>2013-03-08T14:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286449#M10120</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You didn't mention above that you are using S12XE. My code is for S12XD. Though, it doesn't matter, PIT0 vector is at the same address on both S12XE and S12XD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;XGIF 58 denary = ID $3A &lt;/LI&gt;&lt;LI&gt;Vector table listing in S12XE says this is for PIT INT E3&amp;nbsp; &lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Do you mean this XGIF_3F_30_XGIF_3D_MASK? But it is flag mask for XGATE channel $3D, not $3A. Ant it matches &lt;/SPAN&gt;&lt;SPAN class="mce_paste_marker"&gt;low part of CPU12X vector address divided by 2. PIT0 CPU12X vector address is $FF7A. $7A/2 = $3D.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;SPAN class="mce_paste_marker"&gt;What is XGIF_3F_30&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;Well, it is mentioned both in S12XE/S12XD datasheets, also it is defined in both asm and C header files, that come with Codewarrior. By XGIF_XX_XX I meant one of XGIF flags. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt; &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;I'm sorry you don't understand C. I meant that SIF works only for vectors with RQST=1. SIF doesn't do anything useful in case target channel has RQST=0. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;When RQST=1, there can be two scenarios:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;Hardware interrupt request is handled by XGATE. Then, in case further CPU12X processing is required, XGATE executes SIF with no argument, making the same interrupt channel processed by CPU12X interrupt routine.&lt;/LI&gt;&lt;LI&gt;Same as 1, but you can make other channels than current XGATE thread serviced by CPU12X. To do so you SIF Rx, where Rx contains channel to be triggered for CPU12X processing.&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hope it is more clear.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 15:10:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286449#M10120</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2013-03-08T15:10:57Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286450#M10121</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;UL&gt;&lt;LI&gt;I assume XGIF ID=$38 is NOT for XGSWT1 but then documentation must be wrong.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;No, it is correct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Vxst1:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; equ&amp;nbsp;&amp;nbsp; $0000FF70&lt;/P&gt;&lt;P&gt;$70/2 = $38&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 15:13:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286450#M10121</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2013-03-08T15:13:39Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286451#M10122</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Richard,&lt;/P&gt;&lt;P&gt;you're not showing your S12XINT setup, so I assume that the XGATE software trigger 1 is routed to the XGATE.&lt;/P&gt;&lt;P&gt;In your example, the XGATE code that would set XGSWT1 is commented out. And if it wasn't, you would have a race condition. The XGATE would re-trigger as long as the CPU does not clear the XGSWT1 bit while the XGATE is executing the code in-between the "STW&amp;nbsp;&amp;nbsp; R3,(R4,#0)" instruction and the next RTS. As soon as the CPU would hit this time window, the software trigger would remain cleared. &lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 15:36:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286451#M10122</guid>
      <dc:creator>HSW</dc:creator>
      <dc:date>2013-03-08T15:36:11Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286452#M10123</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Possibly&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I understood MC9S12XE-Family Reference Manual Rev. 1.24 that:&lt;/P&gt;&lt;P&gt;10.5.2 Outgoing Interrupt Requests&lt;/P&gt;&lt;P&gt;There are three types of interrupt requests which can be triggered by the XGATE module:&lt;/P&gt;&lt;P&gt;4. Channel interrupts&lt;/P&gt;&lt;P&gt;For each XGATE channel there is an associated interrupt flag in the XGATE interrupt flag vector&lt;/P&gt;&lt;P&gt;(XGIF, see Section 10.3.1.8, “XGATE Channel Interrupt Flag Vector (XGIF)”). These flags can be&lt;/P&gt;&lt;P&gt;set through the "SIF" instruction by the RISC core. They are typically used to flag an interrupt to&lt;/P&gt;&lt;P&gt;the S12X_CPU when the XGATE has completed one of its task.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AND&lt;/P&gt;&lt;P&gt;Table 6-8. INT_CFDATA0–7 Field Descriptions&lt;/P&gt;&lt;P&gt;Field Description&lt;/P&gt;&lt;P&gt;7&lt;/P&gt;&lt;P&gt;RQST&lt;/P&gt;&lt;P&gt;XGATE Request Enable—This bit determines if the associated interrupt request is handled by the CPU or by&lt;/P&gt;&lt;P&gt;the XGATE module.&lt;/P&gt;&lt;P&gt;0 Interrupt request is handled by the CPU&lt;/P&gt;&lt;P&gt;1 Interrupt request is handled by the XGATE module&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have RQST = 0 as I want CPU to service it.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 16:18:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286452#M10123</guid>
      <dc:creator>Fast</dc:creator>
      <dc:date>2013-03-08T16:18:12Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286453#M10124</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I think that we found root cause of this issue.&lt;/P&gt;&lt;P&gt;Datasheet says:&lt;/P&gt;&lt;P&gt;Additionally, XGATE interrupts may be raised by the XGATE module by setting one or more of the XGATE channel interrupt flags (by using the SIF instruction). This will result in an CPU interrupt with vector address vector base + (2 * channel ID number), where the channel ID number corresponds to the highest set channel interrupt flag, if the XGIE and channel RQST bits are set.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, SIF instruction causes CPU interrupt but appropriate Interrupt must be routed to XGATE.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="mce_paste_marker"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 16:32:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286453#M10124</guid>
      <dc:creator>RadekS</dc:creator>
      <dc:date>2013-03-08T16:32:56Z</dc:date>
    </item>
    <item>
      <title>Re: XGATE requesting CPU interrupt</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286454#M10125</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;WOW! runs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks everyone&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 08 Mar 2013 17:43:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/XGATE-requesting-CPU-interrupt/m-p/286454#M10125</guid>
      <dc:creator>Fast</dc:creator>
      <dc:date>2013-03-08T17:43:40Z</dc:date>
    </item>
  </channel>
</rss>

