1. 程式人生 > >Keil-MDK編譯完成後代碼大小

Keil-MDK編譯完成後代碼大小

aid 程序 log 編譯 空間 href 簡單的 font ini

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

文章參考:https://blog.csdn.net/fxh296249331/article/details/50721896

Keil-MDK編譯完成後代碼大小