Code:程序代码,存储在rom中; RO-data:只读数据,存储在rom中; RW-data:可读可写数据,既存储在ram中,也存储在rom中(RW-data已初始化的数据会存储在rom中,上电会从rom搬移至ram中); ZI-data:Zero Initialize,未初始化的数据,上电后在ram中划分一个区域统一存储,MDK会给默认赋值为0。 2、Code、RO-dat
谈谈Keil-MDK编译输出的:Code-data,RO-data,RW-data,ZI-dataCode-data,RO-data,RW-data,ZI-data 程序运行时加载过程 一、编译过程 (1) 编译,MDK 软件使用的编译器是 armcc 和 armasm,它们根据每个 c/c++和汇编源文件编译成对应的以“.o”为后缀名的对象文件(Object Code,也称目标...
Code是程序的代码部分占用的空间 RO-Data是程序的常量以及const型的数据 RW-Data表示已经初始化的静态变量,变量有初始值 ZI-Data表示未初始化静态变量,变量无初始值 RO Size=Code+RO-Data RW Size=RW-Data+ZI-Data ROM Size=Code+RO-Data+RW-Data ROM(flash) Size=Code+RO-Data+RW-Data RAM Size=RW-Data...
Code部分是指编译器生成的机器指令,也就是程序的执行代码。这些指令会被存储在ROM区。RO-data代表程序中用到的只读数据。这意味着程序不能被修改的内容。例如,C语言中使用const关键字定义的变量,全局常量以及字符串等都属于RO-data。RW-data是可读写数据区域。这部分数据一定是初始化为非0值的可读写...
keil5编译后Code RO-data RW-data ZI-data是什么 1、Code 是代码占用的空间。 2、RO-data是 Read Only 只读常量的大小(程序已经定义的常量),如const型。 3、RW-data是(Read Write) RW是可读可写变量,就是初始化时候就已经赋值了的,RW + ZI就是你的程序总共使用的RAM字节数。(已经初始化的全局变量) ...
Code为程序代码部分 RO-data 表⽰程序定义的常量const temp;RW-data 表⽰已初始化的全局变量 ZI-data 表⽰未初始化的全局变量 Program Size: Code="18248" RO-data=320 RW-data=260 ZI-data=3952 Code, RO-data,RW-data ...flash RW-data, ZIdata...RAM 三详细分析 初始化时RW-data从flash拷贝...
KEIL MDK中查看代码量及RAM使用情况的解释如下:Code:代表代码所占用的空间。这是程序中的指令部分,用于执行各种操作。ROdata:只读常量的大小,通常是const型变量。这部分数据在程序运行期间不会被修改,因此被存储在只读存储器中。RWdata:初始化了的可读写变量的大小。这部分数据在程序运行期间可能会被...
Code:通常是指编译器生成的机器指令,也就是程序的执行代码,这些内容会被存储到ROM区。 RO-data:它指程序中用到的只读数据,因而程序不能被修改的内容,这些数据被存储在ROM区。 RO-data区典型:例1、C语言中const关键字定义的变量。例2、C语言中定义的全局常量。例3、C语言中定义的字符串。 RW-data:即可读写...
Code代表执行的代码,程序中所有的函数都位于此处。RO-data代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。RW-data代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化; 简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data 程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data ...