亲胳膊的板子已经很久了。对存储系统和I/o空间的认识也逐渐被遗忘。因为在进行其他开发时,总是使用自己的启动代码,不关心主板的存储空间配置。最近在卡驱动,突然不知道卡地址是什么,所以花点时间总结一下。废话少说吧。开始吧。

1、主板的存储资源。

2个32米SDRAM

1个2米NOR FLASH

1个128米(部分为64米)NAND FLASH

上面的资源看结构图就知道了。

2、主板上的I/O资源

此板(准确地说是S3C2440)上的I/O空间通过存储映射方式映射到存储空间。这意味着I/O空间占用了存储空间。

3、不同存储的差异和各自的用途

为什么这块板子上有那么多存储设备?原因很简单。每个存储设备的用途不同,要考虑到很多用户的需求,必须有不同的存储设备。首先称为SDRAM (SDRAM)。(写这篇文章的话,突然想起忘了SRAM。SRAM是静态随机内存。这种内存的特点是停电时不会丢失数据,也不需要经常刷新。存储速度快,相当于PC的内存。原因很简单。因为本来就没有。事实上,如果需要随机内存,SDRAM就是随机内存。只是为了保持其中的数据(水平),需要不断刷新。说到这个,学生们也应该理解SDRAM的作用。也就是说,我们的主板有64米的内存,足够了。

第二,NOR FLASH。NOR FLASH是具有SRAM接口功能的ROM。但是NOR FLASH的2M太少了。是的,很少。但是我们有NAND FLASH。那也是ROM。所以加起来,这块板子可以说是130米(66米)。

再加上NAND FLASH、NAND FLASH可以做得很大,但速度不能和NOR FLASH相比,为了克服这个矛盾,这块板上两个闪光灯都有。各有用途。

4、启动NOR FLASH和启动NAND FLASH

开发版有一个S2开关,打在NOR的一端,NOR就会开始。相反,如果击中另一端,NAND闪光灯就会开始。首先说说两个开始的区别,硬件上是怎么开始的,空间是怎么分配的。如果S2从NAND闪存启动,程序将在NAND FL。内部有4K字节的steppingstone缓冲区(实际上是SRAM)。如果选择“NAND闪存开始”,此缓冲区将映射到地址0x0000_0000,并负责将NAND闪存代码复制到SDRAM。

S2被NOR FLASH的一端击中时会有什么不同?如果选择以NOR FLASH开始,则2M的NOR FLASH将映射到地址0x0000_0000,程序将在此处运行。我可以在NOR FLASH中运行程序吗?当然不是。那为什么能在这里启动呢?事实上,这个NOR FLASH已经安装了BIOS。(如果读者不知道BIOS是什么,其功能是将代码从闪存复制到SDRAM。)

4、S3C2410 S3C2440NAND存储系统

你知道,32位可以寻址4G空间。但是,在S3C2440的存储空间中,有:这样划分4G。

(途中仅显示最低的1G)

0x4000_0000只有3G空间。这样分配:

OM[1:0]=01或10:33600 x 4000 _ 0000-0x 4000 _ 0f ff。此4K字节是前面提到的stepingstone的.0x4000 _ 0f ff _

OM[1:0]=00。这时如上图所示。刚才所说的steppingstone映射到ox000_0000。也就是说,在途中启动INTERNAL SRAM。和其他的一样。

事实上,S3C2440将低1G空间分成8个。如图所示,0 ~ 6号7个起始地址不变。第7段的地址是可变的。(决定6号地址需要多少,反正6号7号是相连的。)。前6个可以是ROM、SDRAM。最后两个也就是说,只有最后两个块可以成为SDRAM。这意味着SDRAM必须映射到这两个块。由于mini2440选择映射到第七个块,因此SDRAM的起始地址为0x3000_0000。这就是为什么从手册加载测试程序时,DNW的初始值被设置为此值。这是为了确保程序直接加载到SDRAM中。

刚才说S3C2440把存储空间分成了8个,这是为什么?其实很简单。即使不这样做,我们也会这样做。首先,按每:韩元计算128米,需要27条地址线。

相关推荐