Hej
Vi sidder og arbejder på et projekt hvor vi skal bruge flere interrupts på en MSP430F149 MCU. Projektet bliver kompileret med mspgcc (mspgcc.sf.net) toolchain.
Når vi bruger flere interrupts så får vi en fejl: msp430-ld: section .vectors [0000ffe0 -> 0000ffff] overlaps section .text [0000fc00 -> 000100d7]
Vi skal gerne bruge: UART0TX_VECTOR ADC_VECTOR
Vi har husket og køre:
eint();
og kalder interruptene således:
interrupt(ADC_VECTOR) ADC12ISR(void) { ADC[0] = ADC12MEM0; ADC[1] = ADC12MEM1; // Move results, IFG is cleared ADC[2] = ADC12MEM2; ADC[3] = ADC12MEM3; }
interrupt(UART0TX_VECTOR) send_uart0(void) { ... ... ... }
Makefile:
# Project: MSP430 CPP = msp430-gcc.exe CC = msp430-gcc.exe RES = OBJ = main.o konfiguration/konfiguration.o fejl/fejl.o toolboks/toolboks.o porthandler/porthandler.o porthandler/adc.o terminalkomm/RS232.o $(RES) LINKOBJ = main.o konfiguration/konfiguration.o fejl/fejl.o toolboks/toolboks.o porthandler/porthandler.o porthandler/adc.o terminalkomm/RS232.o $(RES) LIBS = -L"C:/mspgcc/lib" INCS = -I"C:/mspgcc/msp430/include" BIN = main.exe CFLAGS = $(INCS)-g -O2 -Wall -mmcu=msp430x149
.PHONY: all all-before all-after clean clean-custom
all: all-before main.exe all-after
clean: clean-custom rm -f $(OBJ) $(BIN)
$(BIN): $(LINKOBJ) $(CC) $(LINKOBJ) -o "main.exe" $(LIBS)
main.o: main.c $(CC) -c main.c -o main.o $(CFLAGS)
konfiguration/konfiguration.o: konfiguration/konfiguration.c $(CC) -c konfiguration/konfiguration.c -o konfiguration/konfiguration.o $(CFLAGS)
fejl/fejl.o: fejl/fejl.c $(CC) -c fejl/fejl.c -o fejl/fejl.o $(CFLAGS)
toolboks/toolboks.o: toolboks/toolboks.c $(CC) -c toolboks/toolboks.c -o toolboks/toolboks.o $(CFLAGS)
porthandler/porthandler.o: porthandler/porthandler.c $(CC) -c porthandler/porthandler.c -o porthandler/porthandler.o $(CFLAGS)
porthandler/adc.o: porthandler/adc.c $(CC) -c porthandler/adc.c -o porthandler/adc.o $(CFLAGS)
terminalkomm/RS232.o: terminalkomm/RS232.c $(CC) -c terminalkomm/RS232.c -o terminalkomm/RS232.o $(CFLAGS)
Vi vil gerne høre fra folk som har brugt flere interrupts på MSP'en