📄 head.s
字号:
.global _start.include "init.inc"@ the mini_boot start here!_start:@ Exception vector table@ 0x00 Reset Supervisor b reset@ 0x04 Undefined instruction b .@ 0x08 Software Interrupt b .@ 0x0C Abort (prefetch) b .@ 0x10 Abort (data) b .@ 0x14 Reserved b .@ 0x18 IRQ b .@ 0x1C FIQ b . .align 4reset:@disable_watchdog ldr r1, =WTCON mov r2, #0x0 str r2, [r1]@disable all interrupt ldr r1,=INTMSK ldr r2,=0xffffffff str r2,[r1] ldr r1,=INTSUBMSK ldr r2,=0x7FF str r2,[r1]@initializtion clock FCLK=202MHz HCLK=101MHz,PCLK=50MHz ldr r0,=LOCKTIME ldr r1,=0x00ffffff str r1,[r0] ldr r0,=CLKDIVN ldr r1,=0x03 str r1,[r0] mrc p15, 0, r1, c1, c0, 0 orr r1, r1, #0xc0000000 mcr p15, 0, r1, c1, c0, 0 ldr r0,=MPLLCON ldr r1,=vMPLLCON_202MHz str r1,[r0]@initializtion memory ldr r1,=BWSCON ldr r2,=mem_init_val add r3,r1,#521: ldr r4,[r2],#4 str r4,[r1],#4 cmp r1,r3 bne 1b @init stack ldr sp,=SYS_STACK_BASE bl copy_myself msr cpsr_c,SystemMode @ enter System Mode ldr sp,=SYS_STACK_BASE @ init System Stack ldr pc,=mainhalt_loop: b halt_loop .align 4mem_init_val: .word 0+((DW1<<4)+(WS1<<6)+(ST1<<7))+((DW2<<8)+(WS2<<10)+(ST2<<11))+((DW3<<12)+(WS3<<14)+(ST3<<15))+((DW4<<16)+(WS4<<18)+(ST4<<19))+((DW5<<20)+(WS5<<22)+(ST5<<23))+((DW6<<24)+(WS6<<26)+(ST6<<27))+((DW7<<28)+(WS7<<30)+(ST7<<31)) .word ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC)) .word ((B1_Tacs<<13)+(B1_Tcos<<11)+(B1_Tacc<<8)+(B1_Tcoh<<6)+(B1_Tah<<4)+(B1_Tacp<<2)+(B1_PMC)) .word ((B2_Tacs<<13)+(B2_Tcos<<11)+(B2_Tacc<<8)+(B2_Tcoh<<6)+(B2_Tah<<4)+(B2_Tacp<<2)+(B2_PMC)) .word ((B3_Tacs<<13)+(B3_Tcos<<11)+(B3_Tacc<<8)+(B3_Tcoh<<6)+(B3_Tah<<4)+(B3_Tacp<<2)+(B3_PMC)) .word ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC)) .word ((B5_Tacs<<13)+(B5_Tcos<<11)+(B5_Tacc<<8)+(B5_Tcoh<<6)+(B5_Tah<<4)+(B5_Tacp<<2)+(B5_PMC)) .word ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN)) .word ((B7_MT<<15)+(B7_Trcd<<2)+(B7_SCAN)) .word ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Trc<<18)+(Tchr<<16)+REFCNT) .word 0x31 .word 0x30 .word 0x30
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -