www.pudn.com > nandflash_1G08U0A.rar > Vector.c
#include "stdio.h" /* Prototype */ extern void SpkIntr1(void); //15-bit Mono Pcm Playback extern void int_key(void); void boot(void); void vIntAddressError( void ); void vIntZeroDiv( void ); void vIntDebugExp( void ); void vIntNMI( void ); void dummy1( void ); void dummy2( void ); void dummy3( void ); void dummy4( void ); void dummy5( void ); void dummy6( void ); void dummy7( void ); void dummy8( void ); void dummy9( void ); void dummy10( void ); void dummy11( void ); void dummy12( void ); void dummy13( void ); void dummy14( void ); void dummy15( void ); void dummy16( void ); void dummy17( void ); void dummy18( void ); void dummy19( void ); void dummy20( void ); void dummy21( void ); void dummy22( void ); void dummy23( void ); void dummy24( void ); void dummy25( void ); void dummy26( void ); void dummy27( void ); void dummy28( void ); void dummy29( void ); void dummy30( void ); void dummy31( void ); void dummy32( void ); void dummy33( void ); void dummy34( void ); void dummy35( void ); void dummy36( void ); void dummy37( void ); void dummy38( void ); void dummy39( void ); void dummy40( void ); void dummy42( void ); void dummy43( void ); void dummy44( void ); void dummy41( void ); void dummy45( void ); void dummy46( void ); void dummy47( void ); void dummy48( void ); void dummy49( void ); void dummy50( void ); void dummy51( void ); void dummy52( void ); void dummy53( void ); void dummy54( void ); void dummy55( void ); void dummy56( void ); void dummy57( void ); void dummy58( void ); void dummy59( void ); void dummy60( void ); extern void Int_RF(void); extern void Int_Com0(void); // vector table const unsigned long vector[] = { (unsigned long)boot, // 0 0 Reset 0, // 4 1 reserved 0, // 8 2 reserved 0, // 12 3 reserved (unsigned long)vIntZeroDiv, // 16 4 Zero division 0, // 20 5 reserved (unsigned long)vIntAddressError, // 24 6 address error exception (unsigned long)vIntDebugExp, // 28 7 Debugging exception (unsigned long)vIntNMI, // 32 8 NMI 0, // 36 9 reserved 0, // 40 10 reserved 0, // 44 11 reserved (unsigned long)dummy1, // 48 12 software exception 0 (unsigned long)dummy2, // 52 13 software exception 1 (unsigned long)dummy3, // 56 14 software exception 2 (unsigned long)dummy4, // 60 15 software exception 3 (unsigned long)dummy5, // 64 16 prot input interrupt 0 (unsigned long)dummy6, (unsigned long)dummy7,//Int_Port3,//dummy7, // 72 18 prot input interrupt 2 (unsigned long)dummy8,//dummy8,//Int_Port4,//dummy8, // 76 19 prot input interrupt 3 (unsigned long)dummy9,//dummy9, // 80 20 Key input interrupt 0 (unsigned long)dummy10,//dummy10,//vIntTouchPanel, // 84 21 Key input interrupt 1 (unsigned long)dummy11, // 88 22 High-speed DMA Ch.0 (unsigned long)dummy12, // 92 23 High-speed DMA Ch.1 (unsigned long)dummy13, // 96 24 High-speed DMA Ch.2 (unsigned long)dummy14, // 100 25 High-speed DMA Ch.3 (unsigned long)dummy15, // 104 26 IDMA (unsigned long)dummy16, // 108 27 reserved (unsigned long)dummy17, // 112 28 reserved (unsigned long)dummy18, // 116 29 reserved (unsigned long)dummy19, // 120 30 16-bit programmable timer 0 - comparison B (unsigned long)dummy20, // 124 31 16-bit programmable timer 0 - comparison A (unsigned long)dummy21, // 128 32 reserved (unsigned long)dummy22, // 132 33 reserved (unsigned long)dummy23, // 136 34 16-bit programmable timer 1 - comparison B (unsigned long)dummy24, // 140 35 16-bit programmable timer 1 - comparison A (unsigned long)dummy25, // 144 36 reserved (unsigned long)dummy26, // 148 37 reserved (unsigned long)dummy27, // 152 38 16-bit programmable timer 2 - comparison B (unsigned long)dummy28, // 156 39 16-bit programmable timer 2 - comparison A (unsigned long)dummy29, // 160 40 reserved (unsigned long)dummy30, // 164 41 reserved (unsigned long)dummy31,//vIntTouchPanelScanHandler, // 168 42 16-bit programmable timer 3 - comparison B (unsigned long)dummy32, // 172 43 16-bit programmable timer 3 - comparison A (unsigned long)dummy33, // 176 44 reserved (unsigned long)dummy34, // 180 45 reserved (unsigned long)dummy35, // 184 46 16-bit programmable timer 4 - comparison B (unsigned long)dummy36, // 188 47 16-bit programmable timer 4 - comparison A (unsigned long)dummy37, // 192 48 reserved (unsigned long)dummy38, // 196 49 reserved (unsigned long)dummy39,//dummy39, // 200 50 16-bit programmable timer 5 - comparison B (unsigned long)dummy40, // 204 51 16-bit programmable timer 5 - comparison A (unsigned long)dummy41, // 208 52 8-bit programmable timer - timer 0 underflow (unsigned long)dummy42, // 212 53 8-bit programmable timer - timer 1 underflow (unsigned long)dummy43, // 216 54 8-bit programmable timer - timer 2 underflow (unsigned long)dummy44, // 220 55 8-bit programmable timer - timer 3 underflow (unsigned long)dummy45, // 224 56 S/I ch.0 - receive error (unsigned long)Int_Com0,//dummy46,//vIntUart0ReceiveData, // 228 57 S/I ch.0 - receive buffer full (unsigned long)dummy47,//vIntUart0TransmitData, // 232 58 S/I ch.0 - transmit buffer empty (unsigned long)dummy48, // 236 59 reserved (unsigned long)dummy49, // 240 60 S/I ch.1 - receive error (unsigned long)dummy50,//vIntUart1ReceiveData, // 244 61 S/I ch.1 - receive buffer full (unsigned long)dummy51,//vIntUart1TransmitData, // 248 62 S/I ch.1 - transmit buffer empty (unsigned long)dummy52, // 252 63 reserved (unsigned long)dummy53,//vIntTouchPanelAD, // 256 64 A/D converter (unsigned long)dummy54,//vIntRTC, // 260 65 clock timer (unsigned long)dummy55, // 264 66 reserved (unsigned long)dummy56, // 268 67 reserved (unsigned long)dummy57,//Int_Port4,//dummy57, // 272 68 prot input interrupt 4 (unsigned long)dummy58,//Int_Port5, // 276 69 prot input interrupt 5 (unsigned long)dummy59,//Int_Port6, // 280 70 prot input interrupt 6 (unsigned long)dummy60,//Int_Port7 // 284 71 prot input interrupt 7 }; /************************************************************************************************* * IntAddressError * Type : void * Ret val : none * Argument : void * Function : Address error interrupt program. *************************************************************************************************/ void vIntAddressError( void ) { asm("reti"); } /************************************************************************************************* * IntZeroDiv * Type : void * Ret val : none * Argument : void * Function : Zero division interrupt program. *************************************************************************************************/ void vIntZeroDiv( void ) { asm("reti"); } /************************************************************************************************* * vIntNMI * Type : void * Ret val : none * Argument : void * Function : NMI interrupt program. *************************************************************************************************/ void vIntNMI( void ) { asm("nop"); asm(".global ESC"); asm("ESC:"); asm("reti"); } /************************************************************************************************* * vIntDebugExp * Type : void * Ret val : none * Argument : void * Function : Debugging exception interrupt program. *************************************************************************************************/ void vIntDebugExp( void ) { INT_LOOP: goto INT_LOOP; } /************************************************************************************************* * dummy1 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy1( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy2 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy2( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy3 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy3( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy4 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy4( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy5 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy5( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy6 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy6( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy7 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy7( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy8 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy8( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy9 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy9( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy10 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy10( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy11 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy11( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy12 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy12( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy13 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy13( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy14 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy14( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy15 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy15( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy16 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy16( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy17 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy17( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy18 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy18( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy19 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy19( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy20 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy20( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy21 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy21( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy22 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy22( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy23 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy23( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy24 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy24( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy25 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy25( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy26 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy26( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy27 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy27( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy28 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy28( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy29 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy29( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy30 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy30( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy31 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy31( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy32 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy32( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy33 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy33( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy34 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy34( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy35 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy35( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy36 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy36( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy37 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy37( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy38 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy38( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy39 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy39( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy40 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy40( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy41 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy41( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy42 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy42( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy43 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy43( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy44 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy44( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy45 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy45( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy46 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy46( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy47 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy47( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy48 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy48( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy49 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy49( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy50 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy50( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy51 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy51( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy52 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy52( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy53 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy53( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy54 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy54( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy55 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy55( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy56 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy56( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy57 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy57( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy58 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy58( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy59 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy59( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /************************************************************************************************* * dummy60 * Type : void * Ret val : none * Argument : void * Function : dummy program. *************************************************************************************************/ void dummy60( void ) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } /******************************************************************************* * boot * Type : void * Ret val : none * Argument : void * Function : Boot program. *******************************************************************************/ extern void init_nrf2401(void); void boot(void) { asm("xld.w %r8,0x2000"); // Set SP in end of 8KB internal RAM asm("ld.w %sp,%r8"); asm("ld.w %r8,0b10000"); // Set PSR to interrupt enable asm("ld.w %psr,%r8"); asm("xld.w %r8,0x0"); // Set GPR is 0x0 _init_bcu(); // Initialize BCU on boot time _init_int(); // Initialize interrupt controller asm("xld.w %r8,0x1fff"); // Set SP in end of 8KB internal RAM asm("ld.w %sp,%r8"); main(); // Call main } /******************************************************************************* * dummy * Type : void * Ret val : none * Argument : void * Function : Dummy interrupt program. *******************************************************************************/ void dummy(void) { INT_LOOP: goto INT_LOOP; //asm(" reti"); } void doo(void) { INT_LOOP: goto INT_LOOP; //asm(" reti"); }