ROM、RAM、FLASH区别

news2024/10/7 16:18:36

文章目录

  • 一、ROM
  • 二、RAM
  • 三、FLASH
  • 四、单片机程序大小计算
    • 1、Keil/MDK

一、ROM

       ROM(Read Only Memory)只读存储器。是一种半导体内存,其特性是一旦储存资料就无法再将之改变或删除。通常用在不需经常变更资料的电子或电脑系统中,资料并且不会因为电源关闭而消失。只能读出事先所存数据的固态半导体存储器。ROM所存数据,一般是装入整机前事先写好的,整机工作过程中只能读出,而不像随机存储器那样能快速地、方便地加以改写。ROM所存数据稳定 ,断电后所存数据也不会改变;其结构较简单,读出较方便,因而常用于存储各种固定程序和数据。除少数品种的只读存储器(如字符发生器)可以通用之外,不同用户所需只读存储器的内容不同。ROM分类:

  • PROM: 可编程一次性(无法修改的ROM)。
  • EPROM: 紫外线可擦除可编程的ROM。
  • EEPROM: 电子可擦除可编程的ROM。

二、RAM

       RAM(Random Access Memory)随机存取存储器。是与CPU直接交换数据的内部存储器;存储单元的内容可按需随意取出或存入,且存取的速度与存储单元的位置无关的存储器。这种存储器在断电时将丢失其存储内容,故主要用于存储短时间使用的程序。RAM最大的特点是存储读取的速度非常快,比ROM高出很多。CPU(中央处理器)在执行程序时需要先将指令和数据调入到RAM中,从而保证计算速度。RAM分类:

  • SRAM: 静态RAM。SRAM速度非常快,不需要刷新电路即能保存数据,是目前最快的存储设备。
  • DRAM: 动态RAM。DRAM保留数据的时间很短,需要内存刷新电路,每隔一段时间,刷新充电一次,否则数据会消失。

ROM在系统停止供电的时候仍然可以保持数据,而RAM通常都是在掉电之后就丢失数据。

三、FLASH

       FLASH EEPROM,闪存。它是EEPROM的一种。它结合了ROM和RAM的长处。不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据。它于EEPROM的最大区别是,FLASH按扇区(block)操作,而EEPROM按照字节操作。FLASH的电路结构较简单,同样容量占芯片面积较小,成本自然比EEPROM低,因此适合用于做程序存储器。

四、单片机程序大小计算

       单片机的FLASH有4K的,有8K的,单片机程序写好并编译后生成hex文件,这个hex文件就是要下载到单片机里的文件,这个文件的大小不能超过单片机的FLASH大小,否则就要优化程序或者选用更大FLASH的单片机。
在这里插入图片描述

       hex文件的大小并不是单片机程序真正的占用FLASH的空间大小,在使用编译工具编译成功后,一般会有提示。

1、Keil/MDK

       通过Keil编译单片机程序成功后,会有如下提示:
在这里插入图片描述

  • Code: 表示所要执行的代码,程序中所有的函数。
  • RO-data: (Read Only Data)表示只读数据,程序中所定义的全局常量数据。
  • RW-data: (Read And Write Data)表示已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量。
  • ZI-data: (Zero Initial Data)表示定义了但未初始化的可读写数据,程序中定义了但没有初始化的全局变量和静态变量(就是程序中用到的并且被系统初始化为0的变量,Keil编译器默认是把没有初始化的变量都赋值一个0,这些变量在程序运行时是保存在RAM中的)。

通过上面的描述就可以看出:

  • 下载到单片机FLASH的程序是:Code + RO-data + RW-data
  • 运行在RAM中的数据是:RW-data + ZI-data

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

性能测试的核心原理

性能测试的核心原理 1 基于协议,前后端交互机制,性能核心。基于界面决定和前端用户交互,基于代码决定了后端。 1 网络分布式架构。 2 单机应用,比如安安兔,鲁大师。主要判断io读写,以及对资源的消耗。 2 多…

git常见操作命令

1.Git 配置 在安装完成 Git 后,开始正式使用前,是需要有一些全局设置的,如用户名、邮箱。 git config --global user.name "your name" // 设置全局用户名 git config --global user.email "your email" // 设…

Linux诞生与分支

a) 什么是操作系统操作系统是计算机系统中必不可少的基础系统软件,它的作用是管理和控制计算机系统中的硬件和软件资源,合理地组织计算机系统的工作流程,以便有效地利用这些资源为使用者提供一个功能强大、使用方便的操作环境。它在计算机系…

汽车轮胎充电宝打气泵方案

我们知道新能源车是没有配置充气泵的,所以在平时日常使用中我们还需要配置一个充气泵。充气泵方案便是在这个用户需求上面开发出来的。它体积小、外观精美、带有多模式充气并车胎检测等功能,是现在有车一族的出行必备物品。 充气泵方案其功能设计集成于一…

【语义分割】标注工具ISAT with segment anything介绍

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 极速分割标注工具 1. 正文 1.1 安装 创建虚拟环境 conda create -n ISAT_with_segment_anything python3.8 conda activate ISAT_with_segment_anyt…

宝塔面板搭建Discuz论坛并发布互联网访问【无需云服务器】

✨个人主页:bit me👇 目 录 ⏳前言⏰1.安装基础环境⌚️2.一键部署Discuz📻3.安装cpolar工具📡4.配置域名访问Discuz🔍5.固定域名公网地址📲6.配置Discuz论坛 转载自cpolar极点云的文章:Linux宝…

关于startActivityForResult()方法被弃用的解决方案

关于startActivityForResult()方法被弃用的解决方案 背景:使用startActivityForResult()方法时,代码出现划线,显示该方法已被弃用 startActivityForResult() 方法是一种用于在 Android 应用程序中启动另一个活动(Activity&#x…

Charles抓包

mac 1、下载安装包 官网下载:Download a Free Trial of Charles • Charles Web Debugging Proxy 2、有效期: 打开Charles > Help > Register Charles > 输入 Registered Name : https://zhile.io License Key:48891…

“正大杯”第十三届市场调查与分析大赛[省一]经验总结+复盘

目录 1 前期组队 2 队员组成 队长-成员1 应用统计学专业 成员2 化学实验专业 成员3-本人 物联网工程专业 成员4 金融ACCA专业 成员5 应用物理学 总结 3 比赛进度 3月中旬 部分图表的制作 问卷设计与制作 稍微改动主题 问卷相关总结 前期调查部分论文框架 3月…

手拉手教您Linux搭建web

文章目录 前言1. 本地搭建web站点2. 测试局域网访问3. 公开本地web网站3.1 安装cpolar内网穿透3.2 创建http隧道,指向本地80端口3.3 配置后台服务 4. 配置固定二级子域名5. 测试使用固定二级子域名访问本地web站点 转载自cpolar文章:Linux CentOS本地搭建…

【2023 · CANN训练营第一季】应用开发深入讲解——第四章 DVPP初级

学习资源 1.JPEG图片解码 文档 2.图片缩放 文档 媒体数据处理 数据预处理的典型使用场景 数据预处理的多种方式 分为两种,AIPP和DVPP DVPP数据预处理功能 了解两个重要概念 宽stride 和 高stride 理解:这里假设一张图片的宽为500,高为3…

SpringBoot Properties YML文件的优先级

SpringBoot启动文件的优先顺序测试 运行时指定加载文件时,最高Java jar spring.config.location优先于spring.profiles.activeJava -jar 三种语法 运行时不指定加载文件时,其次1.项目路径下的config目录优先级最高---12.项目路径的优先级其次---23.Eclip…

linux:查找相关命令find与grep

find 语法 在指定目录下查找文件和目录。 find [path] [expression]path:是要查找的目录路径,可以是一个目录或文件名,也可以是多个路径,多个路径之间用空格分隔,如果未指定路径,则默认为当前目录。 exp…

Kotlin高级协程

Kotlin高级协程 一.前言二.先从线程说起三.协程的设计思想四.协程特点:优雅的实现移步任务五.协程基本使用六.协程和线程相比有什么特点,如何优雅的实现异步任务 一.前言 在文章正式上干货之前,先说一点背景吧;我是 Kotlin 协程官…

C语言初阶之扫雷代码详解(含递归展开)

扫雷代码详解 扫雷代码思路头文件解析主函数解析函数文件解析①初始化函数(InitBoard)②打印函数③难易选项函数(Select)④布雷(SetMine)⑤获取周边雷数(GetMine)⑥展开函数&#xf…

从零开始,轻松打造Web自动化测试框架:Python+Selenium实战指南

在程序员的世界中,一切重复性的工作,都应该通过程序自动执行。「自动化测试」就是一个最好的例子。 随着互联网应用开发周期越来越短,迭代速度越来越快,只会点点点,不懂开发的手工测试,已经无法满足如今的…

广州虚拟动力亮相2023世界元宇宙生态博览会,邀您解锁元宇宙商机

2023年5月10-12日 2023第2届世界元宇宙生态博览会 在广州广交会展馆正式举办! 广州虚拟动力携虚拟数字人全栈式解决方案参展 诚邀您莅临3.2馆A109-A110展位参观交流 2022年全国多个地方出台元宇宙政策文件,各地方政府的元宇宙产业扶持政策也在逐渐细…

webshell及工具

目录 一,Webshell的概念 二,eval函数的定义和用法 三,连接工具菜刀 3.1文件管理 3.2 虚拟终端 3.3 菜刀与burpsuite联动 四,哥斯拉的使用 五,冰蝎 六,webshell分类 七,webshell如何连接 …

哪个牌子的电视盒子好用?罗鹏数码盘点2023电视盒子排名

电视机资源少、卡顿,配置不足的时候只需要安装一台电视盒子就可以解决这些问题,不需要花费大价钱更换电视机。那么,你知道哪个牌子的电视盒子好用吗?今天罗鹏就来详细聊聊这个话题,分享2023最新电视盒子排名。 一&…

在家经济性雾视训练

如何使用睛延宝进行雾视训练,才能缩轴控度? 雾视的相关概念 首先大家要知道什么是雾视? 顾名思义,雾视就是眼睛看目标物时有点模糊,好像有层雾。 雾视的效果:放松睫状肌,拉薄晶状体,增厚脉络膜。 原理就…