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

相关推荐
得一录3 小时前
Android AIDL 在智能体和IOT设备中的使用
android·人工智能·物联网·aigc
sdyeswlw3 小时前
实力认证 !一二三物联网微功耗遥测终端入选济南市创新产品应用推荐目录
物联网
ShiMetaPi4 小时前
GM-3568JHF丨ARM+FPGA异构开发板应用开发教程:01 UART读写案例
arm开发·单片机·嵌入式硬件·fpga开发·fpga·rk3568
松涛和鸣4 小时前
55、ARM与IMX6ULL入门
c语言·arm开发·数据库·单片机·sqlite·html
深圳博达智联4 小时前
博达智联供水4G控制器方案:厂家集中管控,终端用户手机远程控,运维成本降一半
物联网·智能手机·人机交互
云里物里4 小时前
物联网电子墨水屏安装配件汇总介绍!
物联网·电子价签·电子标签·电子墨水屏标签·电子标签系统
代码游侠4 小时前
学习笔笔记——ARM 嵌入式系统与内核架构
arm开发·笔记·嵌入式硬件·学习·架构
VekiSon4 小时前
ARM架构——从嵌入式系统底层到指令执行解析
linux·arm开发·架构
2023自学中5 小时前
Linux,安装 ARM 交叉编译器
linux·arm开发
蓁蓁啊5 小时前
解决 GCC 工具链自动链接 libg.a 导致的链接失败问题
linux·服务器·前端·arm开发·嵌入式硬件