Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588 Code      :   程序中代码所占字节大小 RO-data :   Read-only-data  ,存储在flash中的常量大小. RW-data:   Read-write-data  ,存储在flash中初始化的变量. ZI-data   :   Zero-Init-data      ,存储在SRAM中未初始化的变量. ROM(Flash) size…
一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘. 现在我们就一个STM32的工程为例子 linking... Program Size: Code= RO-data= RW-data= ZI-data= FromELF: creating hex file... Error(s), Warning(s). Build Time Elapsed: :: 上面提到的 Program Size 包含以下几个部分: (1)Code:代码段,存…
在Keil中编译工程成功后,在下面的Bulid Ouput窗口中会输出下面这样一段信息: Program Size: Code=6320 RO-data=4864 RW-data=44 ZI-data=1636 代表的意思:Code :是程序中代码所占字节大小RO-data :程序中所定义的指令和常量大小 (个人理解 :Read Only)RW-data :程序中已初始化的变量大小 (个人理解”:Read/Write)ZI-Data :程序中未初始化的变量大小 (个人理解 :Zero Initi…
@2019-02-14 [小记] RO段.RW段和ZI段 --Image$$??$$Limit 含义(zz)…
通过*.m51文件我们能够清楚的看到单片机存储器的使用情况,以及能够看到每一个变量包含局部变量的位置. 之前碰到一个问题,相同的程序,在small模式下编译后执行没问题,但在large模式下能够编译.可是执行出错.最后查看m51文件,发现了问题.在一个对时序要求非常严格的地方声明几个局部变量.这几个局部变量有的被分配到data中.有的分配到xdata,在xdata中的变量訪问时间要大于data中.导致整个代码时间管控出现混乱,最后将分配到xdata的变量用data修饰后.,编译成功通过. 以下是…
Limit 含义了解RO,RW和ZI需要首先了解以下知识:ARM程序的组成此处所说的“ARM程序”是指在ARM系统中正在执行的程序,而非保存在ROM中的bin映像(image)文件,这一点清注意区别.一个ARM程序包含3部分:RO,RW和ZIRO是程序中的指令和常量RW是程序中的已初始化变量ZI是程序中的未初始化的变量由以上3点说明可以理解为:RO就是readonly,RW就是read/write,ZI就是zero ARM映像文件的组成所谓ARM映像文件就是指烧录到ROM中的bin文件,也成为i…
在使用keil开发STM32应用程序时,点击Build后在Build Output窗口中经常会有如下信息:<ignore_js_op> 以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结: 这些参数的单位是Byte 图中几个参数分别代表  Code:代码的大小 RO:常量所占空间 RW:程序中已经初始化的变量所占空间 ZI:未初始化的static变量和全局变量以及堆栈所占的空间 上述参数和芯片Flash以及SRAM的对应关系是  Fl…
编译生成的文件: .plg:编译器编译结果 .hex和.bin:可执行文件 .map和.lst:链接文件 .obj:目标文件 .crf..lnp..d和.axf:调试文件 .opt:保存工程配置信息 .bak:工程备份文件…
1. 安装NuMicro_ICP_Programming_Tool_1.29.6425软件 2. 打开软件后选择目标芯片后点击“连接”按钮 3. 添加程序 4. 点击设定按钮进行设定 5. 点击开始 来自为知笔记(Wiz)…
一般 MCU 包含的存储空间有:片内 Flash 与片内 RAM,RAM 相当于内存,Flash 相当于硬盘.编译器会将一个程序分为好几个部分,分别存储在 MCU 不同的存储区.Keil 工程在编译完之后,会有相应的程序所占用的空间提示信息,如下所示:Program Size: Code=12266 RO-data=790 RW-data=232 ZI-data=8096 上面提到的 Program Size 包含以下几个部分:1)Code:代码段,存放程序的代码部分:2)RO-data:只读数…