**微控制器的RAM 和ROM 儲存了哪些東西?**

黑大寶發表於2018-12-11

首先從程式碼編譯的結果來看首先從程式碼編譯的結果來看
text data bss dec
aaa bbb ccc ddd
首先text 意思就是程式碼,下方數字就是程式碼段所佔空間大小,單位為位元組(byte) text 區儲存著程式碼以及常量、const 宣告的常量。

data意思就是資料,下方數字就是資料區所佔空間大小,data區儲存著初始化了的全域性變數以及static宣告的賦初值的靜態變數。

bss不知道什麼意思,下方數字就是該區所佔空間大小,該區儲存著未賦初值的全域性變數和static宣告的未賦初值的靜態變數,dec只是三者的和,沒什麼意義。

test區儲存在ROM中,ROM也叫做只讀儲存器,ROM 上的資料在程式執行時不可以改變,只能讀,不能寫。

data區和bss區儲存在RAM 上,RAM 也叫做隨機存取儲存器,上面的資料在程式執行時既可以讀又可以寫

其中RAM 上還有堆區和棧區,堆區需要程式開發人員自己分配和釋放,棧區由系統自動分配釋放。

相關文章