?? startup.s
字號:
;/*
;**********************************************************************************************************
;*
;* S3C2410 ARM920T BOARD
;*
;* (c) Copyright 2003-2015, KANGSHUO
;* All Rights Reserved
;*
;* S3C2410 Initialization Program for 1.0
;*
;* File Name : UARTTEST
;* By Write : KANGSHUO(LEA)
;* First Write : 2004-09-14
;* Last Write : 2004-09-15
;* where Write : Room B201 Shenzhen International Tech-innovation Academy, Kejinan 10 Road,
;* High-Tech Industrial Park,Shenzhen,China.
;* Function : TEST S3C2410 BOARD UART0
;*
;*
;*
;**********************************************************************************************************
;*/
;/*
;**********************************************************************************************************
;* IMPORTANT ITEMS
;* 1. CPU frequence is 66M Hz
;* 2. 立即數的規范
;* 3.
;*
;**********************************************************************************************************
;*/
;/*
;**********************************************************************************************************
;* ERROR AND SOLUTION IN DEBUGING
;* 1. ERROR:
;* SOLUTION:
;**********************************************************************************************************
;*/
;/*
;**********************************************************************************************************
;* TO DO LIST
;* 2003.07.16
;* 1. CPU的基本初始化
;* a) 中斷屏蔽
;* b) 看門狗設置,初始化是要將其屏蔽掉,初始化完之后再將其打開
;* c) 設置CPU時鐘速度
;* d) 初始化內存
;* ......
;* 2. 跳至板級初始化,完成更高級的初始化工作
;* 3.
;* 4.
;**********************************************************************************************************
;*/
INCLUDE INTDEF.S
INCLUDE 2410ADDR.S
CODE32
IMPORT INT_IRQ
AREA STARTUP,CODE,READONLY
;/*
;**********************************************************************************************************
;* ENTRY
;*
;* 功能描述:初始化程序入口點
;*
;*
;**********************************************************************************************************
;*/
ENTRY
START
B INT_Reset
LDR PC, Undefined_Addr
LDR PC, SWI_Addr
LDR PC, Prefetch_Addr
LDR PC, Abort_Addr
NOP
LDR PC, IRQ_Addr
LDR PC, FIQ_Addr
Undefined_Addr DCD Undefined_Handler ;// 0x04
SWI_Addr DCD SWI_Handler ;// 0x08
Prefetch_Addr DCD Prefetch_Handler ;// 0x0c
Abort_Addr DCD Abort_Handler ;// 0x10
DCD 0 ;// Reserved vector 0x14
IRQ_Addr DCD INT_IRQ ;// 0x18
FIQ_Addr DCD FIQ_Handler ;// 0x1c
;/*
;**********************************************************************************************************
;* IMPORT ITEM
;* 描述:1. ARM上電啟動后進入管理模式
;* 2. ARM復位后進入管理模式
;* 3.
;**********************************************************************************************************
;*/
EXPORT Undefined_Handler
Undefined_Handler
B Undefined_Handler
EXPORT SWI_Handler
SWI_Handler
B SWI_Handler
EXPORT Prefetch_Handler
Prefetch_Handler
B Prefetch_Handler
EXPORT Abort_Handler
Abort_Handler
B Abort_Handler
EXPORT FIQ_Handler
FIQ_Handler
B FIQ_Handler
;/*
;**********************************************************************************************************
;* INT_Reset
;*
;* Description: 初始化CPU相關的寄存器
;*
;* Arguments :
;*
;* Returns :
;*
;**********************************************************************************************************
;*/
EXPORT INT_Reset
INT_Reset
;// 模式轉換為系統模式,
MRS R0,CPSR
BIC R0,R0,#MODE_MASK
ORR R0,R0,#MODE_SYS
ORR R0,R0,#INTLOCK
MSR CPSR_cxsf,R0
;// 硬件屏蔽中斷
LDR R0,=INTMSK
LDR R1,= 0xFFFFFFFF
STR R1,[R0,#0]
LDR R0,=INTSUBMSK
LDR R1,=0X7FF
STR R1,[R0]
;// 屏蔽看門狗 ****注意立即數規范****
LDR R0, =WTCON
LDR R1, = 0x0
STR R1, [R0]
;// PLL穩定輸出時間
ldr r0,= LOCKTIME
ldr r1,= 0xffffff
str r1,[r0]
;// 設置CPU工作頻率 Fin = 10MHz, Fout = 90MHz
LDR R0,=MPLLCON
LDR R1,=0X70022
STR R1,[R0]
;// 設置時鐘對所有的片內外設有效
LDR r0,=CLKCON
LDR r1,= 0x7FFF0
STR r1,[r0]
;//關閉MMU
;LDR R0, = r_SYSCFG
;MOV r1,#0x8
;//MOV R1,#0x0E
;STR R1,[R0]
;mask the mmu and cache
MOV R0,#0
MCR p15,0,R0,c1,c0,0
;//設置內存控制寄存器,配置內存參數,初始化內存
LDR R0,=BWSCON
LDR R1,=0X22111110
STR R1,[R0]
LDR R0,=BANKCON0
LDR R1,=0X700
STR R1,[R0]
LDR R0,=BANKCON6
LDR R1,=0X18005
STR R1,[R0]
LDR R0,=BANKCON7
LDR R1,=0x18005
STR R1,[R0]
LDR R0,=REFRESH
LDR R1,=0X8E0459
STR R1,[R0]
LDR R0,=BANKSIZE
LDR R1,=0X32
STR R1,[R0]
LDR R0,=MRSRB6
LDR R1,=0X30
STR R1,[R0]
LDR R0,=MRSRB7
LDR R1,=0X30
STR R1,[R0]
;//int 初始化,選擇int中斷使能USB Device中斷
LDR R0,=INTMOD
LDR R1,=0X0
STR R1,[R0]
LDR R0,=PRIORITY
LDR R1,=0X0
STR R1,[R0]
LDR R0,=INTMSK
LDR R1,=0XFDFFFFFF
STR R1,[R0]
LDR R0,=INTSUBMSK
LDR R1,=0X5FC
STR R1,[R0]
;//GPIO初始化
LDR R0,=GPBCON
LDR R1,=0X44555
STR R1,[R0,#0]
LDR R0,=GPBDAT
LDR R1,=0X414
STR R1,[R0,#0]
LDR R0,=GPBUP
LDR R1,=0X7FF
STR R1,[R0,#0]
LDR R0,=GPCCON
LDR R1,=0XAAAAAAAA
STR R1,[R0,#0]
LDR R0,=GPCUP
LDR R1,=0XFFFF
STR R1,[R0,#0]
LDR R0,=GPDCON
LDR R1,=0XAAAAAAAA
STR R1,[R0,#0]
LDR R0,=GPDUP
LDR R1,=0XFFFF
STR R1,[R0,#0]
LDR R0,=GPGCON
LDR R1,=0XFF000000
STR R1,[R0,#0]
LDR R0,=GPGUP
LDR R1,=0XF800
STR R1,[R0,#0]
LDR R0,=GPHCON
LDR R1,=0XAA
STR R1,[R0]
LDR R0,=GPHUP
LDR R1,=0X3FF
STR R1,[R0]
;//設置lcd初始化
LDR R0,=LCDCON2
LDR R1,=0X14FC081
STR R1,[R0,#0]
LDR R0,=LCDCON3
LDR R1,=0X188EF0F
STR R1,[R0,#0]
LDR R0,=LCDCON4
LDR R1,=0XD
STR R1,[R0,#0]
LDR R0,=LCDCON5
LDR R1,=0XB09
STR R1,[R0,#0]
LDR R0,=LCDSADDR1
LDR R1,=0X18000000
STR R1,[R0,#0]
LDR R0,=LCDSADDR2
LDR R1,=0X12C00
STR R1,[R0,#0]
LDR R0,=LCDCON1
LDR R1,=0X479
STR R1,[R0,#0]
LDR R0,=LCDCON1
LDR R1,=0X479
STR R1,[R0,#0]
LDR R0,=LCDSADDR3
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=REDLUT
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=GREENLUT
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=BLUELUT
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=DITHMODE
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=TPAL
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=LCDINTPND
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=LCDSRCPND
LDR R1,=0X0
STR R1,[R0,#0]
LDR R0,=LCDINTMSK
LDR R1,=0X3
STR R1,[R0,#0]
LDR R0,=LPCSEL
LDR R1,=0X4
STR R1,[R0,#0]
;/*
;**********************************************************************************************************
;* INT_Intialize
;* Function : 進行更高極的初始化工作
;*
;* Returns : NO
;*
;**********************************************************************************************************
;*/
IMPORT INT_Intialize
B INT_Intialize
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -