<?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 deadlock and stack overflow in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204497#M7841</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Oh, I'm really sorry. I've need to read manuals more carrefully and attentively. All is OK now.&lt;/DIV&gt;&lt;DIV&gt;Sorry, thank you.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 22 Nov 2008 17:52:12 GMT</pubDate>
    <dc:creator>Evgenij</dc:creator>
    <dc:date>2008-11-22T17:52:12Z</dc:date>
    <item>
      <title>RTI deadlock and stack overflow</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204492#M7836</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;DIV&gt;&lt;P&gt;&lt;SPAN&gt;Hi everybody, need help or advice.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Work with mc68hc912bc32 in Code Warrior ver. 5.5 without Processor Expert using C.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Have a problem - when RTI called my program become to a cycle in RTI procedure and never return to main procedure (but other interrupts work for some time). It seems like return vector rewrites to RTI procedure but not to last operation in main procedure in moment of RTI called. So RTI procedure becames as main and gets cycle&amp;nbsp;in it all time. For some time of such working&amp;nbsp;microcontroller's&amp;nbsp;stack overflow! (in C! not assembler). All other interrupts work correctly, when I use assembler all is ok too. That's problem?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I've wrote little demonstration project, that also have this problem and put it here. Can you look to it? May be there is some error in initialization of RTI or some header file forget?&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Thank you.&amp;nbsp;If any questions ask me.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Nov 2008 21:09:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204492#M7836</guid>
      <dc:creator>Evgenij</dc:creator>
      <dc:date>2008-11-21T21:09:02Z</dc:date>
    </item>
    <item>
      <title>Re: RTI deadlock and stack overflow</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204493#M7837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;When you are "using assembler", do you clear interrupt flags?&amp;nbsp;Because none of your ISRs are clearing interrupt flags. SCI ISR also doesn't fill TX buffer while you have TIE enabled.&lt;/DIV&gt;&lt;DIV&gt;Also, I don't see how you could get stack overflow. Do you have stack so small, so that it overflows in single printf("LED 1 changed..\n"); call? Ughh&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Nov 2008 02:20:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204493#M7837</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2008-11-22T02:20:21Z</dc:date>
    </item>
    <item>
      <title>Re: RTI deadlock and stack overflow</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204494#M7838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Hm, sorry. I've watched my assembler and&amp;nbsp;get sure, that it doesn't work too.&lt;/DIV&gt;&lt;DIV&gt;So, why stack overflow I know now - the interrupt&amp;nbsp;procedure become recursive many times, I think so.&lt;/DIV&gt;&lt;DIV&gt;For clearing interrupt&amp;nbsp;flags I guess too. But what I've done with RTI it does not work. As I think I've clear RTIF (1 = Set when the time-out period is met) in RTIFLG.&lt;/DIV&gt;&lt;DIV&gt;So at the end of RTI procedure I write:&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; RTIFLG = 0;&lt;/DIV&gt;&lt;DIV&gt;But it also doesn't work and value of RTIFLG register stays 0x80 at memory map in simulation. Is it not writable? I think it is read and write anytime. Other interrupts work correctly as for my eyes.&lt;/DIV&gt;&lt;DIV&gt;Can you complement my procedure&amp;nbsp;for full and right?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;uchar c;&lt;BR /&gt;&amp;nbsp;c_rti ++;&lt;BR /&gt;&amp;nbsp;if (c_rti == 8) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;c_rti = 0;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;c = PORTB;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;c = !(PORTB &amp;amp; 1);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;PORTB = c;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;printf("LED 1 changed..\n");&lt;BR /&gt;&amp;nbsp;}&lt;BR /&gt;RTIFLG = 0;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //I have no effect&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Thank you.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Nov 2008 08:36:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204494#M7838</guid>
      <dc:creator>Evgenij</dc:creator>
      <dc:date>2008-11-22T08:36:17Z</dc:date>
    </item>
    <item>
      <title>Re: RTI deadlock and stack overflow</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204495#M7839</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;BR /&gt;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&lt;HR /&gt;Evgenij wrote:&lt;BR /&gt;&lt;DIV&gt;So, why stack overflow I know now - the interrupt&amp;nbsp;procedure become recursive many times, I think so.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Wrong assumption. I advice you to read CPU12 reference manual.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;For clearing interrupt&amp;nbsp;flags I guess too. But what I've done with RTI it does not work. As I think I've clear RTIF (1 = Set when the time-out period is met) in RTIFLG.&lt;/DIV&gt;&lt;DIV&gt;So at the end of RTI procedure I write:&lt;/DIV&gt;&lt;DIV&gt;&lt;STRONG&gt;&amp;nbsp; RTIFLG = 0;&lt;/STRONG&gt;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;And it does nothing.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;But it also doesn't work and value of RTIFLG register stays 0x80 at memory map in simulation. Is it not writable? I think it is read and write anytime. Other interrupts work correctly as for my eyes.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Have you ever opened HC12B family datasheet?&lt;/DIV&gt;&lt;BLOCKQUOTE&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Can you complement my procedure&amp;nbsp;for full and right?&lt;/DIV&gt;&lt;/BLOCKQUOTE&gt;&lt;DIV&gt;Yes I can, but I won't. Use forum search at bottom of this page and you'll find RTI examples. Also CW examples may contain examples with interrupts handling. Good luck&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Nov 2008 15:58:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204495#M7839</guid>
      <dc:creator>kef</dc:creator>
      <dc:date>2008-11-22T15:58:57Z</dc:date>
    </item>
    <item>
      <title>Re: RTI deadlock and stack overflow</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204496#M7840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Ok, thanks. I'll try to find examples on forum and read reference once more.&lt;/DIV&gt;&lt;DIV&gt;Motorola controllers are new for me, but I have hard terms for this work.&lt;/DIV&gt;&lt;DIV&gt;I worked more&amp;nbsp;with x51 family and my CW was only&amp;nbsp;with pair of examples.&lt;/DIV&gt;&lt;DIV&gt;Good luck.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Nov 2008 17:32:53 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204496#M7840</guid>
      <dc:creator>Evgenij</dc:creator>
      <dc:date>2008-11-22T17:32:53Z</dc:date>
    </item>
    <item>
      <title>Re: RTI deadlock and stack overflow</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204497#M7841</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Oh, I'm really sorry. I've need to read manuals more carrefully and attentively. All is OK now.&lt;/DIV&gt;&lt;DIV&gt;Sorry, thank you.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 22 Nov 2008 17:52:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/RTI-deadlock-and-stack-overflow/m-p/204497#M7841</guid>
      <dc:creator>Evgenij</dc:creator>
      <dc:date>2008-11-22T17:52:12Z</dc:date>
    </item>
  </channel>
</rss>

