RE: 555 ISRs in ThreadX

Dees Randy-rsaf30 <[email protected]>
Newsgroups gmane.comp.hardware.motorola.microcontrollers
Message-ID <3FADD461F8FBD8118BB0000F20D7A55F0BE6F575@az33exm43.am.freescale.net>
you can't step though an ISR. you have to put a breakpoint after your ISR has saved the machine state (save working registers, SRR0 and SRR1). stepping is an exception which will blow away the SRR0 value.

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of shanz9903


I am using Multi 4.07 and ThreadX.  I am struggling to implement the
profiling feature in Multi which should help me to determine how long
each function is taking to execute.

I have noticed unexpected behaviour on the srr0 register which I
thought was meant to hold the location of the next instruction
following the return from the ISR (rfi).  ThreadX handles all the
context saving and advises against using the __interrupt keyword or
(#pragma interrupt).  

When I step through my ISR, the srr0 register just acts like the
Program Counter (PC).  It is almost as if the 555 is unaware that I am
inside an ISR!  Why might this be?  

My program successfully returns from the ISR so I suspect that ThreadX
relies on the Link Register (instead of srr0) that it saves onto the
Interrupt Stack Frame at the beginning of the ISR.





[Non-text portions of this message have been removed]



-----------------------------------------------------------
To learn more about Freescale Microcontrollers, please visit
http://www.freescale.com/mcu


 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/MPC500/

<*> To unsubscribe from this group, send an email to:
    [email protected]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.