對於單片機程序占了多少字節?單片機還剩多少存儲空間?想必你看到這篇文章時對這兩個問題也很迷糊吧,
接下來我就把自己所了解到的關於單片機程序占用空間大小的問題做一個整理,方便自己也方便他人。
轉載請注明出處!
1.STM32類單片機中在程序編譯后會出現下面圖片中所示內容
上圖中分別有Code、RO-data、RW-data、ZI-data,
Code:表示所要執行的代碼,程序中所有的函數都位於此處。
RO-data: 表示只讀數據,程序中所定義的全局常量數據和字符串都位於此處。
RW-data:表示已初始化的讀寫數據,程序中定義並且初始化的全局變量和靜態變量位於此處。
ZI-data:表示未初始化的讀寫數據,程序中定義了但沒有初始化的全局變量和靜態變量位於此處。
通過上面的描述就可以看出:
- 下載到單片機FLASH的程序是:Code+RO-data+RW-data(上圖中數據為字節數,kb=byte/1024);
- 運行在RAM中的數據是:RW-data+ZI-data;
2.51類單片機編譯后會有如下畫面
上圖上分別有data、xdata、const、code。
data:片內RAM區消耗。
xdata:片內擴展區RAM區消耗。
code:表示所要執行的代碼,程序中所有的函數都位於此處。
下載到單片機FLASH中的程序大:code+const
下載到單片機RAM的大小為:data+xdata