仔细看了一遍他的说明书。
CPU: SANSUNG S3C2440 主频率是 440 最高可以到530 MHz
内存:64M SDRAM 频率100MHz 32bit 数据总线
启动方式两种
1.Nand Flash 64M 速度块,写次数多
2.Nor Flash 2M
![](file:///C:/DOCUME%7E1/LUCKYS%7E1/LOCALS%7E1/Temp/moz-screenshot.png)
相对慢点,写次数相对少
![](file:///C:/DOCUME%7E1/LUCKYS%7E1/LOCALS%7E1/Temp/moz-screenshot-1.png)
![](/images/cnitblog_com/textbox/8457/r_BootRam.JPG)
在 NAND FLASH 启动模式下,内部的4K Bytes BootSRam 被映射到nGCS0 片选的
空间;在 Nor Flash 启动模式(非NAND FLASH 启动模式)下,与nGCS0 相连的外部存
储器Nor Flash 就被映射到nGCS0 片选的空间 ,(这两个东西有点类似桌面pc 上的硬盘。为什么这么说呢? 它们有保存持久数据的作用,而且开机时候的BootLoad 都是从他们里面取出来放到内存执行的,这点类似硬盘的MBR)由于嵌入式工作的环境很多都不怎么适合使用机械转动硬盘所有使用Flash来代替了,这是我猜想的原因之一,其中也有成本问题。
困扰的问题。为什么要存在两个Flash 呢?既然Nand Flash 都已经足够了?为什么还有Nor呢?
分析一下Nor和Nand的优点和缺点:
Nor:1.NOR的特点是芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。
2.NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
3.NOR flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易地存取其内部的每一个字节。
4.NOR的擦写次数是十万次
5.在NOR器件上运行代码不需要任何的软件支持
6.NAND和NOR器件在进行写入和擦除操作时都需要MTD。
7.NOR主要应用在代码存储介质中
Nand:1.NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。
2.NAND器件使用复杂的I/O口来串行地存取数据,各个产品或厂商的方法可能各不相同 。8个引脚用来传送控制、地址和数据信息。
3.NAND读和写操作采用512字节的块,这一点有点像硬盘管理此类操作,很自然地,基于NAND的存储器就可以取代硬盘或其他块设备。
4.NAND flash的单元尺寸几乎是NOR器件的一半,由于生产过程更为简单,NAND结构可以在给定的模具尺寸内提供更高的容量,也就相应地降低了价格;
5.NAND闪存中每个块的最大擦写次数是一百万次;
6.NAND器件上进行运行代码操作时,通常需要驱动程序,也就是内存技术驱动程序(MTD)
7.NAND和NOR器件在进行写入和擦除操作时都需要MTD。
8.NAND发生位交换的次数要比NOR多
9.NAND适合于数据存储
基于 ARM 内核的CPU在复位时通常都从地址 0x00000000处取它的第一条指令开始执行。
由于嵌入式板不像普通的pc主板那样拥有自己的bios 这样很多嵌入式板子是需要自己写BootLoad 。
不过很多厂家出厂的都带有这段引导代码(BootLoad)它的作用就好似我们桌面电脑的bios作用。但是是用什么来保存这段代码呢? 一般是用Nor Flash或 Nand Flash 来保存这段代码 我买的这块板就出厂的时候就 在Nor Flash里面初始化了 Supervivi (BootLoad,Bios) 他的作用挺多的。
比如初始化板的各个硬件(usb 串口 内存 等外围接口)设备接口,这样我们就不用自己去写访问这些硬件的代码就可以把我们写的代码传输到内存中并执行(这样有利我们的主要精力就集中在开发应用代码里面了)但是对于我这个arm学习者也很关心Supervivi 里面的原理。以后有空就来研究一下它的原理。