Keil中 Program Size: Code RO-data RW-data ZI-data
一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘。
现在我们就一个STM32的工程为例子
linking...
Program Size: Code= RO-data= RW-data= ZI-data=
FromELF: creating hex file...
"..\object\BootLoader.axf" - Error(s), Warning(s).
Build Time Elapsed: ::
上面提到的 Program Size 包含以下几个部分:
(1)Code:代码段,存放程序的代码部分;
(2)RO-data:只读数据段,存放程序中定义的常量;
(3)RW-data:读写数据段,存放初始化为非 0 值的全局变量;
(4)ZI-data:0 数据段,存放未初始化的全局变量及初始化为 0 的变量;
编译完工程会生成一个. map 的文件,该文件说明了各个函数占用的尺寸和地址,在文件的最后几行也说明了上面几个字段的关系:
==============================================================================
Code (inc. data) RO Data RW Data ZI Data Debug
Grand Totals
ELF Image Totals
ROM Totals
==============================================================================
Total RO Size (Code + RO Data) ( .68kB)
Total RW Size (RW Data + ZI Data) ( .46kB)
Total ROM Size (Code + RO Data + RW Data) ( .79kB)
==============================================================================
RO Size (Code + RO Data) ,表示程序占用Flash空间的大小。
RW Size (RW Data + ZI Data),表示运行时占用的RAM的大小。
ROM Size (Code + RO Data + RW Data) ,表示烧写程序占用的Flash空间的大小。
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
【扩展】
【ARM中的RO、RW和ZI DATA说明】https://blog.csdn.net/jamestaosh/article/details/4348385 [有实例的说明]
【KEIL MDK输出map文件分析】 https://blog.csdn.net/ropai/article/details/7493168
【scatter file介绍】https://blog.csdn.net/zhoujiaxq/article/details/8102587
【Keil sct分散加载文件】https://blog.csdn.net/kobesdu/article/details/38258449
Keil中 Program Size: Code RO-data RW-data ZI-data的更多相关文章
- Keil 中 Program Size: Code RO-data RW-data ZI-data 所代表的意思
在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息: Program Size: Code=6320 RO-data=4864 RW-data=44 ZI-data ...
- stm32 ARM中的RO、RW和ZI DATA
一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将 ...
- ARM MDK 编译产生:RO、RW和ZI DATA说明
1.比如编译一个工程文件,产生如下提示信息: Program Size: Code=18938 RO-data=622 RW-data=124 ZI-data=7724 RO段.RW段和ZI段 要了解 ...
- keil编译后Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588
Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588 Code : 程序中代码所占字节大小 RO-data : ...
- Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片Flash、SRAM的对应关系
在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:<ignore_js_op> 以前一直好奇这几个参数和实际使用的STM32芯片中F ...
- RW RO ZI ROM keil中的含义
编译的一个ARM的程序,会得到这样的信息: ============================================================================== ...
- keil Bulid Ouput窗口中PROGRAM SIZE项的具体含义
在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息: Program Size: Code=6320 RO-data=4864 RW-data=44 ZI ...
- KEIL的ARM编译器对RW和ZI段的一个处理
按照C编译器编译的结果,一般会产生RO段,RW段,ZI段.RO是程序中的指令和常量,RW是程序中的已初始化全局变量,ZI是程序中的未初始化或初始化为零的全局变量. 那么如下的代码 int aaa; i ...
- Program Size
在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息: Program Size: Code=6320 RO-data=4864 RW-data=44 ZI-d ...
随机推荐
- Java语法基础学习DayEighteen(常用类)
一.String类 1.特点 String代表不可变的字符序列,底层用char[]存放. String是final的. 2.内存解析 3.常用方法 int length() char charAt(i ...
- 剑指Offer 30. 连续子数组的最大和 (数组)
题目描述 HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学.今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决.但是,如果向量 ...
- 重开ES6
一.ES6的开发环境搭建 现在的Chrome浏览器已经支持ES6了,但是有些低版本的浏览器还是不支持ES6的语法,这就需要我们把ES6的语法自动的转变成ES5的语法. 1.建立工程目录: 先建立一个项 ...
- google Kickstart Round G 2017 三道题题解
A题:给定A,N,P,计算A的N!次幂对P取模的结果. 数据范围: T次测试,1 ≤ T ≤ 100 1<=A,N,P<=105 快速幂一下就好了.O(nlogn). AC代码: #inc ...
- c# .net 面试总结
一. sql优化 . 写明查询具体某几列,减少*的使用,表名过长时,尽量使用表的别名 *和列名一样 ,在业务密集的SQL当中尽量不采用IN操作符,用EXISTS 方案代替. in 和 exists的区 ...
- java_lambda表达式
lambda表达式1 由来 概念 是通过策略模式来曲线实现的 lambda表达式2 语法详解 lambda表达式3 目标类型的概念 目标类型推断 ...
- docker基本命令使用
学会使用docker命令帮助 docker help 子命令 查看docker镜像 docker images 搜索镜像 docker search 镜像名 下载镜像 docker pull 镜像名 ...
- 彻底删除msde2008(请先在控制面板中卸载).bat
彻底删除msde2008(请先在控制面板中卸载).bat @echo offset /P dv=请确认强制删除MSDE2008(请先在控制面板中卸载),Y=删除,N=退出:if not defined ...
- oracle user_tables没有新创建的表的问题
oracle 新创建表后,在user_tables没有,在user_tab_columns也没有,暂时未找到办法
- 算法实践--最长公共子序列(Longest Common Subsquence)
什么是最长公共子序列 X=ACCG Y=CCAGCA 长度为1的公共子序列: {A} {C} {G} 长度为2的公共子序列:{AC} {CC} {CG} {AG} 长度为3的公共子序列:{ACG} 长 ...