单片机上的内存种类
第一种Flash内存 Flash分为两种:norFlash和nandFlash,打个不恰当的比方,norFlash相当于ROM,程序可以直接在其上运行,nandFlash相当于硬盘,只负责存储程序。NorFlash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NorFlash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在flash闪存内运行,不必再把代码读到系统RAM中。如uboot中的ro段可以直接在NorFlash上运行,只需要把rw和zi段拷贝到RAM中运行即可,Norflash是ROM(Read-Only Memory)是只读内存的简称,是一种只能读出事先所存数据的固态半导体存储器;ROM主要由地址译码器、存储体、读出线及读出放大器等部分组成,其所存数据稳定,断电后所存数据也不会改变,并且结构较简单,使用方便,因而常用于存储各种固定程序和数据NandFlash器件使用复杂的I/O口来串行地存取数据,8个引脚用来传送控制、地址和数据信息。由于时序较为复杂,所以一般CPU最好集成NAND控制器。另外由于NandFlash没有挂接在地址总线上,所以如果想用NandFlash作为系统的启动盘,就需要CPU具备特殊的功能,如s3c2410在被选择为NandFlash启动方式时会在上电时自动读取NandFlash的4k数据到地址0的SRAM中。如果CPU不具备这种特殊功能,用户不能直接运行NandFlash上的代码,那可以采取其他方式,比如好多使用NandFlash的开发板除了使用NandFlash以外,还用上了一块小的NorFlash来运行启动代码。 第二种是主内存 内存条(Random Access Memory,缩写:RAM,又名:随机存取存储器),是与CPU直接交换数据的内部存储器,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。特点是工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。但它与ROM的最大区别是数据的易失性,即一旦断电所存储的数据将随之丢失。
|