⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 meminit.s

📁 S3C2443的ads boot代码
💻 S
字号:

				GET		Option.inc
				GET		2443addr.inc

				EXPORT	InitMEM
				EXPORT	InitSSMC

				AREA	|C$$code|, CODE, READONLY

InitMEM		PROC

				;Set GPK port when using x32 bus width.
				ldr		r0,=GPKCON
				ldr		r1,=0xaaaaaaaa	; set Sdata[31:16]
				str		r1, [r0]
				
				;Set SDR Memory parameter control registers
 				ldr		r0,=MEMDATA
				ldr		r1,=BANKCFG	;
				add		r2, r0, #16	;End address of MEMDATA
0
				ldr		r3, [r0], #4
				str		r3, [r1], #4
				cmp		r2, r0
				bne		%B0
	

				ldr		r2,=BANKCON1
				ldr		r1,[r2]
				bic		r1,r1,#(0x3<<0)
				orr		r1,r1,#(0x1<<0)			;	4nd	:	Issue a PALL command
				str		r1,[r2]			

				ldr		r4,=REFRESH			;	5fh : refresh cycle every 255-clock cycles
				ldr		r0,=0xff
				str		r0,[r4]					
				
				
				
				mov	r0, #0x100					;	6th : wait 2 auto - clk
0				subs	r0, r0,#1;
				bne	%B0	

				bic		r1,r1,#(0x3<<0)			;	7th	:	Issue a MRS command
				orr		r1,r1,#(0x2<<0)
				str		r1,[r2]			

				ldr		r4,=REFRESH			;	8fh : refresh  normal
				ldr		r0,=REFCYC
				str		r0,[r4]					

				orr		r1,r1,#(0x3<<0)			;	9th	:	Issue a EMRS command
				str		r1,[r2]			

				bic		r1,r1,#(0x3<<0)			;	10th	:	Issue a Normal mode
				str		r1,[r2]			

				bx		lr
				
				ENDP
				
				LTORG

MEMDATA			DATA
				DCD		((RASBW0<<17)+(RASBW1<<14)+(CASBW0<<11)+(CASBW1<<8)+(ADDRCFG0<<6)+(ADDRCFG1<<4)+(MEMCFG<<2)+(BW<<0))
				DCD		((BStop<<7)+(WBUF<<6)+(AP<<5)+(PWRDN<<4))
				DCD		((tRAS<<20)+(tRC<<16)+(CL<<4)+(tRCD<<2)+(tRP<<0))
				DCD		((BA_EMRS<<30)+(DS<<21)+(PASR<<16)+(BA_MRS<<14)+(TM<<7)+(CL_MRS<<4))



InitSSMC		PROC

				;Set SSMC Memory parameter control registers : AMD Flash
				ldr		r0,=SMBIDCYR0
				ldr		r1,=IDCY0
				str		r1,[r0]
				
				ldr		r0,=SMBWSTRDR0
				ldr		r1,=WSTRD0
				str		r1,[r0]
				
				ldr		r0,=SMBWSTWRR0
				ldr		r1,=WSTWR0
				str		r1,[r0]
				
				ldr		r0,=SMBWSTOENR0
				ldr		r1,=WSTOEN0
				str		r1,[r0]
				
				ldr		r0,=SMBWSTWENR0
				ldr		r1,=WSTWEN0
				str		r1,[r0]
				
				ldr		r0,=SMBCR0
				ldr		r1,=(SMBCR0_2+SMBCR0_1+SMBCR0_0)
				str		r1,[r0]
				
				ldr		r0,=SMBWSTBRDR0
				ldr		r1,=WSTBRD0
				str		r1,[r0]

				
				ldr		r0,=SMBWSTBRDR0
				ldr		r1,=WSTBRD0
				str		r1,[r0]

				ldr		r0,=SSMCCR
				ldr		r1,=((MemClkRatio<<1)+(SMClockEn<<0))
				str		r1,[r0]
				

				bx		lr
				
				ENDP

				LTORG


				
				END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -