Keil-MDK编译完成后代码大小

简介: Keil-MDK编译完成后代码大小

Code 代表执行的代码,程序中所有的函数都位于此处。

RO-data 代表只读数据,程序中所定义的全局常量数据和字符串都位于此处。

RW-data 代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处。

ZI-data 代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处。

KEIL RVMDK编译后的信息

Program Size: Code=86496 RO-data=9064 RW-data=1452 ZI-data=16116

这些参数的单位是Byte,几个参数分别代表含义如下:

1KB=1024B;1MB=1024KB=1024×1024B。其中1024=2^10。

1B(byte,字节)= 8 bit(见下文);

1KiB(Kibibyte,千字节)=1024B= 2^10 B;

1MiB(Mebibyte,兆字节,百万字节,简称“兆”)=1024KB= 2^20 B;

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

相关文章
|
存储 算法 C语言
C库函数详解 - 内存操作函数:memcpy()、memmove()、memset()、memcmp() (一)
`memcpy()` 和 `memmove()` 是C语言中的两个内存操作函数。 `memcpy()` 函数用于从源内存区域复制指定数量的字节到目标内存区域。它不处理内存重叠的情况,如果源和目标区域有重叠,结果是未定义的。函数原型如下: ```c void *memcpy(void *dest, const void *src, size_t num); ```
1004 6
STM32CubeMX FreeRTOS 任务的挂起和恢复
STM32CubeMX FreeRTOS 任务的挂起和恢复
431 12
QT 软件打包为一个单独可执行.exe文件流程
QT 软件打包为一个单独可执行.exe文件流程
2002 0
stm32f407探索者开发板(十四)——IO引脚复用和映射
stm32f407探索者开发板(十四)——IO引脚复用和映射
1575 0
|
测试技术
开源按键组件MultiButton支持菜单操作(事件驱动型)
开源按键组件MultiButton支持菜单操作(事件驱动型)
854 1
开源按键组件MultiButton支持菜单操作(事件驱动型)
MFC学习之路十三之定时器的使用
MFC学习之路十三之定时器的使用
333 0
|
存储 JSON 前端开发
【第40期】一文彻底搞懂React网络请求
【第40期】一文彻底搞懂React网络请求
566 0
[Halcon&笔记] Tuple类型数组
[Halcon&笔记] Tuple类型数组
266 1
|
编解码 机器人
标定系列一、手眼标定基础介绍
标定系列一、手眼标定基础介绍
784 0
|
Linux C语言 Android开发
ESP8266透传:利用STM32f103zet6发送数据到HTTP服务器
ESP8266透传:利用STM32f103zet6发送数据到HTTP服务器
761 0