Dear all,
I have CW10-6 and S08PT60.
I need to redirect the serial interrupt to an address in this ram.
I tried this way but me error:
Description Resource Path Location Type
C1822 Type mismatch (expected 'void (*near )()', given 'unsigned char ')
static void (* near const _vect[])(void) @0xFFB0 = { /* Interrupt vector table */
/*lint -restore Enable MISRA rule (1.1) checking. */
UNASSIGNED_ISR, /* Int.no. 39 Vnvm (at FFB0) Unassigned */
kb1_Int, /* Int.no. 38 Vkbi1 (at FFB2) Unassigned */
UNASSIGNED_ISR, /* Int.no. 37 Vkbi0 (at FFB4) Unassigned */
UNASSIGNED_ISR, /* Int.no. 36 Vtsi (at FFB6) Unassigned */
UNASSIGNED_ISR, /* Int.no. 35 Vrtc (at FFB8) Unassigned */
isrIIC, /* Int.no. 34 Viic (at FFBA) Unassigned */
UNASSIGNED_ISR, /* Int.no. 33 Vspi1 (at FFBC) Unassigned */
UNASSIGNED_ISR, /* Int.no. 32 Vspi0 (at FFBE) Unassigned */
UNASSIGNED_ISR, /* Int.no. 31 Vsci2tx (at FFC0) Unassigned */
UNASSIGNED_ISR, /* Int.no. 30 Vsci2rx (at FFC2) Unassigned */
UNASSIGNED_ISR, /* Int.no. 29 Vsci2err (at FFC4) Unassigned */
UNASSIGNED_ISR, /* Int.no. 28 Vsci1tx (at FFC6) Used */
UNASSIGNED_ISR, /* Int.no. 27 Vsci1rx (at FFC8) Used */
UNASSIGNED_ISR, /* Int.no. 26 Vsci1err (at FFCA) Unassigned */
isrVsci0tx, /* Int.no. 25 Vsci0tx (at FFCC) Unassigned */
Vector_Ram[1][0], /*isrVsci0rx, Int.no. 24 Vsci0rx (at FFCE) Unassigned */
UNASSIGNED_ISR, /* Int.no. 23 Vsci0err (at FFD0) Unassigned */
UNASSIGNED_ISR, /* Int.no. 22 Vadc (at FFD2) Unassigned */
UNASSIGNED_ISR, /* Int.no. 21 Vacmp (at FFD4) Unassigned */
UNASSIGNED_ISR, /* Int.no. 20 Vmtim1 (at FFD6) Unassigned */
isrVmtim0, /* Int.no. 19 Vmtim0 (at FFD8) Used */
UNASSIGNED_ISR, /* Int.no. 18 Vftm0ovf (at FFDA) Unassigned */
UNASSIGNED_ISR, /* Int.no. 17 Vftm0ch1 (at FFDC) Unassigned */
UNASSIGNED_ISR, /* Int.no. 16 Vftm0ch0 (at FFDE) Unassigned */
UNASSIGNED_ISR, /* Int.no. 15 Vftm1ovf (at FFE0) Unassigned */
UNASSIGNED_ISR, /* Int.no. 14 Vftm1ch1 (at FFE2) Unassigned */
UNASSIGNED_ISR, /* Int.no. 13 Vftm1ch0 (at FFE4) Unassigned */
UNASSIGNED_ISR, /* Int.no. 12 Vftm2ovf (at FFE6) Unassigned */
UNASSIGNED_ISR, /* Int.no. 11 Vftm2ch5 (at FFE8) Unassigned */
UNASSIGNED_ISR, /* Int.no. 10 Vftm2ch4 (at FFEA) Unassigned */
UNASSIGNED_ISR, /* Int.no. 9 Vftm2ch3 (at FFEC) Unassigned */
UNASSIGNED_ISR, /* Int.no. 8 Vftm2ch2 (at FFEE) Unassigned */
UNASSIGNED_ISR, /* Int.no. 7 Vftm2ch1 (at FFF0) Unassigned */
UNASSIGNED_ISR, /* Int.no. 6 Vftm2ch0 (at FFF2) Unassigned */
UNASSIGNED_ISR, /* Int.no. 5 Vftm2flt (at FFF4) Unassigned */
UNASSIGNED_ISR, /* Int.no. 4 Vclk (at FFF6) Unassigned */
UNASSIGNED_ISR, /* Int.no. 3 Vlvw (at FFF8) Unassigned */
UNASSIGNED_ISR, /* Int.no. 2 Virq_wdog (at FFFA) Unassigned */
UNASSIGNED_ISR, /* Int.no. 1 Vswi (at FFFC) Unassigned */
_Startup /* Int.no. 0 Vreset (at FFFE) Reset vector */
};
How can I change the address of my address routine with ran variable ?
Tanks
Stefano
Solved! Go to Solution.
The solution is:
((void(*near const)(void)) &(Vector_Ram[1][0]))