解释Keil-MDK中Code、RO-data、RW-data、ZI-data

一、概念

Code:即代码域,它通常是指编译器生成的机器指令,这些内容会被存储到ROM区。

RO-data:Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在ROM区,因而程序不能被修改的内容。例如C语言中const关键字定义的变量就是典型的RO-data。

RW-data:Read Write data,即可读写数据域,它指初始化为“非0值”的可读写数据,程序刚运行时,这些数据具有非0的初始值,程序运行的时候它们又会常驻在RAM区,应用程序可以修改其内容。例如C语言中定义的全局变量,且定义时赋予“非0值”给该变量。

ZI-data:Zero Initialie data,即0初始化数据,它指初始化为“0值”的可读写数据域,它与RW-data的区别是程序刚运行时这些数据初始值全都为0,程序运行时和RW-data的性质一样,它们也常驻在RAM区,应用程序可以更改其内容。例如C语言中使用定义的全局变量,且定义时赋予“0值”给该变量(如若定义该变量时没有赋予初始值,编译器会把它当ZI-data来对待,初始化为0);

二、程序占用Flash和SRAM的空间计算:

方式一:

前三项Code + RO Data + RW Data的总和是程序占用闪存的大小

后两项RW-data + ZI-data的总和是SRAM的大小

GD32的RO区域不需要加载到SRAM,内核直接从FLASH读取指令运行。当程序存储到芯片的内部FLASH时(即ROM区),它占用的空间是Code、RO-data及RW-data的总和,所以如果这些内容比芯片的FLASH空间大,程序就无法被正常保存在芯片的FLASH了。当程序在执行的时候,需要占用内部SRAM空间(即RAM区),占用的空间包括RW-data和ZI-data空间之和。

方式二:

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

制作系统盘

老毛桃(LaoMaoTao) 制作启动盘 第一步.进入官方网站下载我们的老毛桃 下载老毛桃U盘制作工具后,双击打开老毛桃的运行程序。 打开老毛桃U盘制作工具,插入需要制作的U盘(如图所示U盘winpe系统制作界面)。…

两种经典的现货白银假突破类型

假突破是现货白银市场中一种具有反大众性的市场行为。它通常和一种强势的市场行为突破联系在一起,但是它的方向是和突破完全相反的,识别假突破的类型,有助于降低我们亏损的风险,那如何识别呢?下面我们来介绍两种假突破…

逻辑斯蒂回归-建模概率计算(鸢尾花)

导入的数据说明 因为气候不同,造就性不同,统计鸢尾花的关键特征数据:花萼长度、花萼宽度、花瓣长度,花瓣宽度 植物学家划分: setosa(中文名:山鸢尾) versicolor(中文名:杂色鸢尾) virginica(中…

批量创建文件夹事半功倍,有三种方法可以实现

如果你想在Windows 10 PC上组织和管理文件,手动创建新文件夹和子文件夹非常耗时。相反,你可以使用命令提示符、PowerShell或批处理文件一次创建多个文件夹。 这些应用程序将你从右键单击>新建文件夹或使用Ctrl+Shift+N创建新文件夹的任务中拯救出来,如果你必须创建多个文…

一个网卡能设置(绑定)两个或多个IP

昨天领导问我,一个网卡设置两个IP。我就有点发愣:一个网卡能设置两个IP吗?我倒是见过一个机器插两个网卡,同时支持内网和外网。一个网卡设置两个IP,以谁为准? 上网搜索了一下,还真可以&#xff…

Moonbeam生态项目分析 — — 游戏项目The Great Escape

概览 The Great Escape是一款2D的Play and Earn平台游戏,曾入选MoonbeamMoonbeam Accelerator,并经此培训孵化后于2023年7月正式发表。 玩家必须在给定时间内在充满敌人和陷阱的关卡中收集尽可能多的水果。游戏结束后,游戏主要根据收集的水…

docker部署个人网站项目记录(前后端分离)

背景 项目是前后端分离,前端有三部分,分别是 个人网站(blog)网站后台管理系统(admin)数据大屏(datascreen) 后端是基于nodejs写的后台服务 后台接口服务(todo-nodejs…

TKEStack容器管理平台实战之部署wordpress应用

TKEStack容器管理平台实战之部署wordpress应用 一、TKEStack介绍1.1 TKEStack简介1.2 TKEStack特点1.3 TKEStack架构图 二、kubernetes集群介绍2.1 k8s简介2.2 k8s架构图 三、本次实践介绍3.1 实践环境要求3.2 本次实践环境规划3.3 本次实践简介 四、安装容器管理平台4.1 安装T…

centos如何下载chrome

【环境配置】centos安装chrome浏览器_centos chrome-CSDN博客https://blog.csdn.net/tyty2211/article/details/134511154亲测有效:

云轴科技ZStack 英特尔联合成立云系统解决方案创新中心

近日,云轴科技ZStack 与英特尔联合成立云系统解决方案创新中心,并完成揭牌仪式。双方将基于多年合作基础进一步加快研发下一代创新技术和解决方案,为客户和合作伙伴提供更高效、安全的云基础设施解决方案。 左三:云轴科技ZStack 联合创始人兼…

基于ssm游戏美术外包管理信息系统源码和论文

摘 要 随着信息技术和网络技术的飞速发展,人类已进入全新信息化时代,线下管理技术已无法高效,便捷地管理信息。为了迎合时代需求,优化管理效率,各种各样的管理系统应运而生,各行各业相继进入信息管理时代&…

【论文笔记】NeuRAD: Neural Rendering for Autonomous Driving

原文链接:https://arxiv.org/abs/2311.15260 1. 引言 神经辐射场(NeRF)应用在自动驾驶中,可以创建可编辑的场景数字克隆(可自由编辑视角和场景物体),以进行仿真。但目前的方法或者需要大量的训…