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

📄 cpu_init.s

📁 s3c6410的 Uboot 代码, 感兴趣的可以看看呀
💻 S
字号:
#include <config.h>#include <s3c6400.h>	.globl mem_ctrl_asm_initmem_ctrl_asm_init:	ldr	r0, =ELFIN_MEM_SYS_CFG			@Memory sussystem address 0x7e00f120	mov	r1, #0xd				@ Xm0CSn2 = NFCON CS0, Xm0CSn3 = NFCON CS1	str	r1, [r0]		ldr	r0, =ELFIN_DMC1_BASE			@DMC1 base address 0x7e001000 	ldr	r1, =0x4	str	r1, [r0, #INDEX_DMC_MEMC_CMD]	ldr	r1, =DMC_DDR_REFRESH_PRD	str	r1, [r0, #INDEX_DMC_REFRESH_PRD]	ldr	r1, =DMC_DDR_CAS_LATENCY	str	r1, [r0, #INDEX_DMC_CAS_LATENCY]	ldr	r1, =DMC_DDR_t_DQSS	str	r1, [r0, #INDEX_DMC_T_DQSS]	ldr	r1, =DMC_DDR_t_MRD	str	r1, [r0, #INDEX_DMC_T_MRD]	ldr	r1, =DMC_DDR_t_RAS	str	r1, [r0, #INDEX_DMC_T_RAS]	ldr	r1, =DMC_DDR_t_RC	str	r1, [r0, #INDEX_DMC_T_RC]	ldr	r1, =DMC_DDR_t_RCD	ldr	r2, =DMC_DDR_schedule_RCD	orr	r1, r1, r2	str	r1, [r0, #INDEX_DMC_T_RCD]	ldr	r1, =DMC_DDR_t_RFC	ldr	r2, =DMC_DDR_schedule_RFC	orr	r1, r1, r2	str	r1, [r0, #INDEX_DMC_T_RFC]	ldr	r1, =DMC_DDR_t_RP	ldr	r2, =DMC_DDR_schedule_RP	orr	r1, r1, r2	str	r1, [r0, #INDEX_DMC_T_RP]	ldr	r1, =DMC_DDR_t_RRD	str	r1, [r0, #INDEX_DMC_T_RRD]	ldr	r1, =DMC_DDR_t_WR	str	r1, [r0, #INDEX_DMC_T_WR]	ldr	r1, =DMC_DDR_t_WTR	str	r1, [r0, #INDEX_DMC_T_WTR]	ldr	r1, =DMC_DDR_t_XP	str	r1, [r0, #INDEX_DMC_T_XP]	ldr	r1, =DMC_DDR_t_XSR	str	r1, [r0, #INDEX_DMC_T_XSR]	ldr	r1, =DMC_DDR_t_ESR	str	r1, [r0, #INDEX_DMC_T_ESR]	ldr	r1, =DMC1_MEM_CFG	str	r1, [r0, #INDEX_DMC_MEMORY_CFG]	ldr	r1, =DMC1_MEM_CFG2	str	r1, [r0, #INDEX_DMC_MEMORY_CFG2]	ldr	r1, =DMC1_CHIP0_CFG	str	r1, [r0, #INDEX_DMC_CHIP_0_CFG]		ldr	r1, =DMC_DDR_32_CFG	str	r1, [r0, #INDEX_DMC_USER_CONFIG]	@DMC0 DDR Chip 0 configuration direct command reg	ldr	r1, =DMC_NOP0	str	r1, [r0, #INDEX_DMC_DIRECT_CMD]	@Precharge All	ldr	r1, =DMC_PA0	str	r1, [r0, #INDEX_DMC_DIRECT_CMD]	@Auto Refresh	2 time	ldr	r1, =DMC_AR0	str	r1, [r0, #INDEX_DMC_DIRECT_CMD]	str	r1, [r0, #INDEX_DMC_DIRECT_CMD]	@MRS 	ldr	r1, =DMC_mDDR_EMR0		str	r1, [r0, #INDEX_DMC_DIRECT_CMD]		@Mode Reg	ldr	r1, =DMC_mDDR_MR0	str	r1, [r0, #INDEX_DMC_DIRECT_CMD]	@Enable DMC1	mov	r1, #0x0	str	r1, [r0, #INDEX_DMC_MEMC_CMD]check_dmc1_ready:	ldr	r1, [r0, #INDEX_DMC_MEMC_STATUS]	mov	r2, #0x3	and	r1, r1, r2	cmp	r1, #0x1	bne	check_dmc1_ready	nop	mov	pc, lr		/* Below code is for ARM926EJS and ARM1026EJS */	.globl cleanDCachecleanDCache:	mrc	p15, 0, pc, c7, c10, 3	/* test/clean D-Cache */	bne	cleanDCache	mov	pc, lr	.globl cleanFlushDCachecleanFlushDCache:	mrc	p15, 0, pc, c7, c14, 3	/* test/cleanflush D-Cache */	bne	cleanFlushDCache	mov	pc, lr	.globl cleanFlushCachecleanFlushCache:	mrc	p15, 0, pc, c7, c14, 3	/* test/cleanflush D-Cache */	bne	cleanFlushCache	mcr	p15, 0, r0, c7, c5, 0	/* flush I-Cache */	mov	pc, lr	.ltorg

⌨️ 快捷键说明

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