📄 crt0.c
字号:
//---------------------------------------------------------------------------------
//
// Copyright (C) SEIKO EPSON CORP. 2004
//
// GROUP : SEE LSI
// FILE : crt0_c33.c
// MODULE : start routine for system (c33ver.)
// Function description : vector table initalize bcu
// Revision history :
// Date userName Description
// 2004/02/25 Stella start
//
// Notes :
//
//---------------------------------------------------------------------------------
#include "osc.h"
//----------------------------------------------------------------------------------
//global function routine declearation
//-----------------------------------------------------------------------------------
void codecpy(int *dst, int *src, int *size);
void sysBssClear();
void sysDataCopy();
//----------------------------------------------------------------------------------
//static function declearation
//-----------------------------------------------------------------------------------
static void dummy(void)__attribute__ ((interrupt_handler));
static void int_addr_err(void) __attribute__ ((interrupt_handler));
static void boot(void);
//----------------------------------------------------------------------------------
//interrupt routine declearation
//-----------------------------------------------------------------------------------
extern void int_scanout() __attribute__ ((interrupt_handler));
extern void int_clocktimer();
extern void Int_TP_TM(void) __attribute__ ((interrupt_handler));
extern void Int_TP_K(void) __attribute__ ((interrupt_handler));
extern void Int_TP_ADC(void); //attr defined by ros33
extern void Int_GuiTM(void);
extern void Int_HS3xfer(void); //-------------------------------
extern void Int_TM8_3(void); // attr defined by assemble file
extern void Int_USB_Mon(void); //
extern void Int_NIKKA(void); //-------------------------------
extern void SpkIntr1(void); // attr defined by assemle file
//----------------------------------------------------------------------------------
//other extern function declearation
//-----------------------------------------------------------------------------------
extern int main(void);
extern void _init_bcu(void);
extern void _exit (void);
extern void _init_sys();
extern int __START_cache7;
extern int __START_cache7_lma;
extern int __END_cache7;
/* Vector table */
const unsigned long ulVector[] = { // Address Number
(unsigned long)boot, // 00H 0
(unsigned long)0, // 04H 1
(unsigned long)0, // 08H 2
(unsigned long)0, // 0CH 3
(unsigned long)dummy, // 10H 4 Zero division
(unsigned long)0, // 14H 5
(unsigned long)int_addr_err, // 18H 6 Address error exception
(unsigned long)dummy, // 1CH 7 Debugging exception
(unsigned long)0, // 20H 8 NMI
(unsigned long)0, // 24H 9 9-11 reserved
(unsigned long)0, // 28H 10
(unsigned long)0, // 2CH 11
(unsigned long)dummy, // 30H 12 ROS33
(unsigned long)dummy, // 34H 13 software exception 1
(unsigned long)dummy, // 38H 14 software exception 2
(unsigned long)dummy, // 3CH 15 software exception 3
(unsigned long)dummy, // 40H 16 Port interrupt 0
(unsigned long)dummy, // 44H 17 Port interrupt 1
(unsigned long)dummy, // 48H 18 Port interrupt 2
(unsigned long)int_scanout, // 4CH 19 Port interrupt 3
(unsigned long)int_scanout, // 50H 20 Key input interrupt 0 (key k51-k4)
(unsigned long)dummy, // 54H 21 key input interrupt 1 (key k64,k65, svd k66)
(unsigned long)dummy, // 58H 22 DMA ch0 end of transfer
(unsigned long)dummy, // 5CH 23 DMA ch1 end of transfer
(unsigned long)dummy, // 60H 24 DMA ch2 end of transfer
(unsigned long)Int_HS3xfer, // 64H 25 DMA ch3 end of transfer
(unsigned long)dummy, // 68H 26 IDMA
(unsigned long)0, // 6CH 27 27-29 reserved
(unsigned long)0, // 70H 28
(unsigned long)0, // 74H 29
(unsigned long)dummy, // 78H 30 16bit timer 0 comparison B
(unsigned long)dummy, // 7CH 31 16bit timer 0 comparison A
(unsigned long)dummy, // 80H 32 32-33 reserved
(unsigned long)dummy, // 84H 33
(unsigned long)dummy, // 88H 34 16bit timer 1 comparison B
(unsigned long)dummy, // 8CH 35 16bit timer 1 comparison A
(unsigned long)0, // 90H 36 36-37 reserved
(unsigned long)0, // 94H 37
(unsigned long)Int_GuiTM, // 98H 38 16bit timer 2 comparison B
(unsigned long)dummy, // 9CH 39 16bit timer 2 comparison A
(unsigned long)0, // A0H 40 40-41 reserved
(unsigned long)0, // A4H 41
(unsigned long)Int_TP_TM, // A8H 42 16bit timer 3 comparison B
(unsigned long)dummy, // ACH 43 16bit timer 3 comparison A for A/D conversion
(unsigned long)dummy, // B0H 44 44-45 reserved
(unsigned long)dummy, // B4H 45
(unsigned long)dummy, // B8H 46 16bit timer 4 comparison B
(unsigned long)dummy, // BCH 47 16bit timer 4 comparison A
(unsigned long)0, // C0H 48 48-49 reserved
(unsigned long)0, // C4H 49
(unsigned long)SpkIntr1, // C8H 50 16bit timer 5 comparison B
(unsigned long)dummy, // CCH 51 16bit timer 5 comparison A
(unsigned long)dummy, // D0H 52 8-bit programmable timer - timer 0 underflow
(unsigned long)dummy, // D4H 53 8-bit programmable timer - timer 1 underflow
(unsigned long)int_clocktimer, // D8H 54 8-bit programmable timer - timer 2 underflow
(unsigned long)Int_TM8_3, // DCH 55 8-bit programmable timer - timer 3 underflow
(unsigned long)dummy, // E0H 56 S/I ch.0 - receive error
(unsigned long)dummy, // E4H 57 S/I ch.0 - receive buffer full
(unsigned long)dummy, // E8H 58 S/I ch.0 - transmit buffer empty
(unsigned long)dummy, // ECH 59 reserved
(unsigned long)dummy, // F0H 60 S/I ch.1 - receive error
(unsigned long)dummy, // F4H 61 S/I ch.1 - receive buffer full
(unsigned long)dummy, // F8H 62 S/I ch.1 - transmit buffer empty
(unsigned long)dummy, // FCH 63 reserved
(unsigned long)Int_TP_ADC, // 100H 64 A/D converter
(unsigned long)dummy, // 104H 65 clock timer
(unsigned long)dummy, // 10CH 66 66-67reserved
(unsigned long)dummy, // 10CH 67
(unsigned long)Int_TP_K, // 110H 68 prot input interrupt 4
(unsigned long)dummy, // 114H 69 prot input interrupt 5
(unsigned long)dummy, // 118H 70 prot input interrupt 6
(unsigned long)dummy, // 11CH 71 prot input interrupt 7
(unsigned long)Int_USB_Mon, // 120H 72 8bit Timer 4 underflow
(unsigned long)dummy, // 124H 73 8bit Timer 5 underflow
(unsigned long)dummy, // 74 reserved
(unsigned long)dummy, // 75 reserved
(unsigned long)dummy, // 76 SIO 2 RxD Error
(unsigned long)dummy, // 77 SIO 2 RxD Buffer Full
(unsigned long)dummy, // 78 SIO 2 TxD Buffer Empty
(unsigned long)dummy, // 79 reserved
(unsigned long)dummy, // 80 SIO 3 RxD Error
(unsigned long)dummy, // 81 SIO 3 RxD Buffer Full
(unsigned long)dummy, // 82 SIO 3 TxD Buffer Empty
(unsigned long)dummy, // 83 reserved
(unsigned long)dummy, // 84 reserved
(unsigned long)dummy, // 85 reserved
(unsigned long)dummy, // 86 reserved
(unsigned long)dummy, // 87 reserved
(unsigned long)dummy, // 88 reserved
(unsigned long)dummy, // 89 LCD
(unsigned long)Int_NIKKA, // 90 USB
(unsigned long)dummy, // 91 SPI
(unsigned long)dummy, // 92 reserved
(unsigned long)dummy, // 93 reserved
(unsigned long)dummy, // 94 reserved
(unsigned long)dummy, // 95 reserved
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -