<?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 Forcing user defined iterrupts on the M52233 in ColdFire/68K Microcontrollers and Processors</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147346#M3401</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have spent the last couple days looking through the documentation, scouring the freescale forums and the rest of the internet and have been unable to find a way to easily generate an interrupt from within code. I have an interrupt that I need to trigger in order to modify the exception stack frame, however, I need to do this via software, not hardware or peripheral interrupt. I have PIT0 working properly as needed, but this next step is not behaving. I've attempted using MCF_INTC_INTFRCH() and MCF_INTC_INTFRCL(), but doing that I either get nothing, or I get an interrupt on vector 2 which gives me 'Access Error -- PC = Error on operand read' If i enable printf debugging, and I get this regardless of which interrupt I try to force. I figure I'm missing some simple step, but I'm a loss for what it might be. I've tried messing with masks as well, but from the manual, those shouldn't matter since INTFRCL/H ignores the masks. Any help, direction, input, etc would be greatly appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks you,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dustin Knie&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Jan 2009 14:09:31 GMT</pubDate>
    <dc:creator>DustinK</dc:creator>
    <dc:date>2009-01-29T14:09:31Z</dc:date>
    <item>
      <title>Forcing user defined iterrupts on the M52233</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147346#M3401</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello everyone,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have spent the last couple days looking through the documentation, scouring the freescale forums and the rest of the internet and have been unable to find a way to easily generate an interrupt from within code. I have an interrupt that I need to trigger in order to modify the exception stack frame, however, I need to do this via software, not hardware or peripheral interrupt. I have PIT0 working properly as needed, but this next step is not behaving. I've attempted using MCF_INTC_INTFRCH() and MCF_INTC_INTFRCL(), but doing that I either get nothing, or I get an interrupt on vector 2 which gives me 'Access Error -- PC = Error on operand read' If i enable printf debugging, and I get this regardless of which interrupt I try to force. I figure I'm missing some simple step, but I'm a loss for what it might be. I've tried messing with masks as well, but from the manual, those shouldn't matter since INTFRCL/H ignores the masks. Any help, direction, input, etc would be greatly appreciated.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks you,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Dustin Knie&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jan 2009 14:09:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147346#M3401</guid>
      <dc:creator>DustinK</dc:creator>
      <dc:date>2009-01-29T14:09:31Z</dc:date>
    </item>
    <item>
      <title>Re: Forcing user defined iterrupts on the M52233</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147347#M3402</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;Could you explain a bit more what you're hoping to do?&lt;BR /&gt;&lt;BR /&gt;There's a software instruction called TRAP that will cause an exception. It allows code written in User mode to get back into Supervisor mode in a controlled way. (However it's not quite the same as forcing a hardware interrupt from software). Not sure if that's what you're thinking of?&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Jan 2009 18:18:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147347#M3402</guid>
      <dc:creator>SimonMarsden_de</dc:creator>
      <dc:date>2009-01-29T18:18:38Z</dc:date>
    </item>
    <item>
      <title>Re: Forcing user defined iterrupts on the M52233</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147348#M3403</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Hmm. Trap may work, except I'm currently working exclusively in supervisor mode.&amp;nbsp; The primary objective currently is to trigger an exception, so I can modify the exception stack frame and cause (in a sense) a process to be spawned as a result.&amp;nbsp; I'm building the start of a scheduler system for a basic RTOS.&amp;nbsp; The idea here is for a idle task to be spawned on startup by using interrupts.&lt;BR /&gt;&lt;BR /&gt;The other snag I've ran into is, I'm not sure I've been utilizing the interrupt force register properly, since I cannot get reliable operation out of it. Is there anything specific I need to do other than set the interrupt flag that I want to trigger?&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jan 2009 00:50:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147348#M3403</guid>
      <dc:creator>DustinK</dc:creator>
      <dc:date>2009-01-30T00:50:50Z</dc:date>
    </item>
    <item>
      <title>Re: Forcing user defined iterrupts on the M52233</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147349#M3404</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV&gt;&lt;/DIV&gt;If you're in Supervisor mode already you don't even need to use a TRAP instruction.&lt;BR /&gt;&lt;BR /&gt;There's nothing particularly special about an exception stack frame. It's quite easy to fake one up simply by pushing the correct values onto the stack. You can write a little bit of assembler code to do this.&lt;BR /&gt;&lt;BR /&gt;The exception stack frame format is documented in the ColdFire Family Programmer's Reference Manual.&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Hope this helps&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;Simon&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Jan 2009 17:40:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147349#M3404</guid>
      <dc:creator>SimonMarsden_de</dc:creator>
      <dc:date>2009-01-30T17:40:24Z</dc:date>
    </item>
    <item>
      <title>Re: Forcing user defined iterrupts on the M52233</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147350#M3405</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Thanks for the reply.&amp;nbsp; As I figured I was missing something simple and have gotten the interrupts to fire properly finally.&amp;nbsp; I forgot to actually set the interrupt force register value to anything, i was just reading from it.&amp;nbsp; As for the exception stack frame, it doesn't look to difficult. I haven't spent a lot of time actually figuring out how to modify it though.&amp;nbsp; I know how its laid out, its just a matter of accessing and modifying it.&amp;nbsp; I tried a few things borrowing from the asm_exception_isr in the base code that's generated with a new project in CW7.0 but so far I haven't succeeded in getting it to work properly.&amp;nbsp; I'll look at it again in a bit, right now I have some other tasks to take care of.&lt;BR /&gt;&lt;BR /&gt;Thanks,&lt;BR /&gt;&lt;BR /&gt;Dustin&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 31 Jan 2009 11:56:40 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/Forcing-user-defined-iterrupts-on-the-M52233/m-p/147350#M3405</guid>
      <dc:creator>DustinK</dc:creator>
      <dc:date>2009-01-31T11:56:40Z</dc:date>
    </item>
  </channel>
</rss>

