<?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>S12 / MagniV MicrocontrollersのトピックHelp with simple xgate code to test a binutils port I did. S12XDP512</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211845#M8808</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi I have created a binutils port to allow xgate assembly programming(&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fgithub.com%2Fseank%2FFreeScale-s12x-binutils" rel="nofollow" target="_blank"&gt;http://github.com/seank/FreeScale-s12x-binutils&lt;/A&gt;).&amp;nbsp; I have verified the output of the test suite, what I'm trying to do now is create a simple test.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My init code looks like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void initXgate(){&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned short *memBuffer = (unsigned short*)&amp;amp;TXBuffer;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned char i;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write an entry in the vector table */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i = 0x12; i; i--, memBuffer++){ /* first vector-table entry starts 0x24 after vector base address */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*memBuffer = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*memBuffer = (unsigned short)0x4800; /* Our first xgate thread starts here (s12x sees as E1x8800) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;memBuffer++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*memBuffer = (unsigned short)&amp;amp;(PORTP); /* address of LEDs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//*memBuffer = (unsigned short)&amp;amp;(PORTS);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;eraseSector(0xE0,(unsigned short *)0x8800);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;writeSector(RPAGE, (unsigned short*)&amp;amp;TXBuffer, 0xE0, (unsigned short*)0x8800); /* xgate sees flash starting at paged address0xE0_0x8800 */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// XGATE threads execute from flash&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Set the XGVBR register to its start address in flash (page 0xE0 after 2K register space)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XGVBR = (unsigned short )0x0800;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable XGate and XGate interrupts&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XGMCTL= (unsigned short)0x8181;&lt;BR /&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My software trigger code looks like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; XGSWT = 0x0101;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any my xgate code looks like this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; need code to flip LED(s)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Right now the CPU freezes unless I comment out my&amp;nbsp; XGSWT statement.&amp;nbsp; My s19 dump looks good.&amp;nbsp; My guess is that I'm missing some things.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any input would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 09 Jul 2010 02:46:15 GMT</pubDate>
    <dc:creator>seank</dc:creator>
    <dc:date>2010-07-09T02:46:15Z</dc:date>
    <item>
      <title>Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211845#M8808</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi I have created a binutils port to allow xgate assembly programming(&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fgithub.com%2Fseank%2FFreeScale-s12x-binutils" rel="nofollow" target="_blank"&gt;http://github.com/seank/FreeScale-s12x-binutils&lt;/A&gt;).&amp;nbsp; I have verified the output of the test suite, what I'm trying to do now is create a simple test.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My init code looks like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void initXgate(){&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned short *memBuffer = (unsigned short*)&amp;amp;TXBuffer;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned char i;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* write an entry in the vector table */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;for(i = 0x12; i; i--, memBuffer++){ /* first vector-table entry starts 0x24 after vector base address */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;*memBuffer = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*memBuffer = (unsigned short)0x4800; /* Our first xgate thread starts here (s12x sees as E1x8800) */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;memBuffer++;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;*memBuffer = (unsigned short)&amp;amp;(PORTP); /* address of LEDs */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//*memBuffer = (unsigned short)&amp;amp;(PORTS);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;eraseSector(0xE0,(unsigned short *)0x8800);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;writeSector(RPAGE, (unsigned short*)&amp;amp;TXBuffer, 0xE0, (unsigned short*)0x8800); /* xgate sees flash starting at paged address0xE0_0x8800 */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// XGATE threads execute from flash&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Set the XGVBR register to its start address in flash (page 0xE0 after 2K register space)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XGVBR = (unsigned short )0x0800;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable XGate and XGate interrupts&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XGMCTL= (unsigned short)0x8181;&lt;BR /&gt;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;My software trigger code looks like this&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; XGSWT = 0x0101;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any my xgate code looks like this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ; need code to flip LED(s)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Right now the CPU freezes unless I comment out my&amp;nbsp; XGSWT statement.&amp;nbsp; My s19 dump looks good.&amp;nbsp; My guess is that I'm missing some things.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Any input would be greatly appreciated.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;Sean&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jul 2010 02:46:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211845#M8808</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-09T02:46:15Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211846#M8809</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Are you trying to trigger XGATE software trigger #0? I think it is so because you are triggering it with XGSWT = 0x0101;. But then you are setting up wrong XGATE vector table entry. Software trigger vector #0 number is 0x39. With XGVBR = 0x800, vector for software thread #0 should be at CPU banked address 0xE0_8800 + 0x39*4 = 0xE0_88E4 . I think your code is setting up vector number 0x12/2=9. This is reserved vector, not linked to any interrupt.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BTW. did you route xgate software thread #0 interrupt to XGATE? Codewarrior project wizard generated&amp;nbsp;code for this is like this:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifndef ROUTE_INTERRUPT&lt;BR /&gt;&amp;nbsp;#define ROUTE_INTERRUPT(vec_adr, cfdata)&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;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp; INT_CFADDR= (vec_adr) &amp;amp; 0xF0;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp; INT_CFDATA_ARR[((vec_adr) &amp;amp; 0x0F) &amp;gt;&amp;gt; 1]= (cfdata)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;foo()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ROUTE_INTERRUPT(Vxst0, 0x81); // where Vxst0 is 0xFF72, CPU12 vector address for XGATE software thread #0&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jul 2010 13:32:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211846#M8809</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-09T13:32:40Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211847#M8810</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ah I see.&amp;nbsp; Let me revise my table. I'll repost when done.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;THX!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Jul 2010 23:16:03 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211847#M8810</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-09T23:16:03Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211848#M8811</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Awesome, it is no longer locking up, but I'm not sure if I got my test xgate ASM correct.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The following s12 C code will flash an LED on my dev board.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;PORTP ^= 0xFF;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried to do this with xgate ASM but again may have missed a couple steps.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;xgateThread0:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDW R2, R1, #0x00 ; get data at port-p&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COM R2, R2&amp;nbsp; ; flip the bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STW R2, R1, #0x00&amp;nbsp; ; write the bits to port-p&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Disassembly:&lt;BR /&gt;&lt;BR /&gt;00E18800 0100 NOP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;00E18802 0100 NOP&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;BR /&gt;00E18804 4A20 LDW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, (R1,#0)&lt;BR /&gt;00E18806 120B COM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2&lt;BR /&gt;00E18808 5A20 STW&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, (R1,#0)&lt;BR /&gt;00E1880A 0200 RTS&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Again any input would be greatly appreciated.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 01:33:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211848#M8811</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-10T01:33:08Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211849#M8812</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is DDRP set up?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Assembler output seems being OK, bet PTP is 8 bits wide and you should use LDB and STB instructions instead of&amp;nbsp; LDW/STW.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You could use Codewarrior simulator to debug your S19 file. Lack of symbolic debugging is not big problem while code is not big.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;BTW, does your GNU header file define datasheet specified PTP and PTS registers? It makes sense to have PORTP defined to ease&amp;nbsp;porting of old code for HC12 to S12(X). But I think it doesn't make sense to use old port names in new code. I guess you won't need to port your new code for S12X to old HC12...&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 02:29:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211849#M8812</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-10T02:29:49Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211850#M8813</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;DDRP = ONES; /* PWM pins (8) */ so 0xFF&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I changed the opcodes as per your recommendation. It doesn't freeze up but the LED(s) don't flash.&amp;nbsp; Maybe my xgate asm technique is wrong?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, I think the defs are good because I can get it to flash with s12x c code.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All I have is the Special Edition of CW will that suffice?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;THX!!!!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 03:08:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211850#M8813</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-10T03:08:07Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211851#M8814</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;With your code you won't be able to see LEDs flashing. Since XGSWT flag is not reset in the thread, so software thread #0 will exit and reenter, exit and reenter .. so quickly&amp;nbsp;that you may&amp;nbsp;notice LED "flashing" only using scope.&lt;/P&gt;&lt;P&gt;Try&amp;nbsp;making LED off in S12X code.&amp;nbsp;If write to XGSWT=0x101 makes&amp;nbsp;LED on, then XGATE thread is executing.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Maybe PORTP define is good, but datasheet doesn't define such register. IMO it doesn't make sense to rename&amp;nbsp;registers defined in datasheets. Compatibility aliases are fine though.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes, you can use special edition to run your S19 file in simulator. If you didn't yet try hiwave simulator, then I guess you should create&amp;nbsp;multicore S12XD project using project wizard.&amp;nbsp;Run it and get a bit familiar with controls. Then you could load your S records file and debug. In debugger you may need to switch HCS12X FCS-&amp;gt;Configure...-&amp;gt;Mode to "user defined" and define all used RAM and FLASH areas. Are GNU S2 records banked or global? By default hiwave wants banked S2 records.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 04:47:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211851#M8814</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-10T04:47:50Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211852#M8815</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Well here are my revisions.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;void initXgate(){&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//TODO maybe build the vectortable pragmatically&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct xgateIntVector {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned short threadAddress;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;unsigned short initialVariable;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;struct xgateIntVector xgateIntVectorTable[] = {&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Channel # = Vector address / 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* channel 0..1E are not used, first used must match macro XGATE_VECTOR_OFFSET in xgate.h */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x00},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x01},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x02},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x03},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x04},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x05},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x06},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x07},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x08},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x09},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x0A},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x0B},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x0C},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x0D},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x0E},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x0F},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x10},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x11},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x12},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x13},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x14},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x15},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x16},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x17},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x18},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x19},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x1A},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x1B},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x1C},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x1D},&amp;nbsp; // RESERVED NOT USED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x1E},&amp;nbsp; // Channel 1E - ATD1 compare&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x1F},&amp;nbsp; // Channel 1F - ATD0 compare&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x20},&amp;nbsp; // Channel 20 - TIM Pulse accumulator input edge&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x21},&amp;nbsp; // Channel 21 - TIM Pulse accumulator A overflow&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x22},&amp;nbsp; // Channel 22 - TIM overflow&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x23},&amp;nbsp; // Channel 23 - TIM channel 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x24},&amp;nbsp; // Channel 24 - TIM channel 6&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x25},&amp;nbsp; // Channel 25 - TIM channel 5&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x26},&amp;nbsp; // Channel 26 - TIM channel 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x27},&amp;nbsp; // Channel 27 - TIM channel 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x28},&amp;nbsp; // Channel 28 - TIM channel 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x29},&amp;nbsp; // Channel 29 - TIM channel 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x2A},&amp;nbsp; // Channel 2A - TIM channel 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x2B},&amp;nbsp; // Channel 2B - SCI7&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x2C},&amp;nbsp; // Channel 2C - Periodic Interrupt Timer 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x2D},&amp;nbsp; // Channel 2D - Periodic Interrupt Timer 6&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x2E},&amp;nbsp; // Channel 2E - Periodic Interrupt Timer 5&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x2F},&amp;nbsp; // Channel 2F - Periodic Interrupt Timer 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x30},&amp;nbsp; // Channel 30 - Reserved&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x31},&amp;nbsp; // Channel 31 - Reserved&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x32},&amp;nbsp; // Channel 32 - XGATE Software Trigger 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x33},&amp;nbsp; // Channel 33 - XGATE Software Trigger 6&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x34},&amp;nbsp; // Channel 34 - XGATE Software Trigger 5&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x35},&amp;nbsp; // Channel 35 - XGATE Software Trigger 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x36},&amp;nbsp; // Channel 36 - XGATE Software Trigger 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x37},&amp;nbsp; // Channel 37 - XGATE Software Trigger 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x38},&amp;nbsp; // Channel 38 - XGATE Software Trigger 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{(unsigned short)0x4800, (unsigned short)&amp;amp;PORTP}, // Channel 39 - XGATE Software Trigger 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//{(XGATE_Function)SoftwareTrigger0_XSR, (int)&amp;amp;STRCH0_Data}, // Channel 39 - XGATE Software Trigger 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x3A},&amp;nbsp; // Channel 3A - Periodic Interrupt Timer 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x3B},&amp;nbsp; // Channel 3B - Periodic Interrupt Timer 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x3C},&amp;nbsp; // Channel 3C - Periodic Interrupt Timer 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x3D},&amp;nbsp; // Channel 3D - Periodic Interrupt Timer 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//{(XGATE_Function)PIT_XSR, (int)&amp;amp;PITCH0_Data},&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; // Channel 3D - Periodic Interrupt Timer 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x3E},&amp;nbsp; // Channel 3E - Reserved&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x3F},&amp;nbsp; // Channel 3F - Autonomous Periodical interrupt API&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x40},&amp;nbsp; // Channel 40 - Low Voltage interrupt LVI&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x41},&amp;nbsp; // Channel 41 - IIC1 Bus&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x42},&amp;nbsp; // Channel 42 - SCI5&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x43},&amp;nbsp; // Channel 43 - SCI4&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x44},&amp;nbsp; // Channel 44 - SCI3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x45},&amp;nbsp; // Channel 45 - SCI2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x46},&amp;nbsp; // Channel 46 - PWM Emergency Shutdown&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x47},&amp;nbsp; // Channel 47 - Port P Interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x48},&amp;nbsp; // Channel 48 - CAN4 transmit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x49},&amp;nbsp; // Channel 49 - CAN4 receive&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x4A},&amp;nbsp; // Channel 4A - CAN4 errors&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x4B},&amp;nbsp; // Channel 4B - CAN4 wake-up&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x4C},&amp;nbsp; // Channel 4C - CAN3 transmit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x4D},&amp;nbsp; // Channel 4D - CAN3 receive&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x4E},&amp;nbsp; // Channel 4E - CAN3 errors&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x4F},&amp;nbsp; // Channel 4F - CAN3 wake-up&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x50},&amp;nbsp; // Channel 50 - CAN2 transmit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x51},&amp;nbsp; // Channel 51 - CAN2 receive&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x52},&amp;nbsp; // Channel 52 - CAN2 errors&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x53},&amp;nbsp; // Channel 53 - CAN2 wake-up&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x54},&amp;nbsp; // Channel 54 - CAN1 transmit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x55},&amp;nbsp; // Channel 55 - CAN1 receive&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x56},&amp;nbsp; // Channel 56 - CAN1 errors&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x57},&amp;nbsp; // Channel 57 - CAN1 wake-up&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x58},&amp;nbsp; // Channel 58 - CAN0 transmit&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x59},&amp;nbsp; // Channel 59 - CAN0 receive&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x5A},&amp;nbsp; // Channel 5A - CAN0 errors&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x5B},&amp;nbsp; // Channel 5B - CAN0 wake-up&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x5C},&amp;nbsp; // Channel 5C - FLASH&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x5D},&amp;nbsp; // Channel 5D - FLASH fault detect&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x5E},&amp;nbsp; // Channel 5E - SPI2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x5F},&amp;nbsp; // Channel 5F - SPI1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x60},&amp;nbsp; // Channel 60 - IIC0 Bus&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x61},&amp;nbsp; // Channel 61 - SCI6&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x62},&amp;nbsp; // Channel 62 - CRG Self Clock Mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x63},&amp;nbsp; // Channel 63 - CRG PLL lock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x64},&amp;nbsp; // Channel 64 - Pulse Accumulator B Overflow&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x65},&amp;nbsp; // Channel 65 - Modulus Down Counter underflow&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x66},&amp;nbsp; // Channel 66 - Port H&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x67},&amp;nbsp; // Channel 67 - Port J&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x68},&amp;nbsp; // Channel 68 - ATD1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x69},&amp;nbsp; // Channel 69 - ATD0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x6A},&amp;nbsp; // Channel 6A - SCI1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x6B},&amp;nbsp; // Channel 6B - SCI0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x6C},&amp;nbsp; // Channel 6C - SPI0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x6D},&amp;nbsp; // Channel 6D - ECT Pulse accumulator input edge&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x6E},&amp;nbsp; // Channel 6E - ECT Pulse accumulator A overflow&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x6F},&amp;nbsp; // Channel 6F - Enhanced Capture Timer overflow&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x70},&amp;nbsp; // Channel 70 - Enhanced Capture Timer channel 7&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x71},&amp;nbsp; // Channel 71 - Enhanced Capture Timer channel 6&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x72},&amp;nbsp; // Channel 72 - Enhanced Capture Timer channel 5&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x73},&amp;nbsp; // Channel 73 - Enhanced Capture Timer channel 4&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x74},&amp;nbsp; // Channel 74 - Enhanced Capture Timer channel 3&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x75},&amp;nbsp; // Channel 75 - Enhanced Capture Timer channel 2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x76},&amp;nbsp; // Channel 76 - Enhanced Capture Timer channel 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x77},&amp;nbsp; // Channel 77 - Enhanced Capture Timer channel 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x78}&amp;nbsp; // Channel 78 - Real Time Interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;};&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;eraseSector(0xE1,(unsigned short *)0x8800);&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; memcpy((void*)&amp;amp;TXBuffer, (void*)&amp;amp;xgateIntVectorTable, (0x79 * sizeof(struct xgateIntVector)) );&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;eraseSector(0xE0,(unsigned short *)0x8800);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;writeSector(RPAGE, (unsigned short*)&amp;amp;TXBuffer, 0xE0, (unsigned short*)0x8800); /* xgate sees flash starting at paged address0xE0_0x8800 */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// XGATE threads execute from flash&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Set the XGVBR register to its start address in flash (page 0xE0 after 2K register space)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XGVBR = (unsigned short )0x0800;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Enable XGate and XGate interrupts&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;XGMCTL= (unsigned short)0x8181;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And I took your advice and tried to just flip the LED on since my xgatethread is by no means proper.&lt;/P&gt;&lt;P&gt;xgateThread0: ;load to E1 8800&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDL R2,#0xFF&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDH R2,#0xFF&lt;BR /&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDB R2, R1, #0x00 ; get data at port-p&lt;BR /&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COM R2, R2&amp;nbsp; ; flip the bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STB R2, R1, #0x00&amp;nbsp; ; write the bits to port-p&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I'll see if I can fire up the sim, Im using banked paged mode.&amp;nbsp;&amp;nbsp; I could only think of two possibilities.&amp;nbsp; 1 you cant pass a HW address parameter into the vector table or 2 maybe the lack us using semaphores is hanging it up.&amp;nbsp; Thanks for all your input.&amp;nbsp; If you notice anything else let me know.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 08:53:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211852#M8815</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-10T08:53:58Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211853#M8816</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I found one error so far by creating a project in CW.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The first 8 vector entries arent even "blanks"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x00},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x01},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x02},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x03},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x04},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x05},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x06},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x07},&amp;nbsp; // RESERVED&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;{XGATE_ERROR_HANDLER, 0x08},&amp;nbsp; // RESERVED&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 10:23:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211853#M8816</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-10T10:23:35Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211854#M8817</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Since first 8 XGATE vectors on S12XD/XA&amp;nbsp;don't have even associated thread flags (these vectors are never used), CW created project saves few bytes of codespace by starting vector table from vector 9 and setting up XGVBR with XGATE address of vector minus 8*4. See Setup XGATE routine and XGATE_VECTOR_OFFSET define in CW xgate.h. You should either uncommend first 8 vectors back or adjust XGVBR.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I don't know, memory dumps look right. So you are writing XGSWT=0x101; and nothing happens? Maybe attach you S19 file then. Of course if would ease simulation if you&amp;nbsp;could initialize XGATE vector table&amp;nbsp;at compile time, without the calls to flash program/erase routines. Simulator doesn't support simulation of flash programming.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 10:58:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211854#M8817</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-10T10:58:39Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211855#M8818</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thx again I def owe you one.&amp;nbsp; I uncommented out those 8 lines for verbosity rather than give it an offset.&amp;nbsp; The problem is my loader (hc12mem) cant seem to erase that deep into flash so I have to do it from the main code as you stated.&amp;nbsp; The first s19 is the s12, beware it is rather large as it is part of the FreeEMS project.&amp;nbsp; The second is the tiny xgate thread.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Right when I write x0101 to the int vector I get nothing.&amp;nbsp; Ah I see a mistake, in-order for s12 to be able to write to the correct vector I need to flip the page first.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp; PPAGE = 0xE0;&lt;BR /&gt;&amp;nbsp; XGSWT = 0x0101;&lt;BR /&gt;&amp;nbsp;PPAGE = savedPage;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;But I still got nothing........&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 12:16:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211855#M8818</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-10T12:16:39Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211856#M8819</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;after freeems...s19 completed writing vector table, it started looping doing something but XGSWT&amp;nbsp;is never&amp;nbsp;written. Could you make sure you set up interrupt routing and write 0x101 to XGSWT?&lt;/P&gt;&lt;P&gt;test.s19&amp;nbsp;loads properly&amp;nbsp;at address 0x4800 in XGATE address space. Do you load it separately?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So I loaded two S19 files,&amp;nbsp;switched xgswt#0 interrupt routing to XGATE by hand and wrote 0x101 to&amp;nbsp;XGSWT by hand. XGATE jumped properly to your code in test.s19. No problems.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Unfortunately it is not easy to write to xgate registers in hiwave. Only word write to XGSWT is accepted and it seems debugger command&amp;nbsp; ww $398 $101&amp;nbsp; writes not one&amp;nbsp;word at a time&amp;nbsp;but two bytes, of course that doesn't work.&amp;nbsp;I had to write opcodes LDY #0x101&amp;nbsp; STY 0x398 by hand.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 10 Jul 2010 15:42:44 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211856#M8819</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-10T15:42:44Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211857#M8820</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I had XGSWT defined as the address of my vector thread entry.&amp;nbsp; It is now fixed and the generated asm looks like this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;.LSM19:&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; movw&amp;nbsp;&amp;nbsp;&amp;nbsp; #257,920&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;P&gt;I'll have a look at interrupt routing.&amp;nbsp; Maybe my concept of it is broken or absent.&amp;nbsp; I thought all you had to do is write the thread info to the vector table after allocating it and write to XGSWT to fire it.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Yes right now I don't have the Makefile setup to do the linking and generate 1 s19, at least not yet anyway.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Jul 2010 00:29:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211857#M8820</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-11T00:29:40Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211858#M8821</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;By default interrupt controller passes interrupts to CPU12X. Almost any given interrupt can be switching to be handler by XGATE.&amp;nbsp;XGATE vector table only defines thread start addresses&amp;nbsp;(initial PC) and initial R1 register settings for every thread.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;To reroute XGATE software thread0 from default CPU12X to XGATE you should have something like this in your code:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;#ifndef ROUTE_INTERRUPT&lt;BR /&gt;&amp;nbsp;#define ROUTE_INTERRUPT(vec_adr, cfdata)&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;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp; INT_CFADDR= (vec_adr) &amp;amp; 0xF0;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; \&lt;BR /&gt;&amp;nbsp; INT_CFDATA_ARR[((vec_adr) &amp;amp; 0x0F) &amp;gt;&amp;gt; 1]= (cfdata)&lt;BR /&gt;#endif&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;foo()&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; // reroute Vxst0 to XGATE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp; ROUTE_INTERRUPT(Vxst0, 0x81); // where Vxst0 is 0xFF72, CPU12X vector address for XGATE software thread #0&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Sorry but I won't try your new file. Old one was lacking only ROUTE_INTERRUPT and a write to XGSWT.(though maybe I just missed it).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Jul 2010 01:19:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211858#M8821</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-11T01:19:05Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211859#M8822</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;It WORKS!&amp;nbsp; The LED lit, I tried to rewrite the xgate code so the LED would cycle but it just stays lit.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/* route interrupt to xgate */&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;INT_CFADDR = (0x72 &amp;amp; 0xF0);&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;INT_CFDATA0 = 0x01;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; INT_CFDATA1 = 0x81;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Disassembly:&lt;BR /&gt;&lt;BR /&gt;00E18800 F398 LDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3, #152&lt;BR /&gt;00E18802 FB03 LDH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3, #3&lt;BR /&gt;00E18804 F400 LDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4, #0&lt;BR /&gt;00E18806 FC01 LDH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4, #1&lt;BR /&gt;00E18808 5460 STB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4, (R3,#0) ;disable interrupts&lt;BR /&gt;00E1880A 0100 NOP&lt;BR /&gt;00E1880C 0100 NOP&lt;BR /&gt;00E1880E 4220 LDB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, (R1,#0)&lt;BR /&gt;00E18810 120B COM&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2&lt;BR /&gt;00E18812 5220 STB&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R2, (R1,#0)&lt;BR /&gt;00E18814 0200 RTS&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;When I'm done with my example code, do you mind if I put a thank you reference in there with your name?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;THX&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Jul 2010 04:16:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211859#M8822</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-11T04:16:52Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211860#M8823</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Seems maybe my clear code should look like this.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;xgateThread0:&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDL&amp;nbsp; R2, #0x80&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;load R2 with immediate value of 0x80 (rtif bit)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDL&amp;nbsp; R3, #0x37&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;load R3 with CRGFLG register address&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STB&amp;nbsp; R2, R3, #0x00 ;store R2 to CRGFLG register to clear rti flag&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; NOP&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; LDB R2, R1, #0x00 ; get data at port-p&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; COM R2, R2&amp;nbsp; ; flip the bits&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; STB R2, R1, #0x00&amp;nbsp; ; write the bits to port-p&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; RTS&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Jul 2010 11:07:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211860#M8823</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-11T11:07:27Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211861#M8824</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;00E18800 F398 LDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3, #152 &lt;EM&gt;// address of XGSWT to R3&lt;BR /&gt;&lt;/EM&gt;00E18802 FB03 LDH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R3, #3&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;//&lt;BR /&gt;&lt;/EM&gt;00E18804 F400 LDL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4, #0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;// 0x100 to R4&lt;BR /&gt;&lt;/EM&gt;00E18806 FC01 LDH&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4, #1&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;EM&gt;//&lt;BR /&gt;&lt;/EM&gt;00E18808 5460 &lt;STRONG&gt;&lt;FONT color="#ff0000"&gt;STB&lt;/FONT&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; R4, (R3,#0) ;disable interrupts&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Should be STW here to write 0x100 word to XGSWT&amp;nbsp;and clear software thread #0 request. It is not "disable interrupts". Other interrupts (threads) have no relation to XGSWT.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Edward Karpicz&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 11 Jul 2010 11:28:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211861#M8824</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2010-07-11T11:28:26Z</dc:date>
    </item>
    <item>
      <title>Re: Help with simple xgate code to test a binutils port I did. S12XDP512</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211862#M8825</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A href="http://github.com/seank/freeems-vanilla/blob/master/src/xgate/assembly/xgate.s" rel="nofollow" target="_blank"&gt;http://github.com/seank/freeems-vanilla/blob/master/src/xgate/assembly/xgate.s&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 12 Jul 2010 04:30:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/Help-with-simple-xgate-code-to-test-a-binutils-port-I-did/m-p/211862#M8825</guid>
      <dc:creator>seank</dc:creator>
      <dc:date>2010-07-12T04:30:02Z</dc:date>
    </item>
  </channel>
</rss>

