APPENDIX E INITIALIZATION ROUTINE
S1C17F13 TeChniCal Manual
Seiko epson Corporation
aP-e-1
(Rev. 1.0)
Appendix E Initialization Routine
The following lists typical vector tables and initialization routines:
boot.s
.org 0x8000
.section .rodata
...
(1)
; ======================================================================
; Vector table
; ======================================================================
; interrupt vector interrupt
; number offset source
.long BOOT
; 0x00 0x00 reset
...
(2)
.long unalign_handler
; 0x01 0x04 unalign
.long nmi_handler
; 0x02 0x08 NMI
.long int03_handler
; 0x03 0x0c -
.long svd_handler
; 0x04 0x10 SVD
.long pport_handler
; 0x05 0x14 PPORT
.long clg_handler
; 0x06 0x18 CLG
.long rtc_handler
; 0x07 0x1c RTC
.long t16_0_handler
; 0x08 0x20 T16 ch0
.long uart_handler
; 0x09 0x24 UART
.long t16_1_handler
; 0x0a 0x28 T16 ch1
.long spi_0_handler
; 0x0b 0x2c SPI ch0
.long i2c_handler
; 0x0c 0x30 I2C
.long ct_handler
; 0x0d 0x34 CT
.long t16_2_handler
; 0x0e 0x38 T16 ch2
.long spi_1_handler
; 0x0f 0x3c SPI ch1
.long t16_3_handler
; 0x10 0x40 T16 ch3
.long spi_2_handler
; 0x11 0x44 SPI ch2
.long t16a3_0_handler
; 0x12 0x48 T16A3 ch0
.long t16a3_1_handler
; 0x13 0x4c T16A3 ch1
.long rfc_0_handler
; 0x14 0x50 RFC ch0
.long rfc_1_handler
; 0x15 0x54 RFC ch1
.long epd_tcon_handler
; 0x16 0x58 EPD Tcon
.long tem_handler
; 0x17 0x5c TEM
.long int18_handler
; 0x18 0x60 -
.long int19_handler
; 0x19 0x64 -
.long int1a_handler
; 0x1a 0x68 -
.long int1b_handler
; 0x1b 0x6c -
.long int1c_handler
; 0x1c 0x70 -
.long int1d_handler
; 0x1d 0x74 -
.long int1e_handler
; 0x1e 0x78 -
.long int1f_handler
; 0x1f 0x7c -
; ======================================================================
; Program code
; ======================================================================
.text
...
(3)
.align 1
BOOT:
; ===== Initialize ===========================================
; ----- Stack pointer --------------------
Xld.a %sp, 0x17c0
...
(4)
; ----- Memory controller ----------------
Xld.a %r1, 0x41b0 ; FLASHC register address
; Flash read wait cycle
Xld.a %r0, 0x00 ; 0x00 = No wait, 0x01 = 1 wait, or 0x02 = 2 wait
ld.b [%r1], %r0 ; [0x41b0] <= 0x00
...
(5)
; ===== Main routine =========================================
...