📄 init.s
字号:
;GET LEVEL0_H.S
GET register.s
GET memory.s
GET gpio_config.s
IMPORT |Image$$RO$$Limit|
IMPORT |Image$$RW$$Base|
IMPORT |Image$$ZI$$Base|
IMPORT |Image$$ZI$$Limit|
AREA INIT, CODE, READONLY
CODE32
ENTRY
B Reset
Undef B Undef
SWI B SWI
Pabort B Pabort
Dabort B Dabort
Reserved B Reserved
IRQ B IRQ
FIQ B FIQ
MACRO
CPWAIT $r0
mrc p15,0,r0,c2,c0,0
mov r0,r0
sub pc,pc,#4
MEND
Reset
ldr r0,=0x2001
mcr p15,0,r0,c15,c1,0 ;//enable access to all coprocessors if r0=0x3fff,enable all coprocessor.if r0=2001,enable CP13 and CP0.
CPWAIT
; mrc p15,0,r0,c1,c0,0
; bic r0,r0,#0x1f87
ldr r0,=0x2078
mcr p15,0,r0,c1,c0,0 ;//Disable MMU and I-cache&D-cache
CPWAIT
ldr r0,=0x00000000 ;//clean TLB,Caches and write Buffer
mcr p15,0,r0,c8,c7,0
mcr p15,0,r0,c7,c7,0
mcr p15,0,r0,c7,c10,4
CPWAIT
mvn r0,#0x0 ;//Open system memory Access Domain visiting popedom
mcr p15,0,r0,c3,c0,0
CPWAIT
LDR r0, =0x00000000 ; // Mask of all Interrupt
LDR r1, =ICMR
STR r0, [r1]
LDR r1, =CCCR_L27|CCCR_M2|CCCR_N10 ;// Set CPU Frequency 0x0141:MEM 99M,CORE 200M
LDR r0,=CCCR
STR r1,[r0]
LDR r1, =CKEN ;// Init CKEN,OSCC
LDR r0, =0x00000000
STR r0, [ r1]
LDR r0, =0x00000003
LDR r1, =OSCC
STR r0,[r1] ;32.768KHZ is on
;Set FCS&TURBO Bit and changer CPU Frequency into TURBO Mode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -