您的位置 首页 电源

S3C2440存储控制器、SDRAM原理、内存初始化

NandFlash和NorFlash都是Flash的一种,都是散存,都是磁盘存储介子,但是NandFlash一般比较大,而NorFlash都比较小,并且NorFlash比较贵,…

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为固定128MB

bank6和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同理。

2.SDRAM原理剖析:

类型:K4S561632(两片共64M)

巨细:4M*16bit*4banks*2= 512 bit = 64M字节

数据宽度:32 bit

衔接在BANK6上,片选信号nGCS6

地址规模:0x3000_0000—0x33FF_FFFF

SDRAM存储原理:

SDRAM的内部是一个存储阵列,阵列中的每个单元格便是一个存储单元。

有四个逻辑BANK(L-BANK)

由BA1、BA0挑选

行地址数:13

列地址数:9

SDRAM贮存区域分配:

0x3000_0000~0x3100_0000(程序代码区、文字常量区)

0x33ff_0000~0x33ff_4800(堆区)

0x33ff_4800~0x33ff_8000(栈区)

0x33ff_ff00~0x3400_000(偏移中断向量表)

3.内存初始化

内存是嵌入式体系中非常重要的一部分,在体系发动前,有必要装备内存让其作业。

NOR FLASH

NOR 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履行。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/dianyuan/274920.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部