1.NOR Flash和NAND Flash的区别
读速:Nor很快,NAND快
擦除/写入:Nor低,NAND高
访问方式:Nor一次写一个字节,按总线时序读写;NAND一次写多个(512字节的块),按页读写
价格:Nor价格高,NAND价格低
容量:Nor小,NAND大
XIP(可执行code):Nor可以,NAND价格低不可以
可靠性:Nor高,NAND低(位反转,需EDC/ECC_错误探测/错误更正算法;坏块)
寿命(耐用性):Nor低,NAND高
接口:Nor与RAM接口相同(SRAM接口),NAND是I/O接口
NOR应用场景:适合关键很少修改数据,如bootloader kernel等代码(引导程序);不适合尺寸大+经常修改,用户地图,库文件等(用户程序或可加载程序)。
2.用的什么接口,有哪些接口
接口:SPI NOR接口:串行接口
常用接口:
并行: NOR Flash(CFI Flash), NAND Flash
SPI: NOR Flash;NAND Flash
MMC标准接口(eMMC Flash),eMMC=MMC(多媒体卡)接口+NAND Flash+主控制器
IIC EEPROM(电子可擦除可编程),过去20年嵌入式系统存储设备ROM(EEPROM)
USF2.0(新一代通用闪存存储器标准)
SPI NOR Flash:
spi flash
dual spi flash(双线)
3线:时钟,2个数据线
quad spi flash(4线):时钟,2个数据,片选
3.哪家的,什么封装,容量多大
旺宏;SOP-16;256Mbit(32Mbit*8)
Hi3516:
SPI Nor Flash接口:最大支持32MB,支持1,2,4线模式
SPI Nand Flash接口:最大支持1GB
eMMC4.5接口:4bit数据位宽
Flash地址模式:3byte(最大128Mbit),4byte(最大8Gbit)
支持2个片选
4.有哪些信号
CLK,CS,MOSI,MISO,WP(读取模式的硬件写保护),HOLD
Flash接口标准:CFI,JEDEC
CFI:公共接口,帮助程序从Flash获取操作方式信息,不用在程序种硬编码Flash的ID
JEDEC:帮助程序读取Flash制造商ID和设备ID,确定Flash大小和算法,不支持CFI,就需要使用JEDEC
5.用过哪些厂家
NOR Flash:旺宏,美光,华邦
NAND Flash/eMMC:三星,美光,海力士
6.选型
容量:Flash一般用bit表示,范围覆盖512Kb-512Mb
供电电压
SPI接口:标准SPI,双线SPI(Dual SPI),四线SPI(Quad SPI)
温度
封装
功耗
7.嵌入式在Flash启动过程
架构方式:
Nor Flash:
引导代码,操作系统,应用代码共存Nor Flash,上电后,引导代码先在Nor Flash执行,后操作系统和应用代码加载到SDRAM运行;另一种:Nor Flash=引导代码+操作系统,应用代码=SDRAM
Linux内核无法直接启动,一定使用Bootloader引导,CUP上电从0地址运行,Nor Flash可以像RAM一样进行数据读取,把Nor Flash接到CPU的0地址,上电直接运行Bootloader,Bootloader启动以后可以启动Linux内核。
Nor Flash+NAND Flash:
Nor Flash=引导代码+操作系统(可根据大小选Nor或NAND),NAND Flash=应用代码(可根据大小配置容量);上电后,引导代码在Nor Flash执行,把NAND Flash中操作系统和应用代码加载到SDRAM执行
NAND Flash
一段代码复制到ram中,后从ram执行(将NAND Flash中存储的前4KB代码装入BootSRAM的地址中,需要处理器内部有NAND控制器,需要提供一定大小额外的SRAM空间)
启动步骤:
1.上电
2.CPU内boot ROM读取,strapping GPIO数值锁定(Boot ROM是嵌入处理器芯片内的一小块掩模ROM或写保护闪存。它包含处理器在上电或复位时执行的第一个代码;strapping GPIO捆扎GPIO引脚电压影响启动)
3.根据strapping GPIO值和SoC内部保险丝设置确定用于启动的设备
4.从启动设备起始位置读取用于配制DDR RAM和定位boot loader的配置信息
5.DDR RAM被boot ROM初始化
6.boot loader从启动设备复制到RAM执行(另一种先将boot loader复制到SDRAM执行后再由boot loader初始化DDR RAM)
Hi3516A启动方式:
片外:SPI Nor Flash,SPI NAND Flash或eMMC
BOOT ROM
8.速度
SPI Nor Flash:速度75MHz(时钟频率)
读取速度:
bootloader从spi nor flash加载os
读取过程:spinor--->spi控制器--->cpu/dma-->dram
数据从spinor到soc的spi控制器,再由cpu或dma搬运到dram中的目标位置
spi时钟频率为100M=10*10^6,读使用4线(soc和flash之间有4根线并行传输数据),100*10^6*4bit=400*10^6bit/s=47.68MB/s,极限速度为47.68MB/s
9.SD卡接口
SDIO
SD卡最大支持2GB
SDHC最大支持32GB
SDXC(安全数字扩展容量)最大支持2TB