【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 类型的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/130401.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React 消息文本循环展示

需求 页面上有个小喇叭,循环展示消息内容 逻辑思路 设置定时器,修改translateX属性来实现滚动,判断滚动位置,修改list位置来实现无限滚动 实现效果 代码 /** Author: Do not edit* Date: 2023-09-07 11:11:45* LastEditors: …

chrome 谷歌浏览器 导出插件拓展和导入插件拓展

给同事部署 微软 RPA时,需要用到对应的chrome浏览器插件;谷歌浏览器没有外网是不能直接下载拓展弄了半小时后才弄好,竟发现没有现成的教程,遂补充; 如何打包导出 谷歌浏览器 地址栏敲 chrome://extensions/在对应的地…

使用Pyarmor保护Python脚本不被反向工程

Python可读性强,使用广泛。虽然这种可读性有利于协作,但也增加了未授权访问和滥用的风险。如果未采取适当的保护,竞争对手或恶意攻击者可以复制您的算法和专有逻辑,这将对您软件的完整性和用户的信任产生负面影响。 实施可靠的安…

负载均衡-ribbon源码解析

负载均衡-ribbon源码解析 1 LoadBalanced注解 /*** 基于ribbon调用服务及负载均衡* return*/ LoadBalanced Bean public RestTemplate restTemplate(){return new RestTemplate(); }Bean ConditionalOnMissingBean public RestTemplateCustomizer restTemplateCustomizer(fin…

【Java】传输层协议TCP

传输层协议TCP TCP报文格式首部长度保留位32位序列号和32位确认应答号标记ACKSYNFINRSTURGPSH 16位窗口大小16位校验和16位紧急指针选项 TCP特点可靠传输实现机制-确认应答超时重传连接管理机制三次握手四次挥手特殊情况 滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘…

RuoYi若依管理系统最新版 基于SpringBoot的权限管理系统

RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。 本…

数据结构:线性表(栈的实现)

文章目录 1. 栈(Stack)1.1 栈的概念1.2 栈的结构链表栈数组栈 2. 栈的定义3. 栈的实现3.1 初始化栈 (StackInit)3.2 入栈 (StackPush)3.3 出栈 (StackPop)3.4 检测栈是否为空 (StackEmpty)3.5 获取栈顶元素 (StackTop)3.6 获取栈中有效元素个数 (StackSize)3.7 销毁栈 (StackDe…

蓝桥杯官网练习题(纸牌三角形)

题目描述 本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。 A,2,3,4,5,6,7,8,9 共 99 张纸牌排成一个正三角形(A 按 1 计算)。要求每个边的和相等。 下图就是一种排法。 这样的排法可能会有很多。 如果…

Docker-安装(Linux,Windows)

目录 前言安装版本Docker版本说明前提条件Linux安装使用YUM源部署获取阿里云开源镜像站YUM源文件安装Docker-ce配置Docker Daemon启动文件启动Docker服务并查看已安装版本 使用二进制文件部署 Windows安装实现原理安装步骤基本使用 参考说明 前言 本文主要说明Docker及其相关组…

Mac brew -v 报错 fatal: detected dubious ownership in repository

Mac 电脑查询 brew版本时报错,如下错误: Last login: Fri Sep 8 14:56:21 on ttys021 sunshiyusunshiyudeMacBook-Pro-2 ~ % brew -v Homebrew 4.0.3-30-g7ac31f7 fatal: detected dubious ownership in repository at /usr/local/Homebrew/Library/Ta…

C++面向对象

C面向对象知识 内存字节对齐 #pragma pack(n) 表示的是设置n字节对齐,windows默认是8字节,linux是4字节,鲲鹏是4字节 struct A{char a;int b;short c; };char占一个字节,起始偏移为零,int占四个字节,min(8,4)4&#x…

计算机毕设之基于Hadoop+springboot的物品租赁系统的设计与实现(前后端分离,内含源码+文档+教程)

该系统基于Hadoop平台,利用Java语言、MySQL数据库,结合目前流行的 B/S架构,将物品租赁管理的各个方面都集中到数据库中,以便于用户的需要。在确保系统稳定的前提下,能够实现多功能模块的设计和应用。该系统由管理员功能…

小白备战大厂算法笔试(六)——堆

文章目录 堆常用操作堆的实现存储与表示访问堆顶元素元素入堆元素出堆 常见应用建堆操作自上而下构建自下而上构建 TOP-K问题遍历选择排序堆 堆 堆是一种满足特定条件的完全二叉树,主要可分为下图所示的两种类型。 大顶堆:任意节点的值 ≥ 其子节点的值…

Android MeidiaCodec之OMXPluginBase与QComOMXPlugin实现本质(四十)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药. 更多原创,欢迎关注:Android…

tomcat的优化

TOMCAT的优化 tomcat的优化主要是从三个方面进行的,第一个是 tomcat配置的优化第二是对JVM虚拟机的优化第三是对Linux系统内核的优化,配置文件中的优化主要在tomcat中server.xml文件夹内 tomcat配置文件的优化 1、 maxThreads: Tomcat 使用…

Java笔记:线程池

一. 正确使用ThreadPoolExecutor创建线程池 1.1、基础知识 Executors创建线程池便捷方法列表:下面三个是使用ThreadPoolExecutor的构造方法创建的 方法名功能newFixedThreadPool(int nThreads)创建固定大小的线程池newSingleThreadExecutor()创建只有一个线程的线…

HTML5Plus

之前写过在 vue 中使用 mui 框架的方法,因为用 vue 开发后打包 5App 会有一些问题,所以当时用到了,最近又一次开发移动端,不同的是这次使用的是 vue3 开发的,导致之前使用的 vue-awesome-mui 依赖不能使用了&#xff0…

java 工程管理系统源码+项目说明+功能描述+前后端分离 + 二次开发

Java版工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离 功能清单如下: 首页 工作台:待办工作、消息通知、预警信息,点击可进入相应的列表 项目进度图表:选择(总体或单个)项目显示…

华为OD机考算法题:分奖金

题目部分 题目分奖金难度难题目说明公司老板做了一笔大生意,想要给每位员工分配一些奖金,想通过游戏的方式来决定每个人分多少钱。按照员工的工号顺序,每个人随机抽取一个数字。按照工号的顺序往后排列,遇到第一个数字比自己数字…

YOLOv5:对yolov5n模型进一步剪枝压缩

YOLOv5:对yolov5n模型进一步剪枝压缩 前言前提条件相关介绍具体步骤修改yolov5n.yaml配置文件单通道数据(黑白图片)修改models/yolo.py文件修改train.py文件 剪枝后模型大小 参考 前言 由于本人水平有限,难免出现错漏,…