• NandFlash与NorFlash


    目前已经很多ARM9的处理器都至少支持nand flash启动 和nor flash启动。那此两种启动方式到底有什么区别呢?下面以S3C2440为例说明。

    NandFlash 与 NorFlash 区别

    如下表所示

     

    NOR

    NADN

    容量

    1~32MB

    16~512MB

    XIP(芯片内执行)

    Yes

    No

    性能

    擦除非常慢,写慢,但是读非常快

    擦除、写、读都较快

    可靠性

    高,位反转比例小于nandflash的10%

    比较低,位反转比较常见

    接口

    与RAM一样

    I/O接口

    访问方法

    随机访问

    顺序访问

    主要用途

    保存代码和关键数据

    用于保存数据

    价格

    文件系统支持

    Jffs2

    Yaffs

    记住最重要一点,NOR Flash的接口与RAM一样,所以可以随机访问任意地址,效率高,所以读的效率非常高。而NAND FLASH一般以512字节为单位进行读写。前者更适合保存程序,而后者保存数据。

    启动方式对比

    Nand启动

    分两种情况,应用程序小于4K和应用程序大于4K。

    如果应用程序小于4K:

    (1)       一上电,nand前4K自动拷贝到2440内部的SRAM中。(2440的片内存储为4K)

    (2)       CPU从0地址执行(此时,0地址在SRAM中)

    如果应用程序大于4K,那么应该怎么办呢。还是一样:

    (1) 上电后,从nand前4K拷贝到片内的SRAM

    (2)关看门狗、初始化存储器管理器、SDRAM等

    (3) 把代码拷贝到SDRAM中,并继续执行。

    不同的是,需要订制这4K的代码,完成从nandflash到sdram代码的复制。

    Nor启动

    最根本的区别在于从nor启动,由于nor也是并行传输,可以像内存(SRAM)一样读数据,但不能像内在一样写数据,所以可以将0地址定位在norflash中

    (1)       一上电,将0地址定位在nor flash中

    (2)      同样,CPU从0地址取址执行。

  • 相关阅读:
    hdu_1052 Tian Ji -- The Horse Racing 贪心
    hdu_1050 Moving Tables 贪心
    模拟退火算法-旅行商问题-matlab实现
    主成分分析与逐步回归分析的区别
    二叉树--后序遍历的非递归算法
    表达式求值--数据结构C语言算法实现
    线性表—单链表的创建、查询、插入、删除、合并
    线性表--顺序线性表-基本操作:建表,插入,删除
    String、String[]、ArrayList<String>之间的转换
    Java反射机制概念及使用
  • 原文地址:https://www.cnblogs.com/dudu1990/p/3393258.html
Copyright © 2020-2023  润新知