【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之和;

相关推荐
Henry Zhu1235 小时前
进阶:VPP NAT44-EI 全面源码解析
网络·物联网·计算机网络·云原生·云计算
侠***I7 小时前
基于阶梯碳交易的含P2G - CCS耦合和燃气掺氢的虚拟电厂优化调度探索
arm开发
风华同学15 小时前
【环境搭建篇】ARM+Linux环境搭建
linux·运维·arm开发
亿坊电商15 小时前
物联网智慧校园:构筑无人自助打印机的隐私安全防线!
物联网·安全
Coder_Boy_15 小时前
【物联网技术】- 基础理论-0001
java·python·物联网·iot
LCG米15 小时前
基于Zephyr RTOS与nRF54L15的多协议物联网节点设计(支持BLE/Thread/Matter)
物联网
小龙报16 小时前
【嵌入式51单片机】51 单片机中断入门到精通:中断类型、寄存器操作、优先级配置与实战代码
c语言·驱动开发·单片机·嵌入式硬件·物联网·mongodb·51单片机
小李做物联网16 小时前
【物联网毕设】76.1单片机stm32菊类智能养护物联网嵌入式项目程序系统开发
stm32·单片机·嵌入式硬件·物联网
TDengine (老段)16 小时前
TDengine 地理函数 ST_GeomFromText 用户手册
大数据·数据库·物联网·时序数据库·tdengine·涛思数据
Henry Zhu12317 小时前
VPP的NAT插件: NAT44-EI 实战配置指南
网络·物联网·计算机网络·云原生·云计算