Code:程序代码,存储在rom中; RO-data:只读数据,存储在rom中; RW-data:可读可写数据,既存储在ram中,也存储在rom中(RW-data已初始化的数据会存储在rom中,上电会从rom搬移至ram中); ZI-data:Zero Initialize,未初始化的数据,上电后在ram中划分一个区域统一存储,MDK会给默认赋值为0。 2、Code、RO-data、RW...
RW-data, ZI-data...RAM 二、单片机启动过程中Code,RO-data,RW-data,ZI-data的操作流程 1、ARM映像文件的组成 所谓ARM映像文件就是指烧录到Flash中的bin文件,也称为image文件 image文件包含了Code, RO-data, RW-data数据。 之所以image文件不包含ZI-data,是因为ZI-data都是0,没必要包含,只要程序运行之前将Z...
ZI-data:Zero Initialie data,即 0 初始化数据,它指初始化为“0 值”的可读写数据域,它与 RW-data 的区别是程序刚运行时这些数据初始值全都为 0,而后续运行过程与 RW-data 的性质一样,它们也常驻在 RAM 区,因而应用程序可以更改其内容。例如 C 语言中使用定义的全局变量,且定义时赋予“0 值”给...
Keil MDK 中的 Code、RO-data、RW-dat、ZI-data 分别代表什么意思,程序员大本营,技术文章内容聚合第一站。
Total RW Size (RW Data + ZI Data) 4212 ( 4.11kB)Total ROM Size (Code + RO Data + RW Data) 18828 ( 18.39kB)ARM指令的长度刚好是1个字(分配为占⽤4个字节),Thumb指令的长度刚好是半字(占⽤2个字节)R0-R15 (R15-PC,R14-LR,R13-SP) 32位 每个异常模式还带有⼀个程...
ro-data:位于数据段的一部分,存储只读数据。 rw-data:也位于数据段,但存储的是可读写数据,即需要被初始化的全局变量和静态变量。 BSS段(Block Started by Symbol Segment):存储零初始化数据(zi-data),即未显式初始化的全局变量和静态变量。这部分内存区域在程序加载时通常会被清零。 堆(Heap):动态分配的内存区...
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字节数。(已经初始化的全局变量) ...
Total RW Size(RW Data + ZI Data) 96 ( 0.09kB) Total ROM Size(Code + RO Data + RW Data) 1009 ( 0.99kB) === === 以上两个程序编译出来后的信息可以看出: Prog1和Prog2的RO包含了Code和RO Data两类数据。他们的唯一区别就是Prog2的RO Data比Prog1多了1个字节。这正和之前的推测一致。 如...
Total RW Size (RW Data + ZI Data) 4212 ( 4.11kB) Total ROM Size (Code + RO Data + RW Data) 18828 ( 18.39kB) ARM指令的长度刚好是1个字(分配为占用4个字节),Thumb指令的长度刚好是半字(占用2个字节) R0-R15 (R15-PC,R14-LR,R13-SP) 32位 ...
Code 代表执行的代码,程序中所有的函数都位于此处。RO-data 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。RW-data 代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处...