Hello all,
I started coding for the MM912H634 Eval Kit and got my software working including the provided Interrupt Vector Table from NXP support (Thank you again for your work!) Now I wanted to port it all to the final hardware which uses a MM912G634 chip. If i try to link the files i get the following error for all my interrupt vectors (from which I only use one):
Link Error : L1907: Fixup overflow in _InterruptVectorTable, to Default_Interrupt type 1, at offset 0x0
This is just the first linbe of the error list, because it is the same error for all the interrupt vectors in the interrupt vector table. Here is my vectors.c file:
#include "derivative.h"
#include "globals.h"
#define TIM0_Interrupt 2
#pragma CODE_SEG __NEAR_SEG NON_BANKED
__interrupt void ISRTIMER(void){
if(1u == B_ISR_CH0){
B_TC0 = B_TCNT + 1000;
TIMER_1_MS_TICK++;
B_TFLG1_C0F = 1;
}
}
#pragma CODE_SEG DEFAULT
__interrupt void Default_Interrupt(void)
{
asm(BGND);
}
typedef void (*near tIsrFunc)(void);
const tIsrFunc _InterruptVectorTable[] @0xFF80 = {
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
&ISRTIMER,
&Default_Interrupt,
&Default_Interrupt,
&Default_Interrupt,
};
And my .prm file looks like this:
NAMES END
SEGMENTS
RAM = READ_WRITE 0x3800 TO 0x3FFF;
DFLASH = READ_ONLY 0x0400 TO 0x0BFF;
ROM_4000 = READ_ONLY 0x4000 TO 0x7FFF;
ROM_C000 = READ_ONLY 0xC000 TO 0xFEFF;
PAGE_0E = READ_ONLY 0x0E8000 TO 0x0EBFFF;
END
PLACEMENT
_PRESTART,
STARTUP,
ROM_VAR,
STRINGS,
VIRTUAL_TABLE_SEGMENT,
NON_BANKED,
COPY
INTO ROM_C000;
DEFAULT_ROM INTO PAGE_0E;
SSTACK,
DEFAULT_RAM INTO RAM;
END
ENTRIES
_InterruptVectorTable;
END
STACKSIZE 0x100
VECTOR 0 _Startup
Can somebody please help me to figure out, why it won't work on the MM912G634? I compiled the same code and programmed it onto the MM912H634 Eval board and everything works perfect.
I work with CW v5.1 and PE micro USB Multilink Interface with the CW debugger.
Greetings and thanks in advance.
Ralph