嵌入式开发,各类存储方式知多少?
ROM & RAM
ROM(Read Only Memory)
ROM在系统停止供电的时候仍然可以保持数据,如光盘CD-ROM,可以保存文件,且只能读取。
RAM(Random Access Memory)
RAM通常都是在掉电之后就丢失数据,如计算机的内存条就是RAM,关机后内存数据被自动清空。
PROM & EPROM && EEROM
ROM又可分为几类
PROM
可编程的ROM,但只能写入一次(有点像光盘,只能刻录一次),这种是早期的产品,现在已经不用了。
EPROM
通过紫外光的照射擦出原先的程序,现在也不用了。
EEPROM
电可擦除,如学习单片机时用到的AT24C02芯片,大小为2K,用于保存少量掉电不丢失的数据,单片机通过IIC来读写这个EEPROM的内容。
SRAM & DRAM
RAM又可分为两大类
SRAM(Static RAM)
SRAM即静态RAM,读写速度非常快,但价格也较贵,用于CPU的一级缓冲,二级缓冲。
单片机中也有SRAM,如STM32F103VET6具有64K的SRAM,用于程序运行时变量、堆栈的暂存等,另外,还可通过FSMC接口来扩展外部SRAM,如1M字节的IS62WV51216外部SRAM芯片,用于需要大量数据计算的场合(跑算法、GUI)。
DRAM(Dynamic RAM)
即动态RAM,保留数据的时间很短,速度也比SRAM慢(但比任何的ROM快),计算机内存就是DRAM。
DRAM分为很多种,常见的主要有FPRAM/FastPage、EDORAM、SDRAM、DDR RAM、RDRAM、SGRAM以及WRAM等。
SDRAM(Synchronous Dynamic RAM)
同步动态随机存储器,主要不要误以为它是上面两种的组合!同步指存储器工作需要同步时钟,动态指刷新来保证数据不丢失,随机是指数据不是线性依次存储,而是自由指定地址进行数据读写。
DDR RAM
计算机内存条常说的DDR3、DDR4。
NAND Flash & NOR Flash
FLASH存储器又称闪存,它结合了ROM和RAM的长处,不仅具有电可擦除可编程(EEPROM)的功能,还不会断电丢失数据,同时可以快速读取数据(NVRAM的优势),U盘使用这种存储器。
Flash
如单片机中的flash,就是用于保存程序,如STM32F103VET6具有512K的Flash。
单片机还可以外接Flash,如W25Q128,16M大小,可用于保存图片等较大的数据,单片机通过SPI来读写其内容。
NOR Flash
它的读取和我们常见的SDRAM的读取是一样,用户可以直接运行装载在NOR FLASH里面的代码,这样可以减少SRAM的容量从而节约了成本。
NOR的特点是应用简单、无需专门的接口电路、传输效率高,它是属于芯片内执行(XIP, eXecute In Place),这样应用程序可以直接在(NOR型)flash闪存内运行,不必再把代码读到系统RAM中。在1~4MB的小容量时具有很高的成本效益,但是很低的写入和擦除速度大大影响了它的性能。
NAND Flash
NANDFlash的存储容量比NORFlash大,如K9F1208U08为64M。它没有采取内存的随机读取技术,而是以一次读取一块的形式来进行的,通常是一次读取512个字节,采用这种技术的Flash比较廉价。用户不能直接运行NAND Flash上的代码,因此好多使用NAND Flash的开发板除了使用NAND Flah以外,还配了一块小的NOR Flash来运行启动代码。
NAND结构能提供极高的单元密度,可以达到高存储密度,并且写入和擦除的速度也很快。应用NAND的困难在于flash的管理和需要特殊的系统接口。
两者对比
- NOR Flash的读取速度比NAND稍快一些。
- NAND Flash的写入速度比NOR快很多。
- NAND Flash的4ms擦除速度远比NOR的5s快。
- NAND Flash擦除单元更小,相应的擦除电路更少。
- NOR Flash带有SRAM接口,有足够的地址引脚来寻址,可以很容易的存取其内部的每一字节。
- NAND Flash使用复杂的I/O口串行存取数据,8个引脚用来传送控制、地址和数据信息,时序较复杂。
- NOR Flash一般容量较小,工艺较复杂,所以成本较高。
- NAND Flash的生产工较为简单,因此其容量较大,价格更低。
eMMC
eMMC (Embedded Multi Media Card),即嵌入式多媒体卡,是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC由Nand flash、Nand flash控制器以及标准接口封装组成。
a Card),即嵌入式多媒体卡,是MMC协会订立、主要针对手机或平板电脑等产品的内嵌式存储器标准规格。eMMC由Nand flash、Nand flash控制器以及标准接口封装组成。
嵌入式开发,各类存储方式知多少?相关推荐
- 嵌入式开发笔记-存储控制器
我是一个刚开始学习,嵌入式的小白,最近对协议接口和存储的控制器,有了小小的理解,首先第一点,程序是在存储控制器里面跑起来的,在驱动程里,对相关的驱动寄存器 进行赋值,调用相关的功能. 存储控制器基本理 ...
- 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式
上一篇跟各位童鞋介绍了SharedPreference 和 File流如何存储数据,并且推荐使用FileOutputStream/FileInputStream来存储咱们游戏数据,那么这一篇则是像大家 ...
- 嵌入式开发常用英语单词--你知多少?
如果说你英语不咋的,那很大可能说明你的IT水平也就那样,看看这些我们经常能碰到的熟悉的朋友(单词)吧,或许,你会想到更多. 嵌入式开发常用英语单词主要分为以下五大部分: 1.C语言和数据结构 2.Li ...
- 瑞芯微RK3399嵌入式开发板Wifi 驱动 build in 方式
RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数.浮点.内存等作了大幅优化,在整体性能.功耗及核心面积三个方面都具革命性提升 ...
- Spring Cloud应用开发(七:使用Git存储方式实现分布式配置管理 )
1.使用Git存储实现管理: 1.1.配置Git.在Git上创建microservice-study-config目录,并在目录中添加开发,预发布和测试的配置文件: 1.2.修改服务端配置文件.将mi ...
- iOS开发系列--C语言之存储方式和作用域
概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用 ...
- micropython是啥 知乎_嵌入式开发必备调试工具:Micro-Lab
在工作中,以什么样的方式向领导汇报工作最直接高效呢?当然是图形界面!图形界面更好表达一个程序设计的逻辑思维,一目了然,本次介绍的Micro-Lab出自风媒电子-赵工之手. 1.什么是Micro-Lab ...
- 嵌入式开发:安全嵌入式系统的5个要素—第5部分:安全存储
在嵌入式开发中,安全存储通常是系统中的一个内存位置,用于保护对加密密钥.用户和服务凭证以及其他系统数据等敏感数据的访问.安全存储可以在芯片上,例如在闪存库或RAM位置内,或者像NOR闪存芯片那样的外部 ...
- 嵌入式开发模拟器:qemu使用,仿真多种方式启动内核kernel (超详细,tftp/nfs等方式)
适用于: 想学习嵌入式开发,但又没有购买开发板的情况 开发测试阶段避免繁琐耗时下载到主板 便于调试驱动及内核 与外设关联不大时 环 境: vmare 15 pro ubuntu 18.04 qemu ...
最新文章
- ML之DR之PCA:利用PCA对手写数字图片识别数据集进行降维处理(理解PCA)
- openresty获取nginx原始的请求头内容
- ppt倒计时3分钟_PPT做的又慢又丑?花3分钟学会这5个PPT神技巧,快速做出好看PPT...
- HDU1231(最大连续子序列)
- java 先序遍历_二叉树的前序中序后序遍历(java代码)
- 可应用于实际的14个NLP突破性研究成果(三)
- 生命大发的意义 BY 几米
- 利用遗传算法演化一个棋类游戏的人工智能
- Android编程随机抽奖,js抽奖实现随机抽奖代码效果
- 计算机硬件安装装置,一种计算机硬件教学装置制造方法及图纸
- lqr matlab,MATLAB中的LQR函数用法
- Keil 编译显示变量重复定义问题
- 【Android Gradle 插件】Splits 配置 ③ ( Splits#density{} 脚本块配置 | 根据屏幕像素密度进行分包 | DensitySplitOptions 配置简介 )
- PHP7封装了str_ends_with, phper看了都说好
- 乳腺结节属于癌前病变吗?
- iOS汉字字符串转拼音
- 基于改进二进制粒子群算法的配电网重构(matlab实现)
- 区别:二次型、标准形、规范形
- 按键精灵 识别图片形状_精灵形状的2D世界建筑物简介
- css3摇骰子,css3实现掷骰子(无图)