作者:李大闯 2017/09/03 11:15
KEIL MDK 查看代码量、RAM使用情况--RO-data、RW-data、ZI-data的解释
KEIL RVMDK编译后的信息
Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116
Code是代码占用的空间;
RO-data是 Read Only 只读常量的大小,如const型;
RW-data是(Read Write) 初始化了的可读写变量的大小;
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化;
Code 代表执行的代码,程序中所有的函数都位于此处。
RO-data 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。
RW-data 代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。
ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。
RO-data 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。
RW-data 代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。
ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。
简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data
程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data
变量只定义但不初始化,不占用flash的空间
keil光标问题解决:
按下回车后,光标没有到预期的位置,如下图:
而是到了行首,如下图:
解决方法:
keil不能设置断点的原因:
在输出名字那里,不能手动加上.hex,如下图,如果将名称设置为LDC20160506.hex则仿真时不能打断点。