详解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...
Total RO Size(Code + RO Data) 1008 ( 0.98kB) Total RW Size(RW Data + ZI Data) 97 ( 0.09kB) Total ROM Size(Code + RO Data + RW Data) 1009 ( 0.99kB) === 可以看出Prog3和Prog4之间确实只有RW Data之间相差了1个字节,这个字节正是被初始化过的一个字符型变量“a”所引起的。 3; ZI...
linking... 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...
1、Code 即代码域,它指的是编译器生成的机器指令,这些内容被存储到ROM区。 2、RO-data Read Only data,即只读数据域,它指程序中用到的只读数据,这些数据被存储在ROM区,因而程序不能修改其内容。 例如: C语言中const关键字定义的变量就是典型的RO-data。 3、RW-data Read Write data,即可读写数据域,它指...
4)ZI-data 是(Zero Initialize) 没有初始化的可读写变量的大小,ZI-data不会被算做代码里因为不会被初始化。 1.1、Flash 占用 在烧写的时候是 FLASH 中的被占用的空间为: Code+RO Data+RW Data 1.2、RAM 内存占用(不包括堆栈) 程序运行的时候,芯片内部 RAM 使用的空间为: ...
Code是存储程序代码的。 RO-data是存储const常量和指令。 RW-data是存储初始化值不为0的全局变量。 ZI-data是存储未初始化的全局变量或初始化值为0的全局变量。 Flash=Code + RO Data + RW Data; RAM= RW-data+ZI-data; 这个是MDK编译之后能够得到的每个段的大小,也就能得到占用相应的FLASH和RAM的大小,但...
TotalRWSize(RWData+ZIData)96(0.09kB) TotalROMSize(Code+ROData+RWData)1009(0.99kB) === === 以上程序识识出后的信息可以看出:两个来 Prog1和Prog2的RO包含了Code和ROData识据。他识的唯一识识就是两数区 Prog2的ROData比Prog1多了1字识。识正和之前的推识一致。个 如果增加的是一指令而不是一...
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),...
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),...