📄 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 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 );
//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 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)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, // 68 17 prot input interrupt 1
(unsigned long)dummy7, // 72 18 prot input interrupt 2
(unsigned long)dummy8, // 76 19 prot input interrupt 3
(unsigned long)vIntKey, // 80 20 Key input interrupt 0
(unsigned long)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)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, // 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)vIntUart0ReceiveData, // 228 57 S/I ch.0 - receive buffer full
(unsigned long)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)vIntUart1ReceiveData, // 244 61 S/I ch.1 - receive buffer full
(unsigned long)vIntUart1TransmitData, // 248 62 S/I ch.1 - transmit buffer empty
(unsigned long)dummy52, // 252 63 reserved
(unsigned long)vIntTouchPanelAD, // 256 64 A/D converter
(unsigned long)vIntRTC, // 260 65 clock timer
(unsigned long)dummy55, // 264 66 reserved
(unsigned long)dummy56, // 268 67 reserved
(unsigned long)dummy57, // 272 68 prot input interrupt 4
(unsigned long)dummy58, // 276 69 prot input interrupt 5
(unsigned long)dummy59, // 280 70 prot input interrupt 6
(unsigned long)dummy60 // 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 )
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -