Tool/software: TI C/C++ Compiler
Hi,
We are using IAR 7.12 C for one of our project that use MSP430F6734A has 96 KB flash memory.
And IAR C compiler configured for large code model.
For diagnostic purpose, inside the interrupt routine I need to store the address of the code that will be executed after the ISR.
That value (Program Counter just before the ISR) automatically pushed by MSP430 to somewhere before jumping to ISR routine and poped automatically after the ISR routine.
I need that 32 bit value in my C variable, how can I obtain it?
uint32_t PROGRAM_COUNTER_WAS; void func1(void) { .. } void func2(void) { .. } void main(void) { ... __enable_interrupt(); while(true) { func1(); func2(); .. } } #pragma vector = PORT1_VECTOR /* 0xFFDE Port 1 */ __interrupt void PORT1_ISR(void) { ... PROGRAM_COUNTER_WAS = ?? // here I need to store the address of the code that will be executed after the ISR } #pragma vector = RTC_VECTOR __interrupt void RTC_ISR(void) { ... PROGRAM_COUNTER_WAS = ?? // here I need to store the address of the code that will be executed after the ISR } #pragma vector = AUX_VECTOR /* 0xFFE6 AUX Supply */ __interrupt void AUX_ISR(void) { ... PROGRAM_COUNTER_WAS = ?? // here I need to store the address of the code that will be executed after the ISR }