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

2021-09-02 23:42:11 字數 489 閱讀 8000

首先從**編譯的結果來看首先從**編譯的結果來看

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 上還有堆區和棧區,堆區需要程式開發人員自己分配和釋放,棧區由系統自動分配釋放。

微控制器中ROM和RAM

在微控制器中用來儲存程式資料及常量資料或變數資料,凡是c檔案及h檔案中所有 全域性變數 區域性變數 const 限定符定義的常量資料 startup.asm檔案中的 類似arm中的bootloader或者x86中的bios,一些低端的微控制器是沒有這個的 通通都儲存在rom中。ram randoma...

微控制器的ROM與RAM

rom read only memory 程式儲存器 在微控制器中用來儲存程式資料及常量資料或變數資料,凡是c檔案及h檔案中所有 全域性變數 區域性變數 const 限定符定義的常量資料 startup.asm檔案中的 類似arm中的bootloader或者x86中的bios,一些低端的微控制器是沒...

51微控制器 RAM 資料儲存區

ram 是程式執行中存放隨機變數的資料空間。在 keil 中編寫程式,如果當前模式為small模式,如果總的變數大小未超過128b 則未初始化的變數的初值預設為 0.如果所有的變數超過微控制器small模式下的128b 大小,則必須對變數進行初始化,否則超過 ram大小變數的值是不確定的,在smal...