|
Program Size: Code=344 RO-data=252 RW-data=100 ZI-data=1024
看了多遍,總是忘,這次還是把它分析透了吧,若有不對(duì)的地方還請(qǐng)各位看官指正補(bǔ)充
固定不變的代碼存在ROM或flash里;這個(gè)固定不變的代碼有兩種,一種是指令,一種是指令的操作數(shù),比如查表量,const常量,變量的初始化數(shù)值等等,在哈佛結(jié)構(gòu)中即是,指令總線與數(shù)據(jù)總線分別對(duì)以上兩種代碼進(jìn)行操作;
變化的量,即在程序運(yùn)行過程中經(jīng)常需要改“寫”的量存放在RAM中。
好了,現(xiàn)在開始解釋上面的各種代碼所表示的意義:
code=344 這個(gè)是存在ROM(flash)里的指令,這是在程序運(yùn)行過程中不變的量,是指令,在哈佛結(jié)構(gòu)中由(I-bus)指令總線讀。
RO-data (read only data)只讀數(shù)據(jù),是指令的操作數(shù), 在哈佛結(jié)構(gòu)中由數(shù)據(jù)總線(D-bus)讀;
RW-data 表示初始化了的可讀寫變量的大小,這個(gè)存在兩個(gè)地方,初始化量存在ROM/FLASH中,由于還要對(duì)其進(jìn)行“寫”操作所以RAM中也要占用相應(yīng)的空間
ZI-data 即zero-initialize 未被初始化的變量,這個(gè)顯然也是存在RAM中
所以該工程對(duì)ROM的需求為code+RO-data+RW-data;
RAM最大需求為RW-data+ZI-data ;
也即ROM=前三加 RAM等于后二加 前三后二是也。
|
|