我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1778|回复: 1

ARM9学习——s3c2440存储控制器 -ARM

[复制链接]

该用户从未签到

1万

主题

1292

回帖

936

积分

管理员

积分
936

社区居民最爱沙发原创达人社区明星终身成就奖优秀斑竹奖宣传大使奖特殊贡献奖

QQ
发表于 2013-7-30 19:09:59 | 显示全部楼层 |阅读模式
NandFlash和NorFlash都是Flash的一种,都是散存,都是磁盘存储介子,但是NandFlash一般比较大,而NorFlash都比较小,并且NorFlash比较贵,并且NorFlash写的速度比较慢,但读的速度比较快 ,而NandFlash读的速度比较慢,写的速度比较快。NOR Flash是总线型设备,可在芯片内执行(XIP,eXecute In Place),应用程序可以直接在FIash闪存内运行,不必再把代码读到系统RAM中;而NAND Flash则需I/O接口,因此使用时需要写入驱动程序 SDRAM:Synchronous Dynamic Random Access Memory,同步动态随机存储器,同步是指Memory工作需要同步时钟,内部的命令的发送与数据的传输都以它为基准;动态是指存储阵列需要不断的刷新来保证数据不丢失;随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。1.S3C2440存储控制器特性? (1) S3C2440A的存储器管理器提供访问外部存储器的所有控制信号? 27位地址信号、32位数据信号、8个片选信号、以及读/写控制信号等? (2) 总共有8个存储器bank(bank0—bank7)(3) bank0---bank5为固定128MBbank6和bank7的容量可编程改变,可以是2、4、8、16、32、64、128MB最大共1GB(4) bank0可以作为引导ROM。其数据线宽只能是16位和32位,其它存储器的数据线宽可以是8位、16位和32位 (5) 7个固定存储器bank(bank0-bank6)起始地址。bank7的开始地址与bank6的结束地址相连接,但是二者的容量必须相等(6) 所有存储器bank的访问周期都是可编程的(7) 支持SDRAM的自刷新和掉电模式(8) 支持大小端(软件选择)注:8个128M的bank,一共只有1G(地址空间),剩余3G,有一部分是寄存器的地址,还有一部分没有被使用,系统上电后从bank0执行bootloader程序。 S3C2440的8个bank在系统上电后必须进行相应的初始化(n多寄存器的配置,S3c2440片内有NandFlash,SDRAM,NorFlash等配置寄存器),2440不然就不能工作。S3C2440的每个bank都可以用来总线型设备,这些设备共用系统的总线。这些设备的片选端,都应该接到相应bank的片选信号上,因此所有总线型设备的地址线也是共用的。比如bank0接的就是norflash(bank0可以作为引导ROM), Bank6接SDRAM。NandFlash不是总线型设备,所以NandFlash没有接在bank上,而是单独和S3C2440连接。系统如果从NandFlash启动的话,NandFlash里面必须烧有bootloader程序,NorFlash同理。SDRAM 原理分析 :  型号:K4S561632(两片共64M) 大小: 4M*16bit*4banks*2= 512 bit = 64M 字节 数据宽度:32 bit 连接在BANK6上,片选信号nGCS6 地址范围:0x3000_0000—0x33FF_FFFFSDRAM存储原理: SDRAM的内部是一个存储阵列,阵列中的每个单元格就是一个存储单元。 有四个逻辑BANK(L-BANK) 由BA1、BA0选择 行地址数:13 列地址数:9SDRAM储存区域分配:0x3000_0000~0x3100_0000(程序代码区、文字常量区)0x33ff_0000~0x33ff_4800(堆区)0x33ff_4800~0x33ff_8000(栈区)0x33ff_ff00~0x3400_000(偏移中断向量表)内存是嵌入式系统中非常重要的一部分,在系统启动前,必须配置内存让其工作。NOR FLASHNOR FLASH (EN29LV160AB): 大小:2M 数据宽度:16bit 连接在BANK0上,片选信号nGCS0 地址范围:0x0000_0000---0x0020_0000特点: 线性寻址 可直接按地址进行读写操作 写操作之前需进行擦除操作 写入、擦除速度较慢,读取速度较快,单位密度低、成本较高NAND FLASH大小:256M * 8Bit 数据宽度:8位 地址范围:有专门的时序控制总线,不占用系统总线资源特点: 非线性寻址 读操作,一次必须读一个扇区(512字节) 写操作,可按指定地址直接写入 写之前必须进行擦除操作 单位密度高、成本低、擦除速度快坏块: NAND器件中的坏块是随机分布的,在初始化时,需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用位交换: NAND Flash中发生的次数要比NOR Flash多,建议使用NAND闪存时,同时使用EDC/ECC算法使用方法: NOR Flash是可在芯片内执行(XIP,eXecute In Place),应用程序可以直接在FIash闪存内运行,不必再把代码读到系统RAM中;而NAND Flash则需I/O接口,因此使用时需要写入驱动程序启动方式: NandFlash没有接在bank0上,而程序必须从0地址开始执行,即bank0开始。2440内部有一个叫做“起步石(Steppingstone)” 的 SRAM缓冲器。系统启动时Nand flash存储器的前面4K字节被自动拷贝到Steppingstone中。Steppingstone被映射到nGCS0对应的BANK0存储空间。CPU在Steppingstone的4-KB内部缓冲器中开始执行引导代码。引导代码执行完毕后,自动跳转到SDRAM执行。
回复

使用道具 举报

该用户从未签到

1

主题

206

回帖

121

积分

二级逆天

积分
121

终身成就奖特殊贡献奖原创先锋奖社区居民灌水天才奖

QQ
发表于 2013-10-30 16:29:56 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

论坛开启做任务可以
额外奖励金币快速赚
积分升级了


Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

平平安安
TOP
快速回复 返回顶部 返回列表