This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
I’m developing program using C28x assembly language instructions on TMS320F28035. As I programmed flash and run it, there is a fault when calling functions in ISR, as if program running out. I’m sure there is no problem about interrupt context saving and restoring as follows:
ISR_Service:
; Interrupt context save:
PUSH AR1H:AR0H
PUSH XAR2
PUSH XAR3
PUSH XAR4
PUSH XAR5
PUSH XAR6
PUSH XAR7
PUSH XT
;Interrupt code:
;call functions
;Interrupt context restore:
POP XT
POP XAR7
POP XAR6
POP XAR5
POP XAR4
POP XAR3
POP XAR2
POP AR1H:AR0H
IRET
The CCS version is 3.3.83.20. Please tell me the reason for this problem and how to deal with it. Thank you very much.
Michael
Did you try to save the RPC too? I mean a PUSH RPC/ POP RPC in the context save.
Roger
Several years ago there was an appnote (spra806) "An Easy Way of Creating a C-callable Assembly Function for the TMS320C28x DSP" - it may still have some merit for what you are doing...
Hi,Roger
When I add PUSH RPC & POP RPC in ISR for context saving as you suggested, it runs ok. Thank you very much!
Regards
Michael