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

相关文章
|
7月前
|
编译器 C语言 Windows
cryptopp使用Qt mingw编译,以及海思平台交叉编译
cryptopp使用Qt mingw编译,以及海思平台交叉编译
190 0
|
Java
最详细 keil5 和 cubeMX安装教程
最详细 keil5 和 cubeMX安装教程
304 0
|
芯片
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
937 0
STM32-FreeRTOS源码下载及移植步骤(基于Keil)
|
7月前
|
编译器
使用海思v500交叉编译器编译qt5.4.2版本
使用海思v500交叉编译器编译qt5.4.2版本
143 1
|
7月前
【ZYNQ】Petalinux 编译工程报错
【ZYNQ】Petalinux 编译工程报错
123 0
MDK4工程用MDK5打开,编译引起的错误
MDK4工程用MDK5打开,编译引起的错误
149 2
MDK4工程用MDK5打开,编译引起的错误
|
JSON 数据可视化 数据格式
KiCad 编译
官网说在5.99和最终的6.0版本已经切换到msvc了,虽然还支持msys2但是可能支持不好。我再使用msys2编译最新的7.0的时候编译会报一个boost错误,我猜测应该是msys2下载的boost版本太低,而最新版本使用的一些函数已经找不到实现了,所以我下载了一个6.0版本的KiCad来使用msys2编译
251 0
MDK(keil)工具:如何使用MDK生成bin文件
MDK(keil)工具:如何使用MDK生成bin文件
224 0
MDK(keil)工具:如何使用MDK生成bin文件
|
Linux
MSVC编译多个C程序文件
MSVC编译多个C程序文件
167 0
如何在Keil-MDK开发环境生成Bin格式文件
如何在Keil-MDK开发环境生成Bin格式文件
128 0
如何在Keil-MDK开发环境生成Bin格式文件