• 【STM32】常用存储器


    常用存储器

    在这里插入图片描述

    RAM 存储器

    RAM 是“Random Access Memory”的缩写,被译为随机存储器。所谓“随机存取”,指的是当存储器中的消息被读取或写入时,所需要的时间与这段信息所在的位置无关。而RAM可随读取其内部任意地址的数据,时间都是相同的,因此得名。实际上现在RAM已经专门用于指代作为计算机内存的易失性半导体存储器。
    根据 RAM 的存储机制,又分为动态随机存储器 DRAM(Dynamic RAM)以及静态随机存储器 SRAM(Static RAM)两种。

    实际应用场合中,SRAM 一般只用于 CPU 内部的高速缓存(Cache),而外部扩展的内存一般使用 DRAM。在 STM32 系统的控制器中,只有 STM32F429 型号或更高级的芯片才支持扩展 SDRAM,其它型号如 STM32F1、STM32F2 及 STM32F407 等型号只能扩展SRAM。

    DRAM

    RAM的一种,需要电荷刷新,掉电数据丢失,动态随机存储器 Dynamic RAM 的存储单元以电容的电荷来表示数据,有电荷代表 1,无电荷代表 0。

    SDRAM

    在这里插入图片描述

    DRAM的一种,使用时钟同步进行刷新。由于使用时钟同步的通讯速度更快,所以SDRAM 使用更为广泛,这种 DRAM 被称为 SDRAM(Synchronous DRAM)。

    DDR SDRAM

    Double Data Rate SDRAM 进一步提高 SDRAM 的通讯速度,DDR SDRAM 在时钟的上升沿及下降沿各表示一个数据,也就是说在 1 个时钟周期内可以表示 2 位数据,在时钟频率同样的情况下,提高了一倍的速度.

    SRAM

    相对于DRAM电路结构不需要定时刷新充电,就能保持状态(当然,如果断电了,数据还是会丢失的)。
    同样地,SRAM 根据其通讯方式也分为同步(SSRAM)和异步 SRAM,相对来说,异步SRAM 用得比较广泛

    ROM 存储器

    Read Only Memory,原指只读存储器,后设计出方便写入的存储器,现在一般用于指代非易失性半导体存储器,包括FLASH 存储器,有些人也把它归到 ROM 类里边。

    MASK ROM 不可修改

    MASK(掩膜) ROM 就是正宗的“Read Only Memory”,存储在它内部的数据是在出厂时使用特殊工艺固化的,生产后就不可修改,其主要优势是大批量生产时成本低。当前在生产量大,数据不需要修改的场合,还有应用。

    OTPROM 可修改一次

    OTPROM(One Time Programable ROM)是一次可编程存储器。这种存储器出厂时内部并没有资料,用户可以使用专用的编程器将自己的资料写入,但只能写入一次,被写入过后,它的内容也不可再修改。在 NXP 公司生产的控制器芯片中常使用 OTPROM 来存储密钥或设备独有的 mac 地址等内容。

    EPROM 可重复擦写的存储器(基本不用)

    EPROM(Erasable Programmable ROM)是可重复擦写的存储器,它解决了 PROM 芯片只能写入一次的问题。这种存储器使用紫外线照射芯片内部擦除数据,擦除和写入都要专用的设备。现在这种存储器基本淘汰,被 EEPROM 取代。

    EEPROM 电可重复擦除 单字节写入

    EEPROM(Electrically Erasable Programmable ROM)是电可擦除存储器。EEPROM 可以重复擦写,它的擦除和写入都是直接使用电路控制,不需要再使用外部设备来擦写。而且可以按字节为单位修改数据,无需整个芯片擦除。现在主要使用的 ROM 芯片都是EEPROM。

    FLASH 存储器

    1.可重复擦写
    2.的容量一般比 EEPROM 大得多
    3.在擦除时,一般以多个字节为单位,一个扇区
    4.FLASH 存储器又分为 NOR FLASH 和 NAND FLASH

    NOR 、NAND FLASH (地址线数据线是否复用,能不能以单字节读取

    在这里插入图片描述
    NOR与 NAND 的共性是在数据写入前都需要有擦除操作,而擦除操作一般是以“扇区
    /块”为单位的。而 NOR 与 NAND 特性的差别,主要是由于其内部“地址/数据线”是否分 开.

    于 NOR 的地址线和数据线分开,它可以按“字节”读写数据,符合 CPU 的指令译码执行要求,所以假如 NOR 上存储了代码指令,CPU 给 NOR 一个地址,NOR就能向 CPU返回一个数据让 CPU 执行,中间不需要额外的处理操作。

    于 NAND 的数据和地址线共用,只能按“块”来读写数据,假如 NAND上存储了代码指令,CPU 给 NAND 地址后,它无法直接返回该地址的数据,所以不符合指令译码要求。若代码存储在 NAND 上,可以把它先加载到 RAM 存储器上,再由 CPU 执行。

    在功能上可以认为 NOR是一种断电后数据不丢失的 RAM,但它的擦除单位与 RAM有区别,且读写速度比 RAM 要慢得多。

    NOR FLASH 一般应用在代码存储的场合,如嵌入式控制器内部的程序存储空间。而NAND FLASH一般应用在大数据量存储的场合,包括SD 卡、U 盘以及固态硬盘等,都是 NAND FLASH 类型的。

  • 相关阅读:
    Selenium —— 网页frame与多窗口处理!
    【深度学习】 Python 和 NumPy 系列教程(七):Python函数
    为什么OpenCV计算的帧率是错误的?
    既然有了量化交易,技术分析还有存在的必要么?有专门收割自动交易系统的策略吗?
    第六章:跨域和JSONP
    【Java技术专题】「并发编程系列」深入分析线程池的工作原理(上篇)
    QStandardPaths
    【毕业设计】30-基于单片机矿井瓦斯_气体浓度_烟雾浓度报警设计(原理图+源代码+仿真+答辩论文+答辩PPT)
    在VS2015中安装Qt环境
    C++ 使用vector,vector中元素是pair的排序方法
  • 原文地址:https://blog.csdn.net/apythonlearner/article/details/132759308