Hi,
I've created a new project in CCS 6.0.1 for MSP430F5308.
I've inserted an interrupt handler for a button.
When tested the button I've found the interrupt is working & arrive to the designated code, when exiting the interrupt
The interrupt call:
#pragma vector=PORT1_VECTOR
__interrupt void port1ISR(void)
{
if (P1IFG & BIT5)
{
//INFO: bottom clicked move to configure MSC.
LPM3_EXIT; //INFO: exit LPM3
configureMSC();
}
P1IFG = 0;
}
I see the configureMSC function been called & the interrupt handler ends OK.
After a few click (calling over & over to the same function which toggles a led so it is easy to know what works), i've found the system doesn't responds. Than I paused and found out that something is VERY wrong:
in the map file:
0000d0a6 0000000c nwkManagers.obj (.text:spiReadFifo)
0000d0b2 00000006 rts430x_lc_sd_eabi.lib : isr_trap.obj (.text:__TI_ISR_TRAP)
0000d0b8 00000006 main.obj (.text:_isr:Port_2)
I didn't insert the rts430x_lc_sd_eabi.lib to the project so I assume the creation of a new project for MSP430F5308 added this by default.
just to cover the case that id don't respond to interrupt I've created an empty port2 interrupt handler for testing:
// Port 2 interrupt service routine for timing test
#pragma vector=PORT2_VECTOR
__interrupt void Port_2(void)
{
P2IFG =0;
}
This didn't helped.
- When I look at the call stack in the pic above I can't understand what caused the trap, please advice on that.
- in this link this a similar issue? [I don't think so since I didn't imported ANY project etc']
- Any advice of what I'm doing wrong will be good..
