2440,6410,210存储器接口比较

micro2440-s3c2440 仅一个存储器接口
addr0-26
data0-31
此存储器接口所接资源:
nand(64MB SLC)
nor(2MB)
dm9000
sdram(32x2 MB)
************


tiny6410-s3c6410 两个存储器接口
xm0
xm0addr0-15
xm0data0-15
此存储器接口所接资源:
nand(2GB MLC2)
dm9000
************
xm1
xm1addr0-15
xm1data0-31
此存储器接口所接资源:
ddr(128x2 MB)
************


tiny210- 三个存储器接口
xm0
xm0addr0-15
xm0data0-15
此存储器接口所接资源:
nand(1GB SLC)
dm9000
************
xm1
xm1addr0-13
xm1data0-31
此存储器接口所接资源:
ddr2(128x4 MB)
************
xm2
xm2addr0-13
xm2data0-31
此存储器接口所接资源:
null
************




比较存储器借口及地址映射:
2440

对于0x0000 0000---0x0800 0000-1,arm上电开始启动的地址
可以是srom映射到此,一般是norflash,可以实现从norflash启动。
也可以是steppingstone,此时需配置从nand启动,上电后nand最前面的4KB代码被拷贝到steppingstone,然后cpu从0地址开始运行。
0x0800 0000---0x1000 0000-1 各类srom可以映射到这个地址,使用ngcs1片选。
0x3000 0000---0x3800 0000-1 sdram可以映射到这个地址空间,使用ngcs6片选。
2440仅有一路地址线和数据线,2440所有的存储控制器均使用其与存储器件沟通数据。当然arm9核通过ahb总线访问存储控制器。
arm9核<-----通过ahb访问----->存储控制器<-----通过addr0-25/data0-31/ngcsx访问----->外部存储器。
6410
地址映射


0x0---0x8000000-1这段地址空间,没有实际的存储器与之对应,而是要将其他有实际存储空间映射到这段地址空间,如下图的箭头所示。主要是因为6410要支持多种启动方式:arm处理器上电从0地址处开始运行,将不同的存储器映射在0地址处可以实现次功能。
0x0800 0000---0x0c00 0000-1是6410内部的32KB rom对应的地址空间,里面固化了启动代码,用于支持从不同存储器启动。2440内部没有这个rom。
0x0c00 0000---0x1000 0000-1是6410内部的4KB rom对应的地址空间,用于支持从不同存储器启动。2440内部也有此4KB ram。
0x1000 0000---0x1700 0000-1可以用于外部各类srom,如norflash,dm9000,nandflash 。The S3C6410 SROM Controller (SROMC) supports external 8, 16-bit NOR Flash, PROM, SRAM memory. S3C6410 SROM Controller supports 6-bank memory of maximum 128 MB size only。
使用xm0csn[x]作为各个bank的片选,是6410内部电路决定,参照手册连线即可,见下图。
0x5000 0000-0x6000 0000-1,sdram可以映射到这个地址空间,256MB.
0x6000 0000-0x7000 0000-1,sdram可以映射到这个地址空间,256MB.
6410对外有两路地址线和数据线,从下图可以看出哪些存储控制器对应哪路对外总线:
srom,onenand,nand存储器控制器共用一个port0总线接口,1个dram控制器占用一个port1总线接口,通过片选可接两片chip。
arm11核<-----通过ahb访问----->srom存储控制器等 <-----通过xm0addr0-15/xm0data0-15/xm0csx访问----->外部存储器。
arm11核<-----通过axi访问----->dram存储控制器 <-----通过xm1addr0-31/xm1data0-31/xm1csx访问----->外部存储器。

存储器接口


s5pv210

跟6410很相似
0x0000 0000 ---0x2000 0000-1,没有固定的存储器映射在这个区间,可以把内部96KB iram(steppingstone)或者64KB irom映射到这个区间
0x2000 0000 ---0x4000 0000-1,ddr内存区间0。
0x2000 0000 ---0x4000 0000-1,ddr内存区间1。

210有3个memory port 即0,1,2
a8核<-----通过xxx访问----->srom存储控制器等 <-----通过xm0addr0-15/xm0data0-15/xm0csx访问----->外部存储器。
a8核<-----通过xxx访问----->dmc0 <-----通过xm1addr0-31/xm1data0-31/xm1csx访问----->ddr。tiny210的ddr接在了dmc0上。
a8核<-----通过xxx访问----->dmc1 <-----通过xm2addr0-31/xm2data0-31/xm2csx访问----->ddr


exynos4412



比较一下启动方式
2440的启动方式:
系统上电时,cpu根据om0和om1引脚来判断才能够哪里启动

1.=00时,系统上电时,nandflash控制器执行拷贝自己的前4KB字节到2440的steppingstone中,并映射steppingstone到0地址,然后从0地址开始执行。steppingstone的代码是uboot的前4KB部分,用于拷贝nandflash中完整的uboot代码到sdram,然后从sdram继续执行。
2.=01时,从norflash执行---如果板子上接了16位的norflash。cpu直接取指令执行,不需要steppingstone的协助。

6410的启动方式:

比2440要复杂不少,因为6410支持的启动设备更多,如下



1.nand启动,可以有两种配置,上图标记的nanda和nandb。对于nanda,则跟2440的从nand启动的方式一样了,是nand控制器拷贝nand前面的4KB代码从steppingstone....
对于nandb,则是6410内部irom(32KB)固化的代码执行拷贝nand前面的4KB代码到steppingstone----should be.
2.sd卡启动,和nandb类似,6410内部irom(32KB)固化的代码执行拷贝sd卡分区4KB代码到steppingstone。
3.onenand启动,板子上没配置onenand,onenand是采用了NOR的接口,NAND的架构,所以可以和nor一样直接挂在bus上。

s5pv210的启动方式
http://yunpan.cn/QGpjVLMaCZWAi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值