nand与nor flash的区别于联系

NAND Flash与NOR Flash的主要区别在于执行代码的能力和数据读取方式。NOR Flash可以直接执行代码,而NAND Flash需要将代码复制到RAM中执行。NAND Flash在读取数据前需要特定的指令,而NOR Flash则不需要。此外,NOR Flash具有独立的地址线和数据线,NAND Flash的地址线和数据线是复用的,需要通过程序控制。S3C2440芯片支持NAND和非NAND启动模式,启动方式由OM0和OM1引脚决定,且两种Flash在开发板上的应用和映射方式有所不同。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

答:1)在NOR FLASH里面可以直接执行代码,而在NAND FLASH里面不可以,在2410里面,如果选择NAND启动方式的话,NAND里的代码是被拷贝到RAM里面去执行的。

2NAND FLASH每次取数据前要写入好像是0X55,0XAA才行,而NOR FLASH直接取到数据。

3NOR FLASH地址线和数据线分开,来了地址和控制信号,数据就出来。NAND Flash地址线和数据线在一起,需要用程序来控制,才能出数据。

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

6.开发板出厂时已经在nand flash,nor flash烧入了相同的BIOS


当从NAND启动时

    cpu会自动从NAND flash中读取前4KB的数据放置在片内SRAM里(s3c2440soc),同时把这段片内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然后cpu0x00000000开始执行(也就是在Norfalsh中执行)。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值