详解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=1048 RO-data=392 RW-data=20 ZI-data=1892 FromELF: creating hex file... "myex1.axf" - 0Error(s), 0 Warning(s). 说明:注意到ZI-ddata已发生了变化。 至此可以明白RO-data ZI-data应该是针对栈来说的。即栈中的只读数据和零数据??但是RW-data似乎又有所不同,这里还应该再...
1、Code 即代码域,它指的是编译器生成的机器指令,这些内容被存储到ROM区。 2、RO-data Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在ROM区,因而程序不能修改其内容。 例如: C语言中const关键字定义的变量就是典型的RO-data。 3、RW-data Read Write data,即可读写数据域,它指...
1)Code 是代码占用的空间; 2)RO-data 是 Read Only 只读常量的大小,如const型; 3)RW-data 是(Read Write)初始化了的可读写变量的大小; 4)ZI-data 是(Zero Initialize) 没有初始化的可读写变量的大小,ZI-data不会被算做代码里因为不会被初始化。 1.1、Flash 占用 在烧写的时候是 FLASH 中的被占用的空...
Code是代码占用的空间,RO-data是 Read Only 只读常量的大小,如const型,RW-data是(Read Write) 初始化了的可读写变量的大小,ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化。简单
ARM中的RO、RW和ZIDATA要了解RO,RW和ZI需要首先了解以下知识:ARM程序的识成此识所识的“ARM程序”是指在ARM系识中正在识行的程序,而非保存在RO..
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是只读常量、RW-data是已初始化的可读可写变量,ZI-data是未初始化的可读可写变量。 有些时候,我们需要知道RAM和ROM的使用情况如何,那么我们就可以使用下面的公式计算。 RAM = RW-data + ZI-data ROM = Code + RO-data + RW-data ...
Program Size: Code=9038 RO-data=990 RW-data=40 ZI-data=6000 FromELF: creating hex file... ".Objectswujique.axf" - 0 Error(s), 0 Warning(s). Build Time Elapsed: 0032 编译目标是wujique C文件compiling,汇编文件assembling,这个过程叫编译 ...
Size in file = Code + RO-data + RW-data = 1096 + 336 + 8 = 1440; 3 Size in memory:3976 字节,表示若程序加载到内存,占据的内存空间。 Size in memory = Code + RO-data + RW-data + ZI-data = 1440 + 2536 = 3976; 4 8字节对齐,这个在freertos中非常常用。