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/