NXP KL03--4. Keil MDK中的Code, RO-data , RW-data, ZI-data分别代表什么意思?
Code, RO-data,RW-data,ZI-data
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
来源: http://anlx27.iteye.com/blog/1575848
Code是代码占用的空间;
RO-data是 Read Only 只读常量的大小,如const型;
RW-data是(Read Write) 初始化了的可读写变量的大小;
ZI-data是(Zero Initialize) 没有初始化的可读写变量的大小。ZI-data不会被算做代码里因为不会被初始化;
简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code + RO Data + RW Data
程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data
来源: http://www.cnblogs.com/king-77024128/articles/3463107.html
2.KEIL 编译输出:
compiling flash.c…
compiling flash_ram.c…
compiling LSD_RF.c…
linking…
.\obj\project.sct(12): warning: L6329W: Pattern flash_ram.o(RO) only matches removed unused sections.
Program Size: Code=19432 RO-data=1892 RW-data=568 ZI-data=1144
Finished: 0 information, 1 warning and 0 error messages.
FromELF: creating hex file…
After Build - User command #1: c:\hex2bin.exe .\obj\project.hex
hex2bin v1.0.1, Copyright © 1999 Jacques Pelletier
Lowest address = 00000000
Highest address = 0000546B
“.\obj\project.axf” - 0 Error(s), 8 Warning(s).
Build Time Elapsed: 00:00:07
3.程序启动初始化时RW-data从flash拷贝到RAM,执行的程序等还在ROM(FLASH)中执行
打开编译生成的map文件 ,生成的map文件位于list文件夹下 (KEIL)
kl03_firmware\7_SPI\0-SPI\Project\list\project.map
文件尾部信息如下:
看Grand Totals数据,附件是个project.map数据
- ram rom存放
unsigned intpfun1= (unsigned int)Mcu_Init_Fifo;
uart_printf(“Mcu_Init_Fifo 0x%08x\n”,pfun1);
uart_printf(“pfun1 0x%08x\n”,&pfun1);
//Mcu_Init_Fifo 0x00001865 //rom–flash
//pfun1 0x200004a8 //sram
文章来源: blog.csdn.net,作者:悟空胆好小,版权归原作者所有,如需转载,请联系作者。
原文链接:blog.csdn.net/xushx_bigbear/article/details/123783376
- 点赞
- 收藏
- 关注作者
评论(0)