博客
关于我
【IoT】ROM、RAM 和 FLASH 浅析
阅读量:768 次
发布时间:2019-03-17

本文共 976 字,大约阅读时间需要 3 分钟。

ROM、RAM 和 FLASH 的应用与运作原理

在嵌入式系统中,ROM(只读存储器)、RAM(随机存取存储器)和FLASH存储器是三个常用的存储器类型。这三种存储器在嵌入式系统中各有不同的应用场景和工作原理。

1. ROM 的应用

ROM 是存储固化程序的存储器,程序运行后不可改动。ROM 中存储的内容包括:

  • 程序代码
  • 固定数值
  • 程序运行所需的一些初始化数据

在C语言和ASM语言中,ROM 存储的内容包括:

  • 所有C文件和ASM文件中的代码
  • 全局变量
  • 局部变量
  • const限定符定义的常量数据
  • 启动程序(如ARM中的bootloader或X86中的BIOS)

例如,家庭用电能表的内核通常是一款单片机,其控制逻辑和固化程序存储在ROM中。

2. RAM 的应用

RAM 是程序运行时所需的存储器,存储的是需要随机访问和改写的数据。RAM 中存储的内容包括:

  • 全局变量
  • 局部变量
  • 堆栈段(用于函数调用和递归)
  • 需要被改写的数据

这些数据在程序运行时会被频繁访问和修改,掉电后这些数据会丢失。因此,RAM 是程序运行所需的临时存储器。

3. FLASH 存储器的应用

FLASH 孠存储用户程序和需要永久保存的数据。它是一种可写入但不可再删的存储器,适合存储:

  • 用户程序
  • 需要长期保存的数据

例如,家庭用电能表在每次采集电压和电流数据后,会计算电度并将结果存储到FLASH存储器中,以便在停电时保留数据。


ROM、RAM 和 FLASH 的运作原理

程序在开发过程中通常经历编译、汇编和链接步骤,最终生成hex文件。通过烧录工具和烧录器,将hex文件烧录到目标存储器中。

1. ROM 的烧录过程

  • ROM 的烧录通常使用专用的烧录软件。
  • 烧录完成后,ROM 中存储了所有程序内容,包括代码、函数中的局部变量、头文件中声明的全局变量以及const限定符定义的常量。

2. FLASH 孠的烧录过程

  • 对于基于Flash类型的MCU的系统,ROM空区域通常是整字节对齐的,大小为ak×8bits。

3. RAM 的使用

  • RAM 是程序运行时所需的临时存储器,存储需要改写的数据。
  • 在嵌入式系统中,开发者需要根据需求配置RAM的大小和使用方式。

通过理解ROM、RAM和FLASH的应用场景及其运作原理,开发者可以更好地设计嵌入式系统,优化程序性能和存储管理。

转载地址:http://akvhz.baihongyu.com/

你可能感兴趣的文章
No module named 'crispy_forms'等使用pycharm开发
查看>>
No module named 'pandads'
查看>>
No module named cv2
查看>>
No module named tensorboard.main在安装tensorboardX的时候遇到的问题
查看>>
No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
查看>>
No new migrations found. Your system is up-to-date.
查看>>
No qualifying bean of type XXX found for dependency XXX.
查看>>
No qualifying bean of type ‘com.netflix.discovery.AbstractDiscoveryClientOptionalArgs<?>‘ available
查看>>
No resource identifier found for attribute 'srcCompat' in package的解决办法
查看>>
no session found for current thread
查看>>
No static resource favicon.ico.
查看>>
no such file or directory AndroidManifest.xml
查看>>
No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
查看>>
NO.23 ZenTaoPHP目录结构
查看>>
no1
查看>>
NO32 网络层次及OSI7层模型--TCP三次握手四次断开--子网划分
查看>>
NOAA(美国海洋和大气管理局)气象数据获取与POI点数据获取
查看>>
NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
查看>>
node
查看>>
node exporter完整版
查看>>