加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

nor flash启动与nand flash启动的区别

发布时间:2020-12-15 17:35:03 所属栏目:百科 来源:网络整理
导读:1)接口区别: NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。 类似于memory的随机访问方式,在nor flash上可以直接运行程序, NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。 ?Nand flash是IO设备,数据、地址、控制线都
1)接口区别:
NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。类似于memory的随机访问方式,在nor flash上可以直接运行程序,

NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。?Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。


通俗的说,就是光给地址不行,要先命令,再给地址,才能读到NAND的数据。而且都是在一个总线完成的。
结论是:ARM无法从NAND直接启动。除非装载完程序,才能使用NAND Flash.


2)性能区别

NOR的传输效率很高,在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。 NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。
● NOR的读速度比NAND稍快一些。
● NAND的写入速度比NOR快很多。
● NAND的4ms擦除速度远比NOR的5s快。
● 大多数写入操作需要先进行擦除操作。
● NAND的擦除单元更小,相应的擦除电路更少。


===========================================


ARM的nor flash与nand flash启动过程区别


B,s3c2440启动过程详解
1 :地址空间的分配
2 :开发板上一般都用SDRAM做内存,flash(nor、nand)来当做ROM。其中nand flash没有地址线,一次至少要读一页(512B).其他两个有地址线
3 :nandflash不用来运行代码,只用来存储代码,NORflash,SDRAM可以直接运行代码)
4 :s3c2440总共有8个内存banks
? 6个内存bank可以当作ROM或者SRAM来使用
? 留下的2个bank除了当作ROM 或者SRAM,还可以用SDRAM(各种内存的读写方式不一样)
? 7个bank的起始地址是固定的,还有一个灵活的bank的内存地址,并且bank大小也可以改变
5 :s3c2440支持两种启动模式:NAND和非NAND(这里是nor flash)。
具体采用的方式取决于OM0、OM1两个引脚
OM[1:0所决定的启动方式
OM[1:0]=00时,处理器从NAND Flash启动
OM[1:0]=01时,处理器从16位宽度的ROM启动
OM[1:0]=10时,处理器从32位宽度的ROM启动。
OM[1:0]=11时,处理器从Test Mode启动。


当从NAND启动时
? ? cpu会自动从NAND flash中 读取前4KB 的数据放置在 片内SRAM里 (s3c2440是soc), 同时把这段片内SRAM映射到nGCS0片选的空间(即0x00000000) 。cpu是从0x00000000开始执行,也就是NAND flash里的前4KB内容。因为NAND FLASH连地址线都没有,不能直接把NAND映射到0x00000000,只好使用片内SRAM做一个载体。通过这个载体把nandflash中大代码复制到RAM(一般是SDRAM)中去执行。


当从非NAND flash启动时

? ? nor flash被映射到0x00000000地址(就是nGCS0,这里就不需要片内SRAM来辅助了,所以片内SRAM的起始地址还是0x40000000). 然后cpu从0x00000000开始执行(也就是在Norfalsh中执行)。


-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

1.S3C2440的启动时读取的第一条指令是在0x00上,分为成nand flash和nor flash上启动

2.nand flash:适合大容量数据存储,类似硬盘;

? nor flash:适合小容量的程序或数据存储,类似小硬盘;

?sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。

3.Nor flash的有自己的地址线和数据线,可以采用类似于memory的随机访问方式,在nor flash上可以直接运行程序,所以nor flash可以直接用来做boot,采用nor flash启动的时候会把地址映射到0x00上。

?Nand flash是IO设备,数据、地址、控制线都是共用的,需要软件区控制读取时序,所以不能像nor flash、内存一样随机访问,不能EIP(片上运行),因此不能直接作为boot。

?NANDFlash启动: NANDFlash存储器的前4K将被自动加载到Steppingstone(内部SRAM缓冲器),然后系统自动执行这些载入的启动代码,这4K的启动代码需要将NANDFlash中的内容复制到SDRAM中执行。NANDFlash的前4K空间放启动代码,SDRAM速度较快,用来执行主程序的代码。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读