详解STM32编译后Code,RO-data,RW-data,ZI-data ARM中的RO、RW和ZI DATA 要了解RO,RW和ZI需要首先了解以下知识: ARM程序的组成 此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别。 一个ARM程序包含3部分:RO,RW和ZI RO是程序中的指令和常量 RW...
Program Size: Code=816 RO-data=336 RW-data=20ZI-data=1636 FromELF: creating hex file... "myex1.axf" - 0Error(s), 4 Warning(s). 分析:程序中增加了数组myArry,Code增加为816字节,但是RO-data等仍未变化 代码4 int main() { constint x=16; int myArry[100]={1,2,3,4,5,6}; int ...
Total RO Size (Code + RO Data) 18568 ( 18.13kB) Total RW Size (RW Data + ZI Data) 4212 ( 4.11kB) Total ROM Size (Code + RO Data + RW Data) 18828 ( 18.39kB) 1. 2. 3. 2、ARM 映像文件的组成 所谓ARM映像文件就是指烧录到ROM中的bin文件,也称为image文件。 Image文件包含了RO和RW...
Total RO Size(Code + RO Data) 1008 ( 0.98kB) Total RW Size(RW Data + ZI Data) 96 ( 0.09kB) Total ROM Size(Code + RO Data + RW Data) 1008 ( 0.98kB) === Prog4编译出来后的信息如下: === Code RO Data
1、Code 即代码域,它指的是编译器生成的机器指令,这些内容被存储到ROM区。 2、RO-data Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在ROM区,因而程序不能修改其内容。 例如: C语言中const关键字定义的变量就是典型的RO-data。
Prog2的ROData比Prog1多了1字识。识正和之前的推识一致。个 如果增加的是一指令而不是一常量,识识果识识是条个Code据大小有差识。数 2;RW 同识再看程序,他识之识只相差一“已初始化的识量”,按照之前所识的,已两个个 初始化的识量识识是算在RW中的,所以程序之识识识是两个RW大小有识。区 Prog3...
Code是存储程序代码的。 RO-data是存储const常量和指令。 RW-data是存储初始化值不为0的全局变量。 ZI-data是存储未初始化的全局变量或初始化值为0的全局变量。 Flash=Code + RO Data + RW Data; RAM= RW-data+ZI-data; 这个是MDK编译之后能够得到的每个段的大小,也就能得到占用相应的FLASH和RAM的大小,但...
Code就是代码,函数。 RO Data,就是只读变量,例如用const修饰的数组。 RW Data,就是读写变量,例如全局变量跟static修饰的局部变量。 ZI Data,就是系统自动初始化为0的读写变量,大部分是数组,放在bss段。 RO Size等于代码加只读变量。 RW Size等于读写变量(包括自动初始化为0的),这个也就是RAM的大小。 ROM ...
RO-data 表示程序定义的常量(如:const temp等); RW-data 表示已初始化的全局变量 ZI-data 表示未初始化的全局变量,以及初始化为0的变量 Code, RO-data,RW-data...flash RW-data, ZIdata...RAM 初始化时RW-data从flash拷贝到RAM 50、STM32F103ZET6有144个引脚(Z为144),...
49、Code为程序代码部分 RO-data 表示程序定义的常量(如:const temp等); RW-data 表示已初始化的全局变量 ZI-data 表示未初始化的全局变量,以及初始化为0的变量 代码,RO数据,RW数据...闪光 RW-data, ZIdata.公羊 初始化时RW-data从flash拷贝到RAM 50、STM32F103ZET...