/* - vectors.c - Olamide Adabonyan / Philip Lechowicz - o_mide@yahoo.com / phillech@aol.com */ //To use interrupts from EEPROM, just declare you interrupt function //with extern below - [e.g extern void TOC1_handler()] //then replace _start with your function name [e.g. TOC1_handler] //NB: dont forget to change _start to DUMMY_ENTRY except for RESET extern void _start(); /* entry point in crt11.s */ extern void ThreadSwitcher(); extern void AtoD(); #define DUMMY_ENTRY (void (*)())0xF000 #pragma abs_address:0xffd6 //start address for vectors [use 0xffce - for hc12] void (*interrupt_vectors[])() = { //all interrupts reset the processor, which is probably not what you want //to change this, replace all except occurences of _start with DUMMY_ENTRY (defined above) //except the last one (i.e. RESET) _start, /* SCI */ _start, /* SPI */ _start, /* PAIE */ _start, /* PAO */ _start, /* TOF */ _start, /* TOC5 */ _start, /* TOC4 */ _start, /* TOC3 */ AtoD, /* TOC2 */ ThreadSwitcher, /* TOC1 */ _start, /* TIC3 */ _start, /* TIC2 */ _start, /* TIC1 */ _start, /* RTI */ _start, /* IRQ */ _start, /* XIRQ */ _start, /* SWI */ _start, /* ILLOP */ _start, /* COP */ _start, /* CLM */ _start /* RESET */ }; #pragma end_abs_address