当前位置: 首页 > news >正文

3.4 只读存储器

 

学习目标:

学习只读存储器(ROM)的目标可以包括以下内容:

  1. 了解ROM的基本概念、分类以及适用场景。
  2. 掌握ROM的电路原理、逻辑结构和读取方式。
  3. 熟悉ROM的编程方式和编程工具。
  4. 理解ROM与EPROM、EEPROM和闪存的区别和联系。
  5. 了解ROM在计算机系统中的应用场景和作用。
  6. 掌握ROM的技术指标和性能评估方法。
  7. 理解ROM在嵌入式系统设计中的应用和实践案例。

通过以上学习目标的学习和掌握,可以全面了解ROM的相关知识和技术,为后续的计算机系统设计和嵌入式系统开发提供基础和支持。

学习步骤:

学习只读存储器(ROM)的方法可以包括以下步骤:

1. 了解ROM的基本概念和特点:了解ROM与RAM的区别,掌握ROM的存储原理、读取方式、编程方法以及应用领域等基本概念和特点。

2. 学习ROM的种类和结构:掌握ROM的种类、结构、容量和速度等主要技术指标,了解各种ROM的工作原理、优缺点和适用场景。

3. 学习ROM的编程方式和过程:了解ROM的编程方式,包括刻录和烧录两种方式,掌握各种ROM的编程过程和注意事项。

4. 学习ROM的应用:了解ROM在各个领域的应用,如微控制器、存储芯片、计算机BIOS等。

5. 进行实践操作:通过购买或使用ROM编程器,学习如何对ROM进行编程和读取操作,并在实践中加深理解。

6. 阅读相关文献:阅读相关书籍、论文、文章和技术资料,了解ROM的最新研究进展和应用案例,不断拓展对ROM的认识和应用。

7. 参加相关培训或课程:参加相关培训或课程,深入了解ROM的理论和实践知识,提高ROM应用技能和实际应用能力。

总之,学习只读存储器需要系统学习理论知识,同时加强实践操作,不断深化对ROM的理解和应用能力。

 

3.4.1 只读存储器概述

只读存储器(Read-Only Memory,ROM)是一种只能读取数据而不能写入的存储器。它是一种非易失性存储器,通常用于存储程序、固件、配置信息等数据。

ROM的数据是在制造过程中被预设的,因此它不能像RAM一样被程序写入和修改。ROM的读取速度通常比RAM慢,但是它具有很高的可靠性和稳定性,因为它不会因为断电而失去数据。

ROM的主要分类包括以下几种:

  1. Mask ROM:它是制造时被编程的ROM,也称为固定程序ROM。在生产过程中,使用特殊的工具来编程,一旦编程就不能再修改。它的优点是速度快,可靠性高,但缺点是一旦生产就不能修改,所以只适用于大量生产的产品中。

  2. PROM:PROM是可编程只读存储器(Programmable Read-Only Memory)的缩写,是由用户自行编程的ROM。在生产过程中,使用特殊的编程器将数据写入PROM,一旦编程就不能再修改。与Mask ROM相比,PROM可以在生产之后进行编程,但缺点是编程速度慢,容易受到紫外线的影响而失去数据。

  3. EPROM:EPROM是可擦除可编程只读存储器(Erasable Programmable Read-Only Memory)的缩写。它可以通过紫外线来擦除,使得EPROM可以被重复编程。EPROM的擦除需要特殊的设备,擦除时间比较长,而且擦除次数有限。

  4. EEPROM:EEPROM是可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory)的缩写,与EPROM相比,它可以通过电子信号来擦除。EEPROM的擦除速度比EPROM快,而且可以擦除次数更多,但是价格更高。

  5. Flash Memory:Flash Memory是一种特殊的EEPROM,它可以一次性擦除整个芯片,而不是像EEPROM一样只能擦除一部分。Flash Memory具有快速读取速度,容量大,擦除次数多等特点,因此在存储器领域被广泛使用。

总的来说,只读存储器具有不可修改的特性,但是具有高可靠性和稳定性的优点,广泛应用于嵌入式系统、计算机外围设备、智能卡等领域。

 

 

3.4.2 NOR内存

NOR闪存是一种非易失性存储器,常用于存储代码和数据,例如手机、相机、音乐播放器等设备中的存储芯片。与传统的EPROM和EEPROM不同,闪存可以被电擦除并重写,具有更高的密度和更长的寿命。

下面是NOR闪存的一些主要特点:

  1. NOR闪存的逻辑结构:每个NOR闪存芯片包含多个块,每个块包含多个扇区,每个扇区包含多个页,每个页包含多个字节。

  2. NOR闪存的读取:读取NOR闪存中的数据需要通过地址和时序信号来访问存储单元。读取速度相对较慢,但是支持随机读取。

  3. NOR闪存的编程:编程是将数据写入存储单元的过程。由于闪存芯片的特殊结构,编程需要将整个块擦除并重写,因此编程速度较慢。

  4. NOR闪存的擦除:擦除是将存储单元中的数据清除为初始状态的过程。与编程类似,擦除也需要将整个块清除,因此速度相对较慢。

  5. NOR闪存的可靠性:由于闪存的特殊结构和工作方式,NOR闪存有一些独特的可靠性问题,如写入时的错误、擦除时的漏洞、累积擦写次数的限制等。

总的来说,NOR闪存是一种可靠的非易失性存储器,具有随机读取和高密度等优点,但是编程和擦除速度相对较慢,同时也有一些可靠性问题需要注意。

 

 

1.NOR内存的外部接口与逻辑结构

NOR闪存是一种非易失性存储器,可以用作代码存储器、数据存储器和固件存储器。它采用并行存储的方式,因此访问速度比串行存储器快,适用于需要快速访问的应用。

NOR闪存的外部接口通常包括地址总线、数据总线、控制信号等。在读取数据时,首先需要提供所需数据的地址,然后在数据总线上读取数据。在写入数据时,需要提供要写入的数据和目标地址。

NOR闪存的逻辑结构由一系列存储单元组成,每个存储单元包含一个字节或多个字节的数据。这些存储单元按照类似于RAM的方式进行编址,并且可以被随机访问。

NOR闪存的逻辑结构也包括一些特殊的区域,如引导扇区和保留扇区。引导扇区通常用于存储引导代码,而保留扇区可以用于存储特殊的数据或配置信息。

总的来说,NOR闪存的外部接口和逻辑结构相对简单,但其读取速度比较慢,而且对于大容量存储需要占用较大的物理空间。因此,NOR闪存通常用于对速度要求较高、容量较小的应用中。

 

 

 2.NOR内存的区块划分

NOR闪存的逻辑结构可以划分为多个块,每个块可以独立擦除和编程。块的大小通常是64KB或128KB,可以由闪存厂商定义和决定。

通常情况下,NOR闪存的块划分为以下几个区域:

  1. Boot Block:用于存储引导程序。通常大小为16KB或32KB。
  2. Parameter Block:用于存储设备参数,如硬件配置信息、序列号等。通常大小为16KB。
  3. Main Block:主要用于存储程序代码和数据,是最大的存储区域。
  4. Spare Block:备用块,主要用于备份关键数据,如文件系统的元数据等。

这些块的划分可以根据实际需求进行定制,不同厂商可能会有不同的划分方式。

 

 

 总结:

只读存储器(ROM)是一种用于存储程序和数据的非易失性存储器,其内容在生产时被编程,无法被擦除或修改。以下是只读存储器的重点和难点以及易错点:

重点:

  • 只读存储器是一种非易失性存储器,通常用于存储固定的程序代码和数据。
  • 只读存储器的内容在生产时被编程,无法被擦除或修改。
  • 只读存储器的访问速度较快,但容量较小。
  • 只读存储器有多种类型,如ROM、PROM、EPROM和EEPROM等。

难点:

  • 只读存储器的内容是固定的,无法修改,因此需要在设计和生产阶段确定好存储的内容,这需要对存储的需求有清晰的了解和预判。
  • 只读存储器的编程和生产成本较高,因此需要仔细考虑设计和生产成本的平衡。

易错点:

  • 在使用只读存储器时,需要确保正确的引脚接线,以避免读取或写入错误的存储位置。
  • 只读存储器的容量通常较小,如果存储需求超过容量,则需要考虑其他存储器类型或数据压缩等方法。
  • 如果使用EEPROM存储器,需要注意其擦除和编程的次数限制,避免过度使用而导致存储器失效。

 

相关文章:

3.4 只读存储器

学习目标: 学习只读存储器(ROM)的目标可以包括以下内容: 了解ROM的基本概念、分类以及适用场景。掌握ROM的电路原理、逻辑结构和读取方式。熟悉ROM的编程方式和编程工具。理解ROM与EPROM、EEPROM和闪存的区别和联系。了解ROM在计…...

从后端开发转大数据开发怎么样?

很多做后端的小伙伴,在某一个瞬间,都想转行大数据,那这种想法可行嘛? 转大数据的最初原因很简单,就是好几个同事都转了,他们的收入瞬间提高了好多,于是在同事的内推我也就跟着转了,…...

编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误?

重写push与replace方法 编程式导航路由跳转到当前路由(参数不变),多次执行会抛出NavigatorDuplicated的禁告错误? 路由跳转有俩种形式:声明式导航,编程式导航 声明式导航没有这类问题的,因为…...

AppArmor无内核及系统日志的问题及解决

在AppArmor中,正常情况下,一旦违反了规则,是能够在内核及系统日志中看到相关信息的。比如:在Ubuntu下正常产生的日志信息(示例)如下: kernel: [140321.028000] audit(1191433716.584:1578): t…...

本地更改配置ssh密钥和更改github网址

配置 SSH 密钥以进行身份验证,可以遵循以下步骤: 生成SSH密钥 打开 Git Bash 终端 在 Windows 上,可以打开 Git Bash 终端。通常,可以在开始菜单中搜索 Git Bash 并启动它。一旦打开了 Git Bash 终端,将进入一个基于…...

MATLAB函数封装2:QT调用封装函数

在利用MATLAB进行封装函数之后,最主要的目的是对函数进行调用,能够对矩阵运算和其他算法的运行进行快捷处理。 在有了MATLAB函数之后封装成DLL文件之后,在QT中添加动态链接库,就可以实现函数的调用过程,这个过程相对简…...

AJAX和JSON

1、什么是AJAX? AJAX(ASynchronous JavaScript And XML)异步的JavaScript 和 XML; 由Jesse James Garrett 在他的文章AJAX:A New Approoch to Web Applications中首次提出。 ajax(Web数据交互方式)_百…...

源码:SharedPreferences分析

一、持久化方式: DataStore:稳定性 MMKV:效率 SharedPreferneces 区别: 功能MMKVJetpack DataStoreSharedPreferneces是否阻塞主线程否否是是否线程安全是 是 是是否支持跨进程是否否是否类型…...

大二一个学期学这么点内容,没有概念,只有实操

如何查看所有的数据库: Show databases; 如何进入某个数据库: use xxx; 如何新进数据库: Create database jx; 如何删除数据库: Drop database jx; 如何查看所有的表格: Show tables; 如何创建数据表&#xf…...

AppWeb 身份验证绕过漏洞 (CVE-2018-8715)

当前漏洞环境部署在vulhub,当前验证环境为vulhub靶场(所有实验均为虚拟环境) 实验环境:攻击机----kali 靶机:centos7 1、进入靶场,启动环境 2、访问AppWeb控制台:http://your-ip:8080 使用用户名、密码adm…...

为什么监控摄像头画面不如手机拍摄视频画面清晰

一天和一个做餐饮的朋友吃饭聊天,他提出一个问题,几百块的监控摄像头就是纯粹做监控功能 ,视频拍摄的画面为什么还没有几百元的手机拍摄的视频画面清晰,对于此特意查了一下技术资料,整理一下,以备下次再详细…...

EU GMP附录一与关键区域空气微生物取样方案及相关法规标准解读

2022版EU GMP附录一与关键区域空气微生物取样方案疑问解答 3月30日2022版EU GMP附录一与关键区域空气微生物取样方案网络研讨会期间,我们收集到了部分参会听众针对该主题所提出的常见问题。根据以下这些问题,lighthouse微生物应用专家将来为您答疑解惑。…...

【软件测试】自动化测试日志问题该怎么解决?测试老鸟总结方案...

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 Python自动化测试&…...

快速响应 智慧应急|大势智慧亮相第三届武汉国际安全应急博览会

4月26日至4月28日,第三届武汉国际安全应急博览会(后简称“应博会”)在湖北武汉顺利举办。本次展会,大势智慧以实时三维重建能力为核心,提供各类应急场景的技术支撑,助力应急处置和救援等方面的应用。 展会…...

MySQL数据库——MySQL DELETE:删除数据

在 MySQL 中&#xff0c;可以使用 DELETE 语句来删除表的一行或者多行数据。 删除单个表中的数据 使用 DELETE 语句从单个表中删除数据&#xff0c;语法格式为&#xff1a; DELETE FROM <表名> [WHERE 子句] [ORDER BY 子句] [LIMIT 子句] 语法说明如下&#xff1a; …...

管家婆安装导致电脑蓝屏问题解决方案

安装完管家婆后&#xff0c;电脑蓝屏&#xff0c;重启还是蓝屏&#xff0c;这该怎么办&#xff1f; 导致的原因&#xff1a;因加密狗驱动不适配于Windows10系统&#xff0c;导致电脑蓝屏 修复方案&#xff1a;进入电脑安全模式&#xff08;怎么进入问度娘&#xff09;&#…...

Compiler Lab1- 自制词法分析器

由于编译原理课的Lab1为自制词法分析器&#xff0c;所以笔者用C实现了一个极简的C语言词法分析器&#xff0c;用于分析C语言源代码。它可以处理关键字、标识符、整数、实数、浮点数的科学计数法表示、运算符、分隔符、字符串字面量、字符字面量、注释和预处理指令。请注意&…...

构建API的战斗——与来自Kong的Marco Palladino的问答

Kong是一个开源的API网关&#xff0c;可用于管理、安全性和监视微服务和API的所有流量。以下是Kong官方网站的介绍&#xff1a; Kong是一个云原生、快速、可扩展的分布式微服务抽象层&#xff08;也称为API网关、API中枢、API发布器或API服务的网关&#xff09;。 Kong即可充当…...

华为OD机试 - 对称美学(Python)

题目描述 对称就是最大的美学,现有一道关于对称字符串的美学。已知: 第1个字符串:R 第2个字符串:BR 第3个字符串:RBBR 第4个字符串:BRRBRBBR 第5个字符串:RBBRBRRBBRRBRBBR 相信你已经发现规律了,没错!就是第 i 个字符串 = 第 i - 1 号字符串取反 + 第 i - 1 号字符…...

argparse.ArgumentParser

文章目录 argparse.Namespace() Python参数解析工具argparse.ArgumentParser()和实例详解 创建解析器 parserargparse.ArgumentParser() 添加参数 parser.add_argument(name or flags…[, action][, nargs][, const][, default][, type][, choices][, required][, help][, meta…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞&#xff01;&#xff01;&#xff01; 抽象 现代智能交通系统 &#xff08;ITS&#xff09; 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 &#xff08;…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

Chrome 浏览器前端与客户端双向通信实战

Chrome 前端&#xff08;即页面 JS / Web UI&#xff09;与客户端&#xff08;C 后端&#xff09;的交互机制&#xff0c;是 Chromium 架构中非常核心的一环。下面我将按常见场景&#xff0c;从通道、流程、技术栈几个角度做一套完整的分析&#xff0c;特别适合你这种在分析和改…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...

大数据治理的常见方式

大数据治理的常见方式 大数据治理是确保数据质量、安全性和可用性的系统性方法&#xff0c;以下是几种常见的治理方式&#xff1a; 1. 数据质量管理 核心方法&#xff1a; 数据校验&#xff1a;建立数据校验规则&#xff08;格式、范围、一致性等&#xff09;数据清洗&…...

TCP/IP 网络编程 | 服务端 客户端的封装

设计模式 文章目录 设计模式一、socket.h 接口&#xff08;interface&#xff09;二、socket.cpp 实现&#xff08;implementation&#xff09;三、server.cpp 使用封装&#xff08;main 函数&#xff09;四、client.cpp 使用封装&#xff08;main 函数&#xff09;五、退出方法…...

用js实现常见排序算法

以下是几种常见排序算法的 JS实现&#xff0c;包括选择排序、冒泡排序、插入排序、快速排序和归并排序&#xff0c;以及每种算法的特点和复杂度分析 1. 选择排序&#xff08;Selection Sort&#xff09; 核心思想&#xff1a;每次从未排序部分选择最小元素&#xff0c;与未排…...

当下AI智能硬件方案浅谈

背景&#xff1a; 现在大模型出来以后&#xff0c;打破了常规的机械式的对话&#xff0c;人机对话变得更聪明一点。 对话用到的技术主要是实时音视频&#xff0c;简称为RTC。下游硬件厂商一般都不会去自己开发音视频技术&#xff0c;开发自己的大模型。商用方案多见为字节、百…...

今日行情明日机会——20250609

上证指数放量上涨&#xff0c;接近3400点&#xff0c;个股涨多跌少。 深证放量上涨&#xff0c;但有个小上影线&#xff0c;相对上证走势更弱。 2025年6月9日涨停股主要行业方向分析&#xff08;基于最新图片数据&#xff09; 1. 医药&#xff08;11家涨停&#xff09; 代表标…...