Other Parts Discussed in Thread: MSP430G2231
Hello,
After investigation I came out to post question here.
I'm now using CCS 5.3.0.00090.
I want to use some older .asm code (usi slave driver) in new project.
There, USI interrupt vector is defined and it's correctly initialized and put to output file.
Now, creating new project in CCS5.3 I get to problem, that interrupt vector does not get initialized and I don't know what is wrong.
I'm sure that there is an issue with project settings, because if I build my old unmodified project created with older version of CCS i have NO errors and program works as expected.
I have reduced problem to using blink.c example and simple TestIrq.asm file to find issue.
My processor is MSP430G2231.
Here are excerpts from my code:
File blink.c
extern int USI_ISR1;
int main(void) {
int a;
WDTCTL = WDTPW | WDTHOLD; // Stop watchdog timer
a=USI_ISR1; // to make reference to .asm code
while (1);
}
File TestIrq.asm:
.cdecls C,LIST, "msp430x20x2.h"
.def USI_ISR1
.text
.align 2
USI_ISR1
nop
reti
.sect "USI" ; USI Vector
.short USI_ISR1
.end
Linker uses lnk_msp430g2231.cmd file generated and I get warning:
#10374-D Interrupt vector "USI" does not have an interrupt handler routine.
(OK, there are warnings for other uninitialized interrupt vectors, but USI vector should be initialized!
I will appreciate any help.
Best regards,
Borut.