微控制器C語言編譯後 Program Size data 10 0 xdata 0 code 95,這幾句是什麼意思?

2025-07-06 12:10:05 字數 3052 閱讀 9622

1樓:網友

微控制器內部 data也就是ram使用了10b 外部ram使用了0 也就是你沒有使用外部ram

code 內部的rom使用了95位元組。

2樓:網友

你佔了內部ram 10位元組。

外部ram 0位元組。

內部rom 95位元組。

keil編譯後下方的輸出視窗有句話 program size:data= 9.0 xdata=0 code=50 這句話是什麼意思,揭示了什麼

3樓:飛飛三號

這個應該是編譯後的檔案佔用微控制器系統儲存的容量表示,以便於選擇不同儲存容量型號的微控制器時做乙個參考,或者對程式修改或公升級時有乙個參考和估計,data對應的是片內的ram,xdata對應的是程式中片外擴充套件的儲存器上需要佔用的容量,code是編寫的程式佔用微控制器片內的儲存程式rom上的容量。同一系列不同型號的微控制器,有時候ram和rom的大小是不一樣的。

4樓:網友

data=

資料儲存器ram佔用9位元組,code=50

程式儲存器rom佔用50位元組,

keil編譯後下方的輸出視窗有句話 program size:data= 9.0 xdata=0 code=16 這句話是data=9.0是什麼意思?

5樓:網友

data=是變數用了9個。

void main()

c:0x0000 020003 ljmp c:0003

c:0x0003 787f mov r0,#0x7f

c:0x0005 e4 clr a

c:0x0006 f6 mov @r0,a

c:0x0007 d8fd djnz r0,c:0006

c:0x0009 758107 mov sp(0x81),#0x07

c:0x000c 02000f ljmp main(c:000f)

c:0x000f 22 ret

這是你的程式反彙編**,data和**就用了那麼多。

6樓:grade桃子精

88、四時田園雜興 範大成。

在keil中編譯後下方顯示 program size: data=11.0 xdata=0 code=282 其中這些數字代表什麼意思?

7樓:網友

「 data= xdata=0 code=282 」

代表生成的各個段的大小。具體來說,data=代表你這段程式生成的目標**所佔用微控制器的內部ram空間是個位元組;xdata是片外ram空間,xdata=0表示沒有使用片外ram空間資料;code=282代表生成的**大小(即rom空間,這裡一般指flash)是282位元組。

keil編譯 顯示 program size: data=9.0 xdata=6 code=309 是什麼意思怎麼解決

8樓:網友

chuangkougshougdaogshugju以及這兩個符號在多個檔案中重複定義,所以keil不知道以哪乙個為準。

做多檔案專案的時候,應當確定每個符號的本尊只在乙個檔案中定義,其它檔案通過extern宣告。

keil編譯後出現program size: data=21.0 xdata=0 code=

9樓:網友

這是告訴你。

data=資料儲存器ram佔用21位元組,code=2231

程式儲存器rom佔用2231位元組,不需要改的。

10樓:網友

……這又不是錯誤提示,改正什麼???

請問keil中編譯後的program size:data xdata code上限是多少

11樓:匿名使用者

取決於你的晶元的引數,code就是存在flash memory中的程式檔案,理論上你flash memory多大就可以寫進去多大,而keil編譯的大小取決於你編寫程式的大小,顯示的值只是告訴你當前寫的程式編譯後產生的大小是多少。data和xdata同理。

12樓:網友

取決於你所選的晶元以及其外圍儲存器的配置。

用keil編譯51程式時,下面的program size: data=47.0 xdata=0 code=3092,是什麼意思?各個值允許最大是多少?

13樓:網友

data= 編譯器編譯後,程式總共需要佔用47位元組的片內ram空間。注意這個大小僅僅是累加而已,並未考慮各個塊之間的空隙,也就是說實際佔用的ram空間可能多於此數值。

xdata=0 程式未使用片外ram(對映)空間。

code=3092 編譯器編譯出的各個**塊總共大小為3092位元組。與前面的data一樣,由於各個塊之間可能存在空隙,因此實際生成的**大小可能多於此數值。

14樓:網友

這要看你的微控制器。各種型號都不大一樣。這個是說明被你使用了多少。

keil編譯時出現「program size: data=133.0 xdata=0 code=3198」怎麼解決啊?

15樓:網友

只要生成了hex檔案,沒有錯誤,就沒問題,這個只是乙個提示資訊,我也不知道89c52的data有多大,你可以 點選 project---options for target---device檢視,如果你89c52的data超過了133,你可以考慮把原來定義的資料型別改成xdata

16樓:網友

專案 右鍵 option target

ram rom 都選擇最大模式,你這個是是因為data超出了128 .

或者用xdata定義變數。

17樓:網友

這個提示又不是出錯,只是告訴你編譯的結果而已。

89c52應當有8kb的flash,3k多的code不在話下。

c語言與微控制器

正如bai樓上的話,微控制器要du學模電數電,它還要學計zhi算機組成原理的,單dao片版機其實是大學的一個專業,要學權四年,要學得精並且能找到工作的話,恐怕你還是得看一下大學的課程包括什麼了。c語言的話理解容易但說學熟的話恐怕也不是一年半載的事情,你對電腦不熟這個是個很大的麻煩,我看過很多對電腦不...

微控制器C語言問題,微控制器C語言的一個問題 static bit a 什麼意思

c語言也不難,如果閣下肯花20小時,把c語言最基本的東西弄懂,肯定沒有什麼問題。我覺得微控制器開發中c語言用到最多的幾個部分基礎知識 比如資料型別,運算子,格式轉換 順序控制 if語句 switch語句 迴圈控制 while語句 for語句 陣列指標 其他一些c語言中的東西微控制器上用不了,也就大概...

c語言微控制器串列埠Printf quot abncd quot 怎麼傳送

微控制器最好別用這個函式,而且浪費是時間資源,自己定義print char char 還有print string char 可以先用sprintf 它只完成printf 的格式轉換功能,然後再呼叫自己的串列埠列印函式。為什麼這麼做呢,因為你用printf函式反彙編的時候你就知道了,它需要查詢ti是...