<?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 ColdFire IRQ level control in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131523#M932</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Can someone please confirm the following statement copied from one of the other threads?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;"When you are in an interrupt routine you don't want to be interrupted by a&lt;BR /&gt;interrupt with a lower priority. That is when your in a level 3 routine you&lt;BR /&gt;really aren't interested in level 2 routines.&lt;DIV&gt;The 68k took care of this automatically, the Coldfire does not, however the&lt;BR /&gt;Coldfire guarentees the first instruction in an interrupt routine is&lt;BR /&gt;executed. You take advantage of this and solve the problem by putting an&lt;BR /&gt;instruction that writes to the status register that either raises the level&lt;BR /&gt;or locks out interrupts depending on how you feel it should be done. "&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Dan&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Apr 2006 02:37:57 GMT</pubDate>
    <dc:creator>PA_Dan</dc:creator>
    <dc:date>2006-04-06T02:37:57Z</dc:date>
    <item>
      <title>ColdFire IRQ level control</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131523#M932</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;Can someone please confirm the following statement copied from one of the other threads?&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;"When you are in an interrupt routine you don't want to be interrupted by a&lt;BR /&gt;interrupt with a lower priority. That is when your in a level 3 routine you&lt;BR /&gt;really aren't interested in level 2 routines.&lt;DIV&gt;The 68k took care of this automatically, the Coldfire does not, however the&lt;BR /&gt;Coldfire guarentees the first instruction in an interrupt routine is&lt;BR /&gt;executed. You take advantage of this and solve the problem by putting an&lt;BR /&gt;instruction that writes to the status register that either raises the level&lt;BR /&gt;or locks out interrupts depending on how you feel it should be done. "&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Dan&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Apr 2006 02:37:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131523#M932</guid>
      <dc:creator>PA_Dan</dc:creator>
      <dc:date>2006-04-06T02:37:57Z</dc:date>
    </item>
    <item>
      <title>Re: ColdFire IRQ level control</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131524#M933</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;That statement is &lt;STRONG&gt;incorrect&lt;/STRONG&gt;.&amp;nbsp;&amp;nbsp;ColdFire behaves the same way that the 68K did in this regard.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Before executing an exception/interrupt handler, the ColdFire core will store the exception stack frame (including the SR) and set the SR[I] mask field to the level of the interrupt being acknowledged.&amp;nbsp;&amp;nbsp; This masks interrupts at the current level or below (except for the&amp;nbsp;non-maskable level 7).&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Unlike the 68K however, the ColdFire core will not sample for interrupts again until after the first instruction of the interrupt/exception routine has been executed.&amp;nbsp; This allows the software to raise the interrupt level even further if needed.&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Apr 2006 22:50:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131524#M933</guid>
      <dc:creator>mnorman</dc:creator>
      <dc:date>2006-04-06T22:50:07Z</dc:date>
    </item>
    <item>
      <title>Re: ColdFire IRQ level control</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131525#M934</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Whew!&amp;nbsp; Thanks.&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Apr 2006 22:54:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/ColdFire-IRQ-level-control/m-p/131525#M934</guid>
      <dc:creator>PA_Dan</dc:creator>
      <dc:date>2006-04-06T22:54:42Z</dc:date>
    </item>
  </channel>
</rss>

