Keil-MDK編譯完成後代碼大小
阿新 • • 發佈:2018-08-16
aid 程序 log 編譯 空間 href 簡單的 font ini
1B(byte,字節)= 8 bit(見下文);
1KiB(Kibibyte,千字節)=1024B= 2^10 B;
1MiB(Mebibyte,兆字節,百萬字節,簡稱“兆”)=1024KB= 2^20 B;
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。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編譯完成後代碼大小