嵌入式学习笔记2—S3C2440的内存初始化

本文基于国嵌的视频教程,总结一下ARM内存体系架构。

由S3C2440的datasheet可以看出,该芯片具有27根地址总线,则2^27=134217728bits=131072Kb=128Mb。总共有8根片选总线,所以最大可扩展内存为8*128=1024Mb=1GB地址空间。从外部看即有8个memory banks。ARM核访问内存地址则主要是通过存储控制器去访问内存空间。

                                                

具体初始化代码如下:

#define mem_contrl 0x48000000
init_sdram:
	ldr  r0,=mem_contrl  @first register address
	add  r3,r0,#4*13     @final register address,every register's length is 4 byte,
			     @total has 13 registers
	adrl r1,mem_data     @"adrl" load long address,r1 save data list first address 

0:
	ldr r2,[r1],#4  @"#4"(decimalism) next loop [r1]=[r1]+4
	str r2,[r0],#4
	cmp r0,r3       @r0 and r3 compare 
	bne 0b 		@judge:if not equal,then turn to 0 . "b" means turn to before
	mov pc,lr
mem_data:
	.long 0x22000000  @.long indicate it's length
	.long 0x00000700
	.long 0x00000700
	.long 0x00000700
	.long 0x00000700
	.long 0x00000700
	.long 0x00000700
	.long 0x00018001
	.long 0x00018001
	.long 0x008c04f5
	.long 0x000000b1
	.long 0x00000030
	.long 0x00000030

关于寄存器的取值和地址详见S3C2440的datasheet或者参考 国嵌的视频教程。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值