?? vector.c
字號:
/********************************************************************************************************
* *
* Copyright (C) SEIKO EPSON CORP. 2002 *
* *
* File name: vector.c *
* This is vector table program with C. *
* *
* Revision history *
* 2002.04.28 Andrew Yin Start. *
* *
*******************************************************************************************************/
#include "stdio.h"
/* Prototype */
extern void vIntBoot( void );
void vIntAddressError( void );
void vIntZeroDiv( void );
void vIntDebugExp( void );
void vIntNMI( void );
void dummy( void );
//TouchPanel used interrupt function
//extern void vIntTouchPanelScanHandler( void );
//extern void vIntTouchPanelAD( void ); // This version not use this interrupt
//extern void vIntTouchPanel( void);
extern void vIntKey( void );
extern void int_16timer_c0(void);
//extern void vIntUart0TransmitData( void );
//extern void vIntUart0ReceiveData( void );
//extern void vIntUart1TransmitData( void);
//extern void vIntUart1ReceiveData( void );
//extern void vIntRTC( void );
// vector table
const unsigned long vector[] = {
(unsigned long)vIntBoot, // 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)dummy, // 48 12 software exception 0
(unsigned long)dummy, // 52 13 software exception 1
(unsigned long)dummy, // 56 14 software exception 2
(unsigned long)dummy, // 60 15 software exception 3
(unsigned long)dummy, // 64 16 prot input interrupt 0
(unsigned long)dummy, // 68 17 prot input interrupt 1
(unsigned long)dummy, // 72 18 prot input interrupt 2
(unsigned long)dummy, // 76 19 prot input interrupt 3
(unsigned long)vIntKey, // 80 20 Key input interrupt 0
(unsigned long)dummy, // 84 21 Key input interrupt 1
(unsigned long)dummy, // 88 22 High-speed DMA Ch.0
(unsigned long)dummy, // 92 23 High-speed DMA Ch.1
(unsigned long)dummy, // 96 24 High-speed DMA Ch.2
(unsigned long)dummy, // 100 25 High-speed DMA Ch.3
(unsigned long)dummy, // 104 26 IDMA
(unsigned long)dummy, // 108 27 reserved
(unsigned long)dummy, // 112 28 reserved
(unsigned long)dummy, // 116 29 reserved
(unsigned long)dummy, // 120 30 16-bit programmable timer 0 - comparison B
(unsigned long)int_16timer_c0, // 124 31 16-bit programmable timer 0 - comparison A
(unsigned long)dummy, // 128 32 reserved
(unsigned long)dummy, // 132 33 reserved
(unsigned long)dummy, // 136 34 16-bit programmable timer 1 - comparison B
(unsigned long)dummy, // 140 35 16-bit programmable timer 1 - comparison A
(unsigned long)dummy, // 144 36 reserved
(unsigned long)dummy, // 148 37 reserved
(unsigned long)dummy, // 152 38 16-bit programmable timer 2 - comparison B
(unsigned long)dummy, // 156 39 16-bit programmable timer 2 - comparison A
(unsigned long)dummy, // 160 40 reserved
(unsigned long)dummy, // 164 41 reserved
(unsigned long)dummy, // 168 42 16-bit programmable timer 3 - comparison B
(unsigned long)dummy, // 172 43 16-bit programmable timer 3 - comparison A
(unsigned long)dummy, // 176 44 reserved
(unsigned long)dummy, // 180 45 reserved
(unsigned long)dummy, // 184 46 16-bit programmable timer 4 - comparison B
(unsigned long)dummy, // 188 47 16-bit programmable timer 4 - comparison A
(unsigned long)dummy, // 192 48 reserved
(unsigned long)dummy, // 196 49 reserved
(unsigned long)dummy, // 200 50 16-bit programmable timer 5 - comparison B
(unsigned long)dummy, // 204 51 16-bit programmable timer 5 - comparison A
(unsigned long)dummy, // 208 52 8-bit programmable timer - timer 0 underflow
(unsigned long)dummy, // 212 53 8-bit programmable timer - timer 1 underflow
(unsigned long)dummy, // 216 54 8-bit programmable timer - timer 2 underflow
(unsigned long)dummy, // 220 55 8-bit programmable timer - timer 3 underflow
(unsigned long)dummy, // 224 56 S/I ch.0 - receive error
(unsigned long)dummy, // 228 57 S/I ch.0 - receive buffer full
(unsigned long)dummy, // 232 58 S/I ch.0 - transmit buffer empty
(unsigned long)dummy, // 236 59 reserved
(unsigned long)dummy, // 240 60 S/I ch.1 - receive error
(unsigned long)dummy, // 244 61 S/I ch.1 - receive buffer full
(unsigned long)dummy, // 248 62 S/I ch.1 - transmit buffer empty
(unsigned long)dummy, // 252 63 reserved
(unsigned long)dummy, // 256 64 A/D converter
(unsigned long)dummy, // 260 65 clock timer
(unsigned long)dummy, // 264 66 reserved
(unsigned long)dummy, // 268 67 reserved
(unsigned long)dummy, // 272 68 prot input interrupt 4
(unsigned long)dummy, // 276 69 prot input interrupt 5
(unsigned long)dummy, // 280 70 prot input interrupt 6
(unsigned long)dummy // 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;
}
/*************************************************************************************************
* dummy
* Type : void
* Ret val : none
* Argument : void
* Function : dummy program.
*************************************************************************************************/
void dummy( )
{
INT_LOOP:
goto INT_LOOP;
//asm(" reti");
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -