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...
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...
谈谈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,也称目标...
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拷贝到RAM 生成的map文件...
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化; 简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data 程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data ARM程序(指在ARM系统中正在执行的程序,而非保存在ROM...
ZI:程序中用到的变量并且被系统初始化为0的变量的字节数(未初始化的全局变量) 占用空间 在烧写时,FLASH中的被占用的空间为:Code + RO Data + RW Data 初始化时,RW-data从flash拷贝到RAM 程序运行时,芯片内部RAM使用的空间为: RW Data + ZI Data 举报/反馈 发表评论 发表 设...
ZI-data:可读写数据区域,一定是未初始化或初始化为“0值”的可读写数据,应用程序同样可以修改其内容,这些数据被存储在RAM区ZI-data区典型:例1、C语言中定义的数组,只定义了数组的大小,并没有给每个成员赋非0值。 以下数据节选于程序的.map文件结尾。 Code (inc. data) RO Data RW Data ZI Data Debug 26...
Keil中ProgramSize:CodeRO-dataRW-dataZI-data所代表的意思 在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息: Program Size: Code=6320 RO-data=4864 RW-data=44 ZI-data=1636 代表的意思: Code :是程序中代码所占字节大小 RO-data :程序中所定义的指令和常量大小 (个人理解 :Read...
Total RW Size (RW Data + ZI Data) 4212 ( 4.11kB) Total ROM Size (Code + RO Data + RW Data) 18828 ( 18.39kB) 2、ARM 映像文件的组成 1. 2. 3. 4. 5. 6. 7. 8. 9. 所谓ARM映像文件就是指烧录到ROM中的bin文件,也称为image文件。
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位 每个异常模式还带有⼀个程...