; Forward for the interrupt handlers. ; ; Default are the interrupts re-vectored to the positions which are stored into ; the vector table of the application (Shadow vector table) which is located ; at the start address SHADOW_VEC_TABLE. ; ; Note, this can (and should) also be included in the normal application. ; The application can then run by itself and the conversion tool will simply ; remove the boot and calibration part.. $include .cdecls C,LIST,"build.h" ; what is being build.. .ref SHADOW_VEC_TABLE ; Stubs to call the address in the application interrupt table (shadow vectors) .text INT00 mov.w &SHADOW_VEC_TABLE + 0,PC INT01 mov.w &SHADOW_VEC_TABLE + 2,PC INT02 mov.w &SHADOW_VEC_TABLE + 4,PC INT03 mov.w &SHADOW_VEC_TABLE + 6,PC INT04 mov.w &SHADOW_VEC_TABLE + 8,PC INT05 mov.w &SHADOW_VEC_TABLE + 10,PC INT06 mov.w &SHADOW_VEC_TABLE + 12,PC INT07 mov.w &SHADOW_VEC_TABLE + 14,PC INT08 mov.w &SHADOW_VEC_TABLE + 16,PC INT09 mov.w &SHADOW_VEC_TABLE + 18,PC INT10 mov.w &SHADOW_VEC_TABLE + 20,PC INT11 mov.w &SHADOW_VEC_TABLE + 22,PC INT12 mov.w &SHADOW_VEC_TABLE + 24,PC INT13 mov.w &SHADOW_VEC_TABLE + 26,PC INT14 mov.w &SHADOW_VEC_TABLE + 28,PC INT15 mov.w &SHADOW_VEC_TABLE + 30,PC INT16 mov.w &SHADOW_VEC_TABLE + 32,PC INT17 mov.w &SHADOW_VEC_TABLE + 34,PC INT18 mov.w &SHADOW_VEC_TABLE + 36,PC INT19 mov.w &SHADOW_VEC_TABLE + 38,PC INT20 mov.w &SHADOW_VEC_TABLE + 40,PC INT21 mov.w &SHADOW_VEC_TABLE + 42,PC INT22 mov.w &SHADOW_VEC_TABLE + 44,PC INT23 mov.w &SHADOW_VEC_TABLE + 46,PC INT24 mov.w &SHADOW_VEC_TABLE + 48,PC INT25 mov.w &SHADOW_VEC_TABLE + 50,PC INT26 mov.w &SHADOW_VEC_TABLE + 52,PC INT27 mov.w &SHADOW_VEC_TABLE + 54,PC INT28 mov.w &SHADOW_VEC_TABLE + 56,PC INT29 mov.w &SHADOW_VEC_TABLE + 58,PC INT30 mov.w &SHADOW_VEC_TABLE + 60,PC INT31 mov.w &SHADOW_VEC_TABLE + 62,PC INT32 mov.w &SHADOW_VEC_TABLE + 64,PC INT33 mov.w &SHADOW_VEC_TABLE + 66,PC INT34 mov.w &SHADOW_VEC_TABLE + 68,PC INT35 mov.w &SHADOW_VEC_TABLE + 70,PC INT36 mov.w &SHADOW_VEC_TABLE + 72,PC INT37 mov.w &SHADOW_VEC_TABLE + 74,PC INT38 mov.w &SHADOW_VEC_TABLE + 76,PC INT39 mov.w &SHADOW_VEC_TABLE + 78,PC INT40 mov.w &SHADOW_VEC_TABLE + 80,PC INT41 mov.w &SHADOW_VEC_TABLE + 82,PC INT42 mov.w &SHADOW_VEC_TABLE + 84,PC INT43 mov.w &SHADOW_VEC_TABLE + 86,PC INT44 mov.w &SHADOW_VEC_TABLE + 88,PC INT45 mov.w &SHADOW_VEC_TABLE + 90,PC INT46 mov.w &SHADOW_VEC_TABLE + 92,PC INT47 mov.w &SHADOW_VEC_TABLE + 94,PC INT48 mov.w &SHADOW_VEC_TABLE + 96,PC INT49 mov.w &SHADOW_VEC_TABLE + 98,PC INT50 mov.w &SHADOW_VEC_TABLE + 100,PC INT51 mov.w &SHADOW_VEC_TABLE + 102,PC INT52 mov.w &SHADOW_VEC_TABLE + 104,PC INT53 mov.w &SHADOW_VEC_TABLE + 106,PC INT54 mov.w &SHADOW_VEC_TABLE + 108,PC INT55 mov.w &SHADOW_VEC_TABLE + 110,PC INT56 mov.w &SHADOW_VEC_TABLE + 112,PC INT57 mov.w &SHADOW_VEC_TABLE + 114,PC INT58 mov.w &SHADOW_VEC_TABLE + 116,PC INT59 mov.w &SHADOW_VEC_TABLE + 118,PC INT60 mov.w &SHADOW_VEC_TABLE + 120,PC INT61 mov.w &SHADOW_VEC_TABLE + 122,PC INT62 mov.w &SHADOW_VEC_TABLE + 124,PC ; -- Enter application from bootloader -- .if (BUILD != BUILD_BOOT) .ref _c_int00_noexit .sect ".a_reset" .short _c_int00_noexit .endif ; -- bootloader entry from application -- .if (BUILD == BUILD_BOOT) .ref startBootLoader ; reference to the C-funtion .sect ".b_enter" ; Software interrupt to start the .short startBootLoader ; bootloader from the application. .endif ; Register the stubs in the interrupt table of the bootloader. .sect ".int00" .short INT00 .sect ".int01" .short INT01 .sect ".int02" .short INT02 .sect ".int03" .short INT03 .sect ".int04" .short INT04 .sect ".int05" .short INT05 .sect ".int06" .short INT06 .sect ".int07" .short INT07 .sect ".int08" .short INT08 .sect ".int09" .short INT09 .sect ".int10" .short INT10 .sect ".int11" .short INT11 .sect ".int12" .short INT12 .sect ".int13" .short INT13 .sect ".int14" .short INT14 .sect ".int15" .short INT15 .sect ".int16" .short INT16 .sect ".int17" .short INT17 .sect ".int18" .short INT18 .sect ".int19" .short INT19 .sect ".int20" .short INT20 .sect ".int21" .short INT21 .sect ".int22" .short INT22 .sect ".int23" .short INT23 .sect ".int24" .short INT24 .sect ".int25" .short INT25 .sect ".int26" .short INT26 .sect ".int27" .short INT27 .sect ".int28" .short INT28 .sect ".int29" .short INT29 .sect ".int30" .short INT30 .sect ".int31" .short INT31 .sect ".int32" .short INT32 .sect ".int33" .short INT33 .sect ".int34" .short INT34 .sect ".int35" .short INT35 .sect ".int36" .short INT36 .sect ".int37" .short INT37 .sect ".int38" .short INT38 .sect ".int39" .short INT39 .sect ".RTC" .short INT40 .sect ".LCD_C" .short INT41 .sect ".TIMER3_A1" .short INT42 .sect ".TIMER3_A0" .short INT43 .sect ".PORT2" .short INT44 .sect ".TIMER2_A1" .short INT45 .sect ".TIMER2_A0" .short INT46 .sect ".PORT1" .short INT47 .sect ".TIMER1_A1" .short INT48 .sect ".TIMER1_A0" .short INT49 .sect ".DMA" .short INT50 .sect ".AUX" .short INT51 .sect ".USCI_A2" .short INT52 .sect ".USCI_A1" .short INT53 .sect ".TIMER0_A1" .short INT54 .sect ".TIMER0_A0" .short INT55 .sect ".SD24B" .short INT56 .sect ".ADC10" .short INT57 .sect ".USCI_B0" .short INT58 .sect ".USCI_A0" .short INT59 .sect ".WDT" .short INT60 .sect ".UNMI" .short INT61 .sect ".SYSNMI" .short INT62 .end