📄 w44b0init.s
字号:
;**************************************************************************
;NAME: W44B0init.s
;copyright:wzz at Qingdao University 2008
;**************************************************************************
;Include Header File
;================================================================
GET inc\SFRCFG.s ;SFRegister config
;================================================================
AREA Init,CODE,READONLY
CODE32
ENTRY
;------------------------------------------------
;Watch dog disable
;------------------------------------------------
ldr r0,=aWTCON ;disable watchdog
ldr r1,=0x0
str r1,[r0]
;------------------------------------------------
;Interrupt disable
;------------------------------------------------
ldr r0,=aINTMSK
ldr r1,=cINTMSK_Reset ;all interrupt disable
str r1,[r0]
;------------------------------------------------
;clock control
;------------------------------------------------
ldr r0,=aLOCKTIME
ldr r1,=cLOCKTIME
str r1,[r0]
ldr r0,=aPLLCON
ldr r1,=cPLLCON
str r1,[r0]
ldr r0,=aCLKCON
ldr r1,=cCLKCON
str r1,[r0]
;------------------------------------------------
;MEMORY control
;------------------------------------------------
LDR r0, =SMRDATA
LDMIA r0, {r1-r13}
LDR r0, =0x01c80000 ; BWSCON Address
STMIA r0, {r1-r13}
;------------------------------------------------
;GPIO control
;------------------------------------------------
ldr r0,=aPCONA
ldr r1,=cPCONA
str r1,[r0]
ldr r0,=aPCONB
ldr r1,=cPCONB
str r1,[r0]
ldr r0,=aPCONC
ldr r1,=cPCONC
str r1,[r0]
ldr r0,=aPUPC
ldr r1,=cPUPC
str r1,[r0]
ldr r0,=aPCOND
ldr r1,=cPCOND
str r1,[r0]
ldr r0,=aPUPD
ldr r1,=cPUPD
str r1,[r0]
ldr r0,=aPCONE
ldr r1,=cPCONE
str r1,[r0]
ldr r0,=aPUPE
ldr r1,=cPUPE
str r1,[r0]
ldr r0,=aPCONF
ldr r1,=cPCONF
str r1,[r0]
ldr r0,=aPUPF
ldr r1,=cPUPF
str r1,[r0]
ldr r0,=aPCONG
ldr r1,=cPCONG
str r1,[r0]
ldr r0,=aPUPG
ldr r1,=cPUPG
str r1,[r0]
ldr r0,=aSPUCR
ldr r1,=cSPUCR
str r1,[r0]
;================================================================
;初始化完毕,串口显示信息
;================================================================
;init Uart0
ldr r0,=aULCON0
ldr r1,=cULCON0
str r1,[r0]
ldr r0,=aUCON0
ldr r1,=cUCON0
str r1,[r0]
ldr r0,=aUFCON0
ldr r1,=cUFCON0
str r1,[r0]
ldr r0,=aUMCON0
ldr r1,=cUMCON0
str r1,[r0]
ldr r0,=aUBRDIV0
ldr r1,=cUBRDIV0
str r1,[r0]
;work uart0
ADR r3,string
next
LDRB r4,[r3],#1
ldr r0,=aUTXH0
str r4,[r0]
ldr r0,=aUTRSTAT0
tst r4,#0x0A
B
check
ldr r1,[r0]
tst r1,#2
BEQ check
BNE next
B .
LTORG
ALIGN
;*************************************************************
SMRDATA
;--------------------------------------------------------------------------------------------------
DCD cBWSCON16
;--------------------------------------------------------------------------------------------------
DCD ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Toch<<6)+(B0_Tcah<<4)+(B0_Tpac<<2)+B0_PMC); GCS0
DCD 0x0700; GCS1
DCD 0x0700; GCS2
DCD 0x0700; GCS3
DCD 0x0700; GCS4
DCD 0x0700; GCS5
;--------------------------------------------------------------------------------------------------
DCD ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) ;GCS6
DCD ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) ;GCS7
;--------------------------------------------------------------------------------------------------
DCD ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) ;REFRESH RFEN=1, TREFMD=0, trp=3clk, trc=5clk, tchr=3clk,count=1019
DCD 0x10 ;SCLK power mode, BANKSIZE 32M/32M
DCD 0x20 ;MRSR6 CL=2clk
DCD 0x20 ;MRSR7
;--------------------------------------------------------------------------------------------------
string DCB "Hello ARM World!\n"
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -