关于nor flash和nand flash启动过程区别

1、比较nor flash 和nand flash:Nor flash :intel推出,一般以64-128kb每块进行擦除,时间约为5s(这是一个很大的数)。带有EBI(三总线)接口,支持线性读取,支持片上程序执行(XIP);虽然擦写速度慢,但是读取速度很快(也许是因为可以进行线性读取);更加稳定,不容易出现位翻转;成本高,相同体积下容量更小;接口简单,操作更方便。Nand flash:东芝公司推出,是一种非易失性闪存,内部采用非线性宏单元模式,为固态大容量电子存储设备的实现提供了廉价有效的解决方案。体积小,存储容量大、适合大数据存储;擦写速度快(8-256kb,约2-3ms);有自己专用的接口标准;低功耗,低成本,容易出现位翻转(就是传说中的 坏块);通常作为机械磁盘的一种更加优越的延续,具有抗震,高速、低噪、低功耗的特点;内部组成有:面、块、页、字节;K9K8G08型号的Nand flash 的组成结构:4面*2k块*64页*2k字节,共1024MByte;Nand flash寻址:行列寻址方式,地址总共32位,其中A0-A11表示的是列地址,,A12-A31表示的行地址。针对K9K8G08这个型号的flash来说,行地址的前2位确定是面,中间11位确定块,接下来的6位确定了页地址;而列地址就是在页中的2k个地址中进行寻址。

2、比较nor flash和nand flash启动的不同。使板子从裸机变成带操作系统,最少需要三个文件:bootloader、kernel、rootfs;(启动引导程序、内核、文件系统);由bootloader引导cpu从哪里开始执行kernel程序,在启动起来内核后,系统中还要有对应的根文件系统。对于bootloader来说,它可以分为两部分来说,一个是硬件初始化,一个是加载操作系统。下边是nor flash的启动过程:nor flash一般放在总线的0x00地址。首先bootloader这段代码存放在nor flash的0x00这个地址中,所以在cpu启动时,cpu直接执行这段代码,由于nor flash支持片上执行,所以cpu可以直接在nor flash上执行完三个步骤,但是由于nor flash的读取速度相对来说比较慢,所以,有时候会把bootl、kernel和rootfs拷贝到sdram中,在sdram中执行启动过程。Nand flash的启动过程:—(下边说道的BL1和BL2指定的是bootloader代码的两部分,分别硬件初始化程序和加载操作系统程序)cpu在启动过程中最初会执行irom中的一段代码,这段代码会指引cpu到nand flash中,把nand flash中的BL1拷贝到iram中,执行这段代码,在执行完这部分代码的末尾会告诉cpu把原来在nand flash中的bootloader、kernel、rootfs程序都拷贝到sdram中,然后从BL2代码的开始处执行程序,最终执行完所有的启动程序。

版权声明:本文为博主原创文章,未经博主允许不得转载。

这个社会是存在不公平的,不要抱怨,因为没有用!人总是在反省中进步的!

关于nor flash和nand flash启动过程区别

相关文章:

你感兴趣的文章:

标签云: