当前位置: 首页 > 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…...

日语AI面试高效通关秘籍:专业解读与青柚面试智能助攻

在如今就业市场竞争日益激烈的背景下&#xff0c;越来越多的求职者将目光投向了日本及中日双语岗位。但是&#xff0c;一场日语面试往往让许多人感到步履维艰。你是否也曾因为面试官抛出的“刁钻问题”而心生畏惧&#xff1f;面对生疏的日语交流环境&#xff0c;即便提前恶补了…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

STM32标准库-DMA直接存储器存取

文章目录 一、DMA1.1简介1.2存储器映像1.3DMA框图1.4DMA基本结构1.5DMA请求1.6数据宽度与对齐1.7数据转运DMA1.8ADC扫描模式DMA 二、数据转运DMA2.1接线图2.2代码2.3相关API 一、DMA 1.1简介 DMA&#xff08;Direct Memory Access&#xff09;直接存储器存取 DMA可以提供外设…...

376. Wiggle Subsequence

376. Wiggle Subsequence 代码 class Solution { public:int wiggleMaxLength(vector<int>& nums) {int n nums.size();int res 1;int prediff 0;int curdiff 0;for(int i 0;i < n-1;i){curdiff nums[i1] - nums[i];if( (prediff > 0 && curdif…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

代理篇12|深入理解 Vite中的Proxy接口代理配置

在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...

html css js网页制作成品——HTML+CSS榴莲商城网页设计(4页)附源码

目录 一、&#x1f468;‍&#x1f393;网站题目 二、✍️网站描述 三、&#x1f4da;网站介绍 四、&#x1f310;网站效果 五、&#x1fa93; 代码实现 &#x1f9f1;HTML 六、&#x1f947; 如何让学习不再盲目 七、&#x1f381;更多干货 一、&#x1f468;‍&#x1f…...

基于Java+MySQL实现(GUI)客户管理系统

客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息&#xff0c;对客户进行统一管理&#xff0c;可以把所有客户信息录入系统&#xff0c;进行维护和统计功能。可通过文件的方式保存相关录入数据&#xff0c;对…...