<?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: RTI problem--Processor mc9s12dt256b in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173981#M5563</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;You forgot to clear RTI flag in your RTI ISR. Add this to your Timer_Interrupt routine.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CRGFLG = 0x80;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;You exit from ISR but flag is still set, interrupt is pending, and ISR is called again and again, foreground task is frozen.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 31 Dec 2007 05:20:45 GMT</pubDate>
    <dc:creator>kef</dc:creator>
    <dc:date>2007-12-31T05:20:45Z</dc:date>
    <item>
      <title>RTI problem--Processor mc9s12dt256b</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173976#M5558</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;I am trying to setup an interrupt and having problems.&amp;nbsp; I think that the problem is regarding the vector address, which I am a bit unclear about.&amp;nbsp; I used processor expert to get the interrupt to turn on and off an LED and it was successful.&amp;nbsp; By looking in the vectors.c file from processor expert I can see that the vector address is 0xFFF0 but I cant seem to get the interrupt to work without using processor expert.&amp;nbsp; I should note that maybe there is some other problem that I am missing, but I am pretty sure that I need to define a vector address for the interrupt.&amp;nbsp; Any code examples or suggestions would be greatly appreciated.&amp;nbsp; The code for the program is listed below.&amp;nbsp; Thanks in advance.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;hidef.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* common defines and macros */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#include &amp;lt;mc9s12dt256.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* derivative information */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dt256b"&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;//VECTOR ADDRESS 0xFFF0 MY_Int;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#pragma TRAP_PROC&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;void MY_Int(void){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CRGFLG = 128;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRB=0xF0; //sets to output&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (PORTB == 0x10){&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTB = 0;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTB = 0x10;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void main(void) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* put your own code here */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; RTICTL=63;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CRGFLG=128;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; CRGINT=128;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //INTCR=191;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; EnableInterrupts;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for(;&lt;/SPAN&gt;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif"&gt;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/A&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&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; /* Enable interrupt */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //EnableInterrupts;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; for(;&lt;/SPAN&gt;&lt;A href="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif"&gt;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt;&lt;/A&gt;&lt;SPAN&gt; {} /* wait forever */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; /* please make sure that you never leave this function */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Dec 2007 03:59:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173976#M5558</guid>
      <dc:creator>leeen82</dc:creator>
      <dc:date>2007-12-19T03:59:14Z</dc:date>
    </item>
    <item>
      <title>Re: RTI problem--Processor mc9s12dt256b</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173977#M5559</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Hello&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;In order to get working interrupts you need to:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;1 - tell the compiler the function is an interrupt function. This is done specifying&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; #pragma TRAP_PROC prior to the function implementation if using the interrupt keyword.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Example&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;#pragma TRAP_PROC&lt;BR /&gt;void MY_Int(void){&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;or&lt;BR /&gt;__interruptvoid MY_Int(void){&lt;/DIV&gt;&lt;DIV&gt;}&lt;/DIV&gt;&lt;DIV&gt;You also need to make sure the function is allocated in NON_BANKED memory.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; In this purpose enclose the function implementation between&lt;/DIV&gt;&lt;DIV&gt;#pragma CODE_SEG __SHORT_SEG NON_BANKED&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; and&lt;/DIV&gt;&lt;DIV&gt;#pragma CODE_SEG DEFAULT&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; 2-initialize the vector table entry with the address of the function.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; This is done in the .prm file using command VECTOR ADDRESS.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Example:&lt;/DIV&gt;&lt;DIV&gt;VECTOR ADDRESS 0xFFF0 MY_Int&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; 3- Initialize the peripheral appropriately and add code to enable the interrupt for the device.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; 4- Make sure to enable the interrupts in your main function (you can use macro&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; EnabelInterrupts from hidef.h in that purpose)&lt;/DIV&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;CrasyCat&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;Message Edited by CrasyCat on &lt;SPAN class="date_text"&gt;2007-12-20&lt;/SPAN&gt; &lt;SPAN class="time_text"&gt;01:42 PM&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 20 Dec 2007 20:40:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173977#M5559</guid>
      <dc:creator>CrasyCat</dc:creator>
      <dc:date>2007-12-20T20:40:55Z</dc:date>
    </item>
    <item>
      <title>Re: RTI problem--Processor mc9s12dt256b</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173978#M5560</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Thanks for the reply.&amp;nbsp; I followed the steps in the above email and am still getting an error.&amp;nbsp; The error I am getting is "Link Error: L1106 :&amp;nbsp;Object Timer_Int_ELEE not found."&amp;nbsp; I have pasted in the main.cpp file and the P&amp;amp;E_MultiLink_Cyclonepro_linker.prm, which will hopefully help in determining the problem.&amp;nbsp; I am having the same problem with setting up ATD hence I assume it is something to do with the .prm file.&amp;nbsp; Thanks in advance.&amp;nbsp; -Erik-&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Main.cpp file:&lt;/DIV&gt;&lt;DIV&gt;#include &amp;lt;hidef.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* common defines and macros */&lt;BR /&gt;#include &amp;lt;mc9s12dt256.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* derivative information */&lt;BR /&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dt256b"&lt;/DIV&gt;&lt;DIV&gt;#pragma CODE_SEG __SHORT_SEG NON_BANKED&lt;BR /&gt;#pragma TRAP_PROC&lt;BR /&gt;void Timer_Int_ELEE(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DDRB=0xF0; //sets to output&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (PORTB == 0x10){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTB = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }else{&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORTB = 0x10;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;CRGFLG = 129;&lt;BR /&gt;}&lt;BR /&gt;#pragma CODE_SEG DEFAULT&lt;/DIV&gt;&lt;DIV&gt;void main(void) {&lt;BR /&gt;&amp;nbsp; /* put your own code here */&lt;BR /&gt;&amp;nbsp; EnableInterrupts;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //VECTOR ADDRESS 0xFFF0 MY_Int; placed in the prm file&lt;BR /&gt;&amp;nbsp; RTICTL=63;&lt;BR /&gt;&amp;nbsp; PLLCTL=32;//2^5;&lt;BR /&gt;&amp;nbsp; CRGFLG=129;//&lt;BR /&gt;&amp;nbsp; CRGINT=130;//2^1+2^7;//&lt;BR /&gt;&amp;nbsp; CLKSEL=0;//&lt;BR /&gt;&amp;nbsp; INTCR=191;&lt;BR /&gt;&amp;nbsp; //EnableInterrupts;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; for(;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt; {} /* wait forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave this function */&lt;BR /&gt;}&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;linker file:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* This is a linker parameter file for the MC9S12DT256 */&lt;BR /&gt;NAMES END /* CodeWarrior will pass all the needed files to the linker by command line. But here you may add your own files too. */&lt;/DIV&gt;&lt;DIV&gt;SEGMENTS /* here all RAM/ROM areas of the device are listed. Used in PLACEMENT below. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; RAM = READ_WRITE 0x1000 TO 0x3FFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* unbanked FLASH ROM */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_4000 = READ_ONLY&amp;nbsp; 0x4000 TO 0x7FFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_C000 = READ_ONLY&amp;nbsp; 0xC000 TO 0xFEFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* banked FLASH ROM */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_30 = READ_ONLY&amp;nbsp; 0x308000 TO 0x30BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_31 = READ_ONLY&amp;nbsp; 0x318000 TO 0x31BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_32 = READ_ONLY&amp;nbsp; 0x328000 TO 0x32BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_33 = READ_ONLY&amp;nbsp; 0x338000 TO 0x33BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_34 = READ_ONLY&amp;nbsp; 0x348000 TO 0x34BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_35 = READ_ONLY&amp;nbsp; 0x358000 TO 0x35BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_36 = READ_ONLY&amp;nbsp; 0x368000 TO 0x36BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_37 = READ_ONLY&amp;nbsp; 0x378000 TO 0x37BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_38 = READ_ONLY&amp;nbsp; 0x388000 TO 0x38BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_39 = READ_ONLY&amp;nbsp; 0x398000 TO 0x39BFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_3A = READ_ONLY&amp;nbsp; 0x3A8000 TO 0x3ABFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_3B = READ_ONLY&amp;nbsp; 0x3B8000 TO 0x3BBFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_3C = READ_ONLY&amp;nbsp; 0x3C8000 TO 0x3CBFFF;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_3D = READ_ONLY&amp;nbsp; 0x3D8000 TO 0x3DBFFF;&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_3E = READ_ONLY&amp;nbsp; 0x3E8000 TO 0x3EBFFF; not used: equivalent to ROM_4000 */&lt;BR /&gt;/*&amp;nbsp;&amp;nbsp;&amp;nbsp; PAGE_3F = READ_ONLY&amp;nbsp; 0x3F8000 TO 0x3FBFFF; not used: equivalent to ROM_C000 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; //OSVECTORS = READ_ONLY&amp;nbsp;&amp;nbsp;&amp;nbsp; 0xFF8C TO 0xFFFF;&amp;nbsp; /* OSEK interrupt vectors (use your vector.o) */&lt;BR /&gt;END&lt;/DIV&gt;&lt;DIV&gt;PLACEMENT /* here all predefined and user segments are placed into the SEGMENTS defined above. */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; _PRESTART,&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; /* Used in HIWARE format: jump to _Startup at the code start */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; STARTUP,&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; /* startup data structures */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ROM_VAR,&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; /* constant variables */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; STRINGS,&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; /* string literals */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; VIRTUAL_TABLE_SEGMENT,&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* C++ virtual table segment */&lt;BR /&gt;&amp;nbsp; //.ostext,&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; /* OSEK */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; NON_BANKED,&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; /* runtime routines which must not be banked */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; COPY&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; /* copy down information: how to initialize variables */&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* in case you want to use ROM_4000 here as well, make sure&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; that all files (incl. library files) are compiled with the&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; option: -OnB=b */&lt;BR /&gt;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; INTO&amp;nbsp; ROM_C000/*, ROM_4000*/;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_ROM&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; INTO&amp;nbsp; PAGE_30,PAGE_31,PAGE_32,PAGE_33,PAGE_34,PAGE_35,PAGE_36,PAGE_37,&lt;BR /&gt;&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;&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; PAGE_38,PAGE_39,PAGE_3A,PAGE_3B,PAGE_3C,PAGE_3D;&lt;BR /&gt;&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;&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; //.stackstart,&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; /* eventually used for OSEK kernel awareness: Main-Stack Start */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SSTACK,&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; /* allocate stack first to avoid overwriting variables on overflow */&lt;BR /&gt;&amp;nbsp; //.stackend,&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; /* eventually used for OSEK kernel awareness: Main-Stack End */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; DEFAULT_RAM&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; INTO&amp;nbsp; RAM;&lt;BR /&gt;&amp;nbsp; //.vectors&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; INTO OSVECTORS; /* OSEK */&lt;BR /&gt;END&lt;/DIV&gt;&lt;DIV&gt;ENTRIES /* keep the following unreferenced variables */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* OSEK: always allocate the vector table and all dependent objects */&lt;BR /&gt;&amp;nbsp; //_vectab OsBuildNumber _OsOrtiStackStart _OsOrtiStart&lt;BR /&gt;END&lt;/DIV&gt;&lt;DIV&gt;STACKSIZE 0x100&lt;BR /&gt;VECTOR ADDRESS 0xFFF0 Timer_Int_ELEE&lt;BR /&gt;VECTOR 0 _Startup /* reset vector: this is the default entry point for a C/C++ application. */&lt;BR /&gt;//VECTOR 0 Entry&amp;nbsp; /* reset vector: this is the default entry point for an Assembly application. */&lt;BR /&gt;//INIT Entry&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* for assembly applications: that this is as well the initialization entry point */&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 29 Dec 2007 04:46:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173978#M5560</guid>
      <dc:creator>leeen82</dc:creator>
      <dc:date>2007-12-29T04:46:48Z</dc:date>
    </item>
    <item>
      <title>Re: RTI problem--Processor mc9s12dt256b</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173979#M5561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;That's a different issue.&lt;BR /&gt;If you use C++ you either have to explicitly use the "C" calling convention to avoid the C++ name mangling, or you have to use C++ name mangled name in the prm file.&lt;BR /&gt;I suggest to use the "C" calling convention.&lt;BR /&gt;E.g.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;DIV class="msg_source_code"&gt;&lt;DIV class="text_smallest"&gt;Code:&lt;/DIV&gt;&lt;PRE&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dt256b"#pragma CODE_SEG __SHORT_SEG NON_BANKED#pragma TRAP_PROC#ifdef __cplusplusextern "C"#endifvoid Timer_Int_ELEE(void){    DDRB=0xF0; //sets to output    if (PORTB == 0x10){      PORTB = 0;    }else{      PORTB = 0x10;    }CRGFLG = 129;}#pragma CODE_SEG DEFAULT&lt;/PRE&gt;&lt;/DIV&gt;&lt;BR /&gt;(when only targeting C++, the #ifdef __cplusplus can be obviously dropped with the corresponding #endif)&lt;BR /&gt;&lt;BR /&gt;Note that the C++ name mangling is a common issue to all C++ usages and not different for CW than for any other compiler I know.&lt;BR /&gt;&lt;BR /&gt;Daniel&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Oct 2020 09:22:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173979#M5561</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2020-10-29T09:22:45Z</dc:date>
    </item>
    <item>
      <title>Re: RTI problem--Processor mc9s12dt256b</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173980#M5562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Thanks again for the help. That fixed the problem and now the interrupt is working properly.&amp;nbsp; I have hit another wall that I simply can't get past.&amp;nbsp; I know that an interrupt service routine should perform few operations and then return to the main function to perform the bulk of the operations.&amp;nbsp; With that in mind I am trying to increment a variable each time the interrupt occurs.&amp;nbsp; The problem is the variable's value doesnt seem to change inside the main function, but when looking at the value of the variable after compiling and running the program I can see that it's value changes as each interrupt occurs.&amp;nbsp; I have pasted the code below. Since each interrupt is 64 microseconds I should be able to use the while loop in the main function to wait 3 seconds then turn on the leds.&amp;nbsp; For some reason the program never gets past the while loop in the main function.&amp;nbsp; I have stored the 64*counter into a variable and looked at its value and it always reads 0...meaning counter must always be reading zero.&amp;nbsp; But when I look at the value of counter it has incremented to a large number.&amp;nbsp; Not sure what has happened here but clearly I am missing something.&amp;nbsp; I can get it to work by placing the code directly into the interrupt, but would rather keep the isr small.&amp;nbsp; I am sure that it is something easy so please excuse my inability to solve this problem.&amp;nbsp; Thanks again for all the help.&amp;nbsp;&amp;nbsp; -Erik-&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;#include &amp;lt;hidef.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* common defines and macros */&lt;BR /&gt;#include &amp;lt;mc9s12dt256.h&amp;gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* derivative information */&lt;BR /&gt;#pragma LINK_INFO DERIVATIVE "mc9s12dt256b"&lt;BR /&gt;&lt;BR /&gt;global long counter; //variable used to increment each interrupt&lt;BR /&gt;int timer_period;&lt;BR /&gt;#define T (*(volatile long*) counter)&lt;BR /&gt;#pragma CODE_SEG __SHORT_SEG NON_BANKED&lt;BR /&gt;#pragma TRAP_PROC&lt;BR /&gt;#ifdef __cplusplus&lt;BR /&gt;&amp;nbsp; extern "C"&lt;BR /&gt;#endif&lt;BR /&gt;void Timer_Interrupt(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CRGINT = 0;&amp;nbsp; //disable interrupt&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; counter=counter + 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //CRGINT=128; //enable interrupt&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /&lt;BR /&gt;}&lt;BR /&gt;#pragma CODE_SEG DEFAULT&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//this function will initialize the rti timer.&lt;BR /&gt;//the function expects a timer period value in microseconds.&lt;BR /&gt;//ONLY the listed periods can be achieved.&lt;BR /&gt;void Timer_Initialize(int period_in_us){&lt;BR /&gt;/*&amp;nbsp; Possible interrupt periods&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 64&amp;nbsp;&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 128&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 192&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 256&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 320&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 384&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 448&amp;nbsp;&amp;nbsp; us&lt;BR /&gt;*/&lt;BR /&gt;if (period_in_us == 64){ RTICTL = 16;}&lt;BR /&gt;else if (period_in_us == 128){ RTICTL = 17;}&lt;BR /&gt;else if (period_in_us == 192){ RTICTL = 18;}&lt;BR /&gt;else if (period_in_us == 256){ RTICTL = 19;}&lt;BR /&gt;else if (period_in_us == 320){ RTICTL = 20;}&lt;BR /&gt;else if (period_in_us == 384){ RTICTL = 21;}&lt;BR /&gt;else if (period_in_us == 448){ RTICTL = 22;}&lt;BR /&gt;timer_period = period_in_us;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void Start_Timer(void){&lt;BR /&gt;//turn on timer&lt;BR /&gt;Timer_Initialize(timer_period);//this ensures that the timer is reset&lt;BR /&gt;//at the begining of the timing period.&amp;nbsp; For example the timer could&lt;BR /&gt;//be at 32 us and then when we set the counter=0 will get a value of&lt;BR /&gt;//counter = 1 but only 32us will have elapsed.&amp;nbsp;&lt;BR /&gt;CRGINT = 128;//set RTIE flag.&lt;BR /&gt;counter = 0;&lt;BR /&gt;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void Stop_Timer(void){&lt;BR /&gt;//turn off timer&lt;BR /&gt;RTICTL=0;&lt;BR /&gt;CRGINT=0;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;long Read_Timer(void){&lt;BR /&gt;//returns the current timer value&amp;nbsp;&lt;BR /&gt;long buffer;&lt;BR /&gt;buffer = timer_period * counter;&lt;BR /&gt;return buffer;&amp;nbsp;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;void Delay_us(long delay_time){&lt;BR /&gt;Start_Timer();&lt;BR /&gt;long Time_2_Delay;&lt;BR /&gt;//Time_2_Delay = delay_time*counter;&lt;BR /&gt;&amp;nbsp; while (Time_2_Delay &amp;lt; delay_time){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Time_2_Delay= delay_time*counter;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; }&lt;BR /&gt;Stop_Timer();&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;volatile static long temp;&lt;BR /&gt;&lt;BR /&gt;void main(void) {&lt;BR /&gt;&amp;nbsp; /* put your own code here */&lt;BR /&gt;counter = 0;&lt;BR /&gt;&lt;BR /&gt;i=0;&lt;BR /&gt;EnableInterrupts;&lt;BR /&gt;Timer_Initialize(64);&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;//delay&lt;BR /&gt;Start_Timer();&lt;BR /&gt;//should wait for 3 seconds then turn on the leds with ddrb and portb below.&lt;BR /&gt;while ((counter*64) &amp;lt; 3000000){&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;DDRB=0xF0;&lt;BR /&gt;PORTB=0x10;&lt;BR /&gt;&lt;BR /&gt;for(;&lt;IMG alt=":smileywink:" class="emoticon emoticon-smileywink" id="smileywink" src="http://freescale.i.lithium.com/i/smilies/16x16_smiley-wink.gif" title="Smiley Wink" /&gt; {} /* wait forever */&lt;BR /&gt;&amp;nbsp; /* please make sure that you never leave this function */&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 30 Dec 2007 08:48:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173980#M5562</guid>
      <dc:creator>leeen82</dc:creator>
      <dc:date>2007-12-30T08:48:02Z</dc:date>
    </item>
    <item>
      <title>Re: RTI problem--Processor mc9s12dt256b</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173981#M5563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;You forgot to clear RTI flag in your RTI ISR. Add this to your Timer_Interrupt routine.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CRGFLG = 0x80;&lt;BR /&gt;&lt;/DIV&gt;&lt;DIV&gt;You exit from ISR but flag is still set, interrupt is pending, and ISR is called again and again, foreground task is frozen.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 31 Dec 2007 05:20:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-problem-Processor-mc9s12dt256b/m-p/173981#M5563</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2007-12-31T05:20:45Z</dc:date>
    </item>
  </channel>
</rss>

