S3C2440的寻址空间、存储控制器
来源:互联网 发布:java实现多线程同步 编辑:程序博客网 时间:2024/06/05 06:02
1、地址分配(27根线如何寻找1G空间)
查S3C2440的数据手册可知S3C2440可寻址1G的地址范围,但是S3C2440的地址线只有27根,理论上只能寻址2的27次方等于128M的地址范围。
那如何寻址1G的呢 ?
S3C2440通过把存储管理系统分成8个Bank解决了这个问题。S3C2440引出了8根 Bank 线(对应nGCS0~ nGCS7),通过这个8根线来选通和关闭
不同的存储器,这样S3C2440最多就可以连接8个128M的存储器,每一个BANK对应一根片选信号线nGCS0~nGCS7,当访问BANKx的时候,
nGCSx管脚电平拉低,用来选中外接设备。S3C2440通过8根选信号线和27根地址线,就可以访问1GB。如图所示。
对S3C2440来说,SDRAM,即内存,程序运行时的地方。选择连接SDRAM的为bank6。
l每个 Bank 有个地址,对该 Bank 地址的访问实际上就是选通该Bank,于是ARM核只要发出一个地址,然后S3C2440的存储控制 器只要把该地址
解释成两部分:一部分是 Bank 地址,一部分是连接到该 Bank 存储器内部的地址就可以访问了。
l左侧图对应不使用Nandflash启动时(通过跳线设置),存储器Bank分布图,通常在这种启动方式里选择Norflash启动,将Norflash焊接在Bank0, 系统上电后,CPU从Bank0的开始地址0x00000000开始取指运行。
l右侧是选择从Nandflash引导启动(通过跳线设置),系统上电后,CPU会自动将Nandflash里前4K的数据复制到S3C2440内部一个4K大小 SRAM类型存储器里(叫做Steppingstone),然后从Steppingstone取指启动。
ls3c2440支持两种启动模式:NAND和非NAND(这里是nor flash)。
具体采用的方式取决于OM0、OM1两个引脚
OM[1:0]所决定的启动方式
OM[1:0]=00时,处理器从NAND Flash启动
OM[1:0]=01时,处理器从16位宽度的ROM启动
OM[1:0]=10时,处理器从32位宽度的ROM启动。
OM[1:0]=11时,处理器从Test Mode启动。
2、
bank0 ~ bank5是ROM,SRAM 等类型存储器,通常焊接一些用于引导系统启动小容量ROM。
bank6 ~ bank7是可以作为ROM、SRAM、SDRAM 等存储器。
比如MINI2440开发板将2M的Norflash焊接在了Bank0上,用于存放系统引导程序Bootloader,将两片32M,16Bit位宽SDRAM内存焊接在Bank6和Bank7上,并联形成64M,32位内存。
3、
Bank0可以作为引导ROM。其数据线宽只能是16位和32位,其它存储器的数据线宽可以是8位、16位和32位;
Bank0~Bank5起始地址固定,bank7的开始地址与bank6的结束地址相连接(因为Bank6和Bank7是可编程访问的,故bank7的起始地址不确定,但是二者的容量必须相等);
4、
所有存储器bank的访问周期都是可编程的(可以8/16/32位,即可以以字/字节/双字为单位来访问Bank,假如挂载的是32为SDRAM,地址线的第二位A2与存储器的A0相连,这样存储器单元地址每次增加四,刚好对应相应的地指线A2增加1,同理,挂接的是8位的SRAM的话,则地址线A1和存储器的A0相连,挂载的是8位的话则地址线的A0和存储器的A0相连)。
5、
由于S3C2440是32位芯片,理论上讲可以达到4GB的寻址范围,除去上述8个BANK用于连接外部设备,还有一部分的地址空间是用于设备特殊功能寄存器,其余地址没有被使用。4G的地址解释成三部分:一部分是外接设备的地址,一部分是内部寄存器地址,还有一部分是未定义空间。
_________________________________________________________________________________________________________________
- S3C2440的寻址空间、存储控制器
- S3c2440的存储控制器
- S3C2440的存储控制器
- S3C2440--存储控制器
- S3C2440存储控制器
- S3C2440 存储控制器
- s3c2440 存储控制器
- S3C2440学习之存储控制器
- S3c2440的存储控制器--驱动中存储器的使用。。
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- s3c2440存储控制器和地址以及启动的理解
- S3C2440的中断控制器
- 改变UITextField的光标颜色
- javascript-ui 滑块
- 09-表格标记
- linux c打印进程环境表
- Listview之万能适配器封装,结合上一篇博客ViewHolder封装类使用
- S3C2440的寻址空间、存储控制器
- cocos2d-JS 实现 横 竖 屏 显示提示图片效果 !!!!!
- 怒被卡常
- 循环队列的简单实现
- 爬取网页动态数据
- BZOJ 3626 LCA 树链剖分
- noip运输计划(倍增lca,树上差分)
- 【python卡牌游戏】抽乌龟
- android:scrollbarStyle