在看上面2440的内存映射的时候,对其中的有些名字,不是完全太懂,所以到网上找了相关的信息。
对于mini2440来说,SDRAM,即内存,程序运行时的地方。选择连接SDRAM的为bank6。
1)S3C2440 支持两种启动模式:一种是从 Nand Flash 启动;一种是从Nor Flash启动。在此两种启动模式下,各个片选的存储空间分配是不同的,
2)左面时nGCS0片选的Nor Flash启动模式下的存储分配图,右边是Nand Flash启动模式下的存储分配图,这里要注意,nGCS0片选的空间在不同的启动模式下,映射的器件是不一样的:
当在Nand Flash启动模式下,内部的4K Byte BootSram被映射到nGCS0片选的空间,
12)当从NAND启动时
cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440是soc),同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000)。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行
以上内容来自S3C2440的数据手册。
RAM有两大类,
一种称为态RAM(Dynamic RAM/DRAM),DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。
SDRAM:同步动态随机存储器,像电脑的内存就是用的这种RAM叫DDR SDRAM。其集成度非常高,因为是动态的,所以必须有刷新电路,每隔一段时间必须得刷新数据。其存储单元不是按线性排列的,是分页的。一般的嵌入式产品里面的内存都是用的SDRAM。 Mini2440 使用了两片外接的32M bytes 总共64M bytes 的SDRAM 芯片。
内存工作原理:
内存是用来存放当前正在使用的(即执行中)的数据和程序,我们平常所提到的计算机的内存指的是动态内存(即DRAM),动态内存中所谓的"动态",指的是当我们将数据写入DRAM后,经过一段时间,数据会丢失,因此需要一个额外设电路进行内存刷新操作。
具体的工作过程是这样的:一个DRAM的存储单元存储的是0还是1取决于电容是否有电荷,有电荷代表1,无电荷代表0。但时间一长,代表1的电容会放电,代表0的电容会吸收电荷,这就是数据丢失的原因;刷新操作定期对电容进行检查,若电量大于满电量的1/2,则认为其代表1,并把电容充满电;若电量小于1/2,则认为其代表0,并把电容放电,藉此来保持数据的连续性。
ROM:只读存储器的总称。
PROM:可编程只读存储器,只能写一次,写错了就得报废,现在用得很少了,好像那些成本比较低的OPT单片机里面用的就是这种存储器吧。
EPRM:没见过,不知道什么东西。网上也找不到相关的东西。是EPROM吧?
EPROM:可擦除可编程存储器,这东西也比较古老了,是EEPROM的前身,在芯片的上面有个窗口,通过紫外线的照射来擦除数据。非常之麻烦。
EEPROM:电可擦除可编程只读存储器,比之EPROM就先进点了,可以用电来擦除里面对数据,也是现在用得比较多的存储器,比如24CXX系列的EEPROM。
NANDFLASH和NORFLASH都是现在用得比较多的非易失性闪存。
NOR采用的并行接口,其特点读取的速度比之NAND快乐很多倍,Nand Flash 不具有地址线,它有专门的控制接口与CPU 相连,数据总线为8-bit,但这并不意味着Nand Flash 读写数据会很慢。大部分的优盘或者SD 卡等都是Nand Flash 制成的设备。
转自: http://blog.csdn.net/suiyuan19840208/article/details/7307316