导读:本文介绍了ARM开发中常见的存储介质,主要包含ARM内核介绍,RAM(内存),ROM(flash闪存),为理解典型Linux嵌入式设备打下基础。下期将介绍典型Linux设备启动流程。
1、ARM版本号问题
内核版本号 | SoC版本号 | 芯片举例 |
---|---|---|
ARMv4 | ARM9 | S3C2440、S3C2410 |
ARMv6 | ARM11 | S3C6410 |
ARMv7 | Cortex-M,Cortex-A,Cortex-R | S5PV210(Cortex-A8) |
Cortex-M一般为为单片机内核如STM32F103,Cortex-A系列一般用来跑Linux或安卓操作系统较为合适,Cortex-R系列一般用于航空或军事领域。
2、内存
RAM | 中文名称 | 特点 |
---|---|---|
SRAM | 静态内存 | 容量小、价格高,优点是不需要软件初始化直接上电就能用,缺点是集成度比较低,不适合做容量大的内存 |
DRAM | 动态内存 | 容量大、价格低,缺点就是上电后不能直接使用,需要软件初始化后才可以使用,读写速度不如SRAM。 |
SDRAM | 同步动态随机存储器 | 数据的读写需要时钟来同步,属于DRAM |
DDR | 双倍速SDRAM | 全名DDR SDRAM,传统的SDRM只能在信号的上升沿传输数据,而ddr可以在信号的上升沿和下降沿传输数据,速度翻倍 |
EPROM | 可擦除可编程ROM | 芯片可重复擦除和写入,解决了PROM芯片只能写入一次的弊端 |
3、闪存Flash
ROM | 特点 |
---|---|
NorFlash | 总线访问,接到SROM bank,优点是可以直接总线式访问,一般用来启动 |
NandFlash | 分为SLC和MLC,SLC更可靠,几乎不用校验,MLC更大更便宜 |
eMMC/iNand/moviNand eMMC(embeded MMC) | eMMC是NandFlash+主控IC ,硬件管理坏块,对外的接口协议与SD、TF卡类似;对厂家而言简化了电路设计,降低了成本。 |
SD卡/TF卡/MMC卡 | 和EMMC相似,相当于拔插式的eMMC |
PS:iNand是SanDisk出产的二MMC;moviNand是三星出产的eMMC;oneNand是三星出产的Nand
4、cache
高速缓存,通常由SRAM组成,它是位于CPU与内存间的一种容量较小但速度很高的存储器,CPU的速度远高于内存,Cache可以保存CPU接下来将要使用的一部分数据,减少了CPU读内存的等待时间,提高系统效率。SOC一般自带cache,icache的一切动作都是自动的,不需人为干预。
从容量来说:CPU < 寄存器 < cache < DDR
从速度来说:CPU > 寄存器 > cache > DDR
5、应用场景
产品 | 特点 |
---|---|
单片机中 | 内存需求量小,开发尽量简单,适合全部用SRAM;一般为小容量NorFlash + 小容量SRAM |
嵌入式Linux系统 | 内存需求量大,适合外接的大容量Nand + 外接大容量DRAM + SoC内置SRAM |
PC机 | 内存需求量大,软件复杂;倾向于:小容量BIOS(NorFlash)+ 大容量硬盘+ 大容量DRAM |