【ARM 处理器】程序存储详解

本篇文章主要介绍ARM处理器,Code, RO-data,RW-data,ZI-data 知识以及程序存储情况

目录

  • [1. 专业词汇](#1. 专业词汇)
  • [2. 程序存储](#2. 程序存储)
  • [3. 程序空间计算](#3. 程序空间计算)

1. 专业词汇

  • Code : 代码区,存储在 ROM 区域
  • RO-dataRead Only data,即只读数据域,存储在ROM
    • 比如 const 类型的变量
  • RW-dataRead Write data,即可读写数据域,程序运行时在 RAM 区域,应用程序可以修改其内容;
    • 比如 初始化为 非零 的全局变量
  • ZI-DataZero Initialie data,即0初始化数据,程序运行时在 RAM 区域,应用程序可以修改其内容;
    • 比如 初始化为 **零 ** 的全局变量

2. 程序存储

下图中,左侧为 未上电 状态,右侧为 上电程序运行 状态,上电过程描述为:

  1. 程序在存储状态时,RO段(RO section)及RW段都被保存在ROM区(数据不能被修改)
  2. 程序在运行状态时,内核从ROM中读取代码,并将RW端行ROM复制到RAM区域,并且在RAM中加入ZI端,ZI段的数据初始化为0

3. 程序空间计算

  1. 程序需要下载到芯片的FLASH空间,FLASH的最小空间应该大于Code + RO Data + RW Data的总和;

  2. 程序运行的时候,芯片内部RAM使用的空间应该大于RW Data + ZI Data之和;

相关推荐
peixiuhui21 分钟前
Iotgateway技术手册-5. 插件化驱动架构
开发语言·物联网·网关·数据采集·iot·dotnet·iotgateway
p666666666840 分钟前
STM32(基于 ARM Cortex-M 内核)中函数调用栈帧的开辟 销毁过程
arm开发·stm32·嵌入式硬件
普马萨特41 分钟前
移动网络信号指标与单位整理(2G/3G/4G/5G Android vs IoT)
android·网络·物联网
星图易码1 小时前
星图云开发者平台功能详解 | IoT物联网平台:工业设备全链路智能管控中枢
分布式·物联网·低代码·低代码平台
huge_shao1 小时前
5、FUXA ODBC 配置与实战
物联网·可视化·scada·hmi·组态软件·fuxa
欢乐熊嵌入式编程1 小时前
IoT 场景中的 DHCP、ARP、ICMP 到底在干嘛?
物联网·wifi·dhcp·iot wifi
MDIOT旗舰1 小时前
ZL401核心板:一站式物联网数据采集的理想之选
物联网·无线通信·数据采集·智能硬件·工业物联网·4g通信·cat1模块
DS小龙哥2 小时前
基于STM32设计的智能鞋柜【华为云IOT】
stm32·物联网·华为云
WangUnionpub2 小时前
2026 国自然基金申请全周期时间线
大数据·人工智能·物联网·机器学习·计算机视觉
DBA小马哥2 小时前
时序数据库在物联网中的应用
数据库·物联网·时序数据库