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、SDRAMDDR 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控制器以及标准接口封装组成。

嵌入式开发,各类存储方式知多少?相关推荐

  1. 嵌入式开发笔记-存储控制器

    我是一个刚开始学习,嵌入式的小白,最近对协议接口和存储的控制器,有了小小的理解,首先第一点,程序是在存储控制器里面跑起来的,在驱动程里,对相关的驱动寄存器 进行赋值,调用相关的功能. 存储控制器基本理 ...

  2. 【Android游戏开发十三】(保存游戏数据 [下文])详解SQLite存储方式

    上一篇跟各位童鞋介绍了SharedPreference 和 File流如何存储数据,并且推荐使用FileOutputStream/FileInputStream来存储咱们游戏数据,那么这一篇则是像大家 ...

  3. 嵌入式开发常用英语单词--你知多少?

    如果说你英语不咋的,那很大可能说明你的IT水平也就那样,看看这些我们经常能碰到的熟悉的朋友(单词)吧,或许,你会想到更多. 嵌入式开发常用英语单词主要分为以下五大部分: 1.C语言和数据结构 2.Li ...

  4. 瑞芯微RK3399嵌入式开发板Wifi 驱动 build in 方式

     RK3399的CPU采用big.LITTLE大小核架构,双Cortex-A72大核+四Cortex-A53小核结构,对整数.浮点.内存等作了大幅优化,在整体性能.功耗及核心面积三个方面都具革命性提升 ...

  5. Spring Cloud应用开发(七:使用Git存储方式实现分布式配置管理 )

    1.使用Git存储实现管理: 1.1.配置Git.在Git上创建microservice-study-config目录,并在目录中添加开发,预发布和测试的配置文件: 1.2.修改服务端配置文件.将mi ...

  6. iOS开发系列--C语言之存储方式和作用域

    概述 基本上每种语言都要讨论这个话题,C语言也不例外,因为只有你完全了解每个变量或函数存储方式.作用范围和销毁时间才可能正确的使用这门语言.今天将着重介绍C语言中变量作用范围.存储方式.生命周期.作用 ...

  7. micropython是啥 知乎_嵌入式开发必备调试工具:Micro-Lab

    在工作中,以什么样的方式向领导汇报工作最直接高效呢?当然是图形界面!图形界面更好表达一个程序设计的逻辑思维,一目了然,本次介绍的Micro-Lab出自风媒电子-赵工之手. 1.什么是Micro-Lab ...

  8. 嵌入式开发:安全嵌入式系统的5个要素—第5部分:安全存储

    在嵌入式开发中,安全存储通常是系统中的一个内存位置,用于保护对加密密钥.用户和服务凭证以及其他系统数据等敏感数据的访问.安全存储可以在芯片上,例如在闪存库或RAM位置内,或者像NOR闪存芯片那样的外部 ...

  9. 嵌入式开发模拟器:qemu使用,仿真多种方式启动内核kernel (超详细,tftp/nfs等方式)

    适用于: 想学习嵌入式开发,但又没有购买开发板的情况 开发测试阶段避免繁琐耗时下载到主板 便于调试驱动及内核 与外设关联不大时 环 境: vmare 15 pro ubuntu 18.04 qemu ...

最新文章

  1. ML之DR之PCA:利用PCA对手写数字图片识别数据集进行降维处理(理解PCA)
  2. openresty获取nginx原始的请求头内容
  3. ppt倒计时3分钟_PPT做的又慢又丑?花3分钟学会这5个PPT神技巧,快速做出好看PPT...
  4. HDU1231(最大连续子序列)
  5. java 先序遍历_二叉树的前序中序后序遍历(java代码)
  6. 可应用于实际的14个NLP突破性研究成果(三)
  7. 生命大发的意义 BY 几米
  8. 利用遗传算法演化一个棋类游戏的人工智能
  9. Android编程随机抽奖,js抽奖实现随机抽奖代码效果
  10. 计算机硬件安装装置,一种计算机硬件教学装置制造方法及图纸
  11. lqr matlab,MATLAB中的LQR函数用法
  12. Keil 编译显示变量重复定义问题
  13. 【Android Gradle 插件】Splits 配置 ③ ( Splits#density{} 脚本块配置 | 根据屏幕像素密度进行分包 | DensitySplitOptions 配置简介 )
  14. PHP7封装了str_ends_with, phper看了都说好
  15. 乳腺结节属于癌前病变吗?
  16. iOS汉字字符串转拼音
  17. 基于改进二进制粒子群算法的配电网重构(matlab实现)
  18. 区别:二次型、标准形、规范形
  19. 按键精灵 识别图片形状_精灵形状的2D世界建筑物简介
  20. css3摇骰子,css3实现掷骰子(无图)

热门文章

  1. python爬取同花顺_python 爬虫--同花顺-使用代理
  2. 如何在AidLearning中快速开发人脸识别APP
  3. 课程实验 【八路抢答器】
  4. python加密打包
  5. python快速写入sql
  6. 【案例分享】华人运通运用Tracker实现高效团队合作
  7. 分布式数据库九大发展趋势|文末附完整报告下载
  8. C语言报告多少字,一个统计字数的程序
  9. 怎么进行:URLEncode编码 与 URLDecode解码
  10. 这一篇让你弄懂线性表的链式存储结构