keil中編譯代碼大小
① keil中code大小的問題
是的,代碼就是15個位元組,2K毫無問題
② Keil uVision3能寫多大的代碼啊
如果沒有注冊的且不是破解版的,那最大可以支持2kb如果有注冊或者是破解版的 最大可以達到4kbC語言的編寫400多行,應該是可以編譯的如果不行的話 我這邊有個Keil uVision2軟體,需要的話告訴我 我傳送給你希望這能幫助到你。
③ keil MDK編譯時,怎麼顯示代碼大小
Build之後 會有提示(Keil 5後面的版本 只有第一次編譯才有提示)。
Keil系列教材:
http://blog.csdn.net/column/details/13472.html
④ keil編譯生成hex文件大小與單片機內的flash空間大小有什麼關系啊
1. keil編譯生成hex文件大小與單片機內的flash空間大小 沒有關系!
2. HEX 文件的大小,不是最終的代碼大小, 一般實際要更小一些. 如果有興趣研究,可以下載一下叫做 hex2bin 的小程序,可以把hex轉換為bin的
Intel hex 文件格式解密
Intel hex 文件常用來保存單片機或其他處理器的目標程序代碼。它保存物理程序存儲區中的目標代碼映象。一般的編程器都支持這種格式。
Intel hex 文件全部由可列印的ASCII字元組成(可以用記事本打開),如下例所示:
:bd81
:bd2a
:0874
Intel hex 由一條或多條記錄組成,每條記錄都由一個冒號「:」打頭,其格式如下:
:CCAAAARR...ZZ
其中:
CC 本條記錄中的數據位元組數
AAAA 本條記錄中的數據在存儲區中的起始地址
RR 記錄類型:
00 數據記錄 (data record)
01 結束記錄 (end record)
02 段記錄 (paragraph record)
03 轉移地址記錄 (transfer address record)
... 數據域
ZZ 數據域校驗和
Intel hex文件記錄中的數字都是16進制格式,兩個16進制數字代表一個位元組。CC域是數據域中的實際位元組數,地址、記錄類型和校驗和域沒有計算在內。校驗和是取記錄中從數據位元組計數域(CC)到數據域(...)最後一個位元組的所有位元組總和的2的補碼。
⑤ keil4中代碼量的限制是指uvproj文件格式的大小嗎
不是,是代碼編碼出來的大小,用破解工具算個號就可以無限制
⑥ keil4編譯後的程序大小怎麼確定啊Program Size: data=27.0 xdata=0 code=3112。可在電腦查看卻是8.84K
編譯後看代碼大小。
KEIL最下面的一欄裡面。
例如:
Program Size: data=79.0 xdata=31 code=7582
code後面 就是代碼的大小。
希望採納
⑦ keil編譯後code的大小問題
這個很簡單,首先先說最後一條,你涉及到了小數,也就是浮點數的計算,在所有的單片機中,有的帶有浮點數計算,比如高級的ARM,有些不帶,凡是不帶浮點數硬體計算模塊的,都要通過語言來處理,浮點數的計算是非常復雜的,所以,最後一個代碼最大,當然,結果也最精確。
再說第一個,為什麼會最小,因為單片機會先計算 625/10000,你認為結果是多少?0.0625?
錯,如果你的res是浮點型的,那麼,計算的結果可能是 0.0625,如果你的res是整形的,那麼,計算的結果是0,而這里,我敢肯定,你的res是整形的,相當於再計算 tem = res*0,結果是0,也就是說,你第一條是個錯誤的,得到的結果恆0
而第2條語句,先是計算 res*625,再去計算除法,這樣,不會出現常數結果,所以耗時比第一條語句大。
如果你的結果要求比較准確,我建議你用第三條語句,雖然費時間。
另外,你完全可以用查表法來完成,而不必要用浮點數計算,畢竟51單片機的能力比較差。
⑧ keil不能編程代碼超過6k,超過6k就提示錯誤,然後刪除一點代碼估計小於6k了就又能生產hex!
你使用的Keil是評估版,不能編譯超過2kB(0800H)的代碼。
你所謂的6k是所生成hex文件的大小,與代碼大小並不相同。
⑨ keil中編譯時代碼過大導致工程失敗怎麼辦
各種MCU的代碼容量都是有限的,例如,89c51的容量是4K,如果你的程序編譯時超過了4K,那編譯器就不會再往下走了,而是出現target not created,解決辦法就是換塊引腳兼容的MCU,例如89C51換成89C52,容量變8K,就可以解決問題了
⑩ 用keil編譯51程序時,下面的Program Size: data=47.0 xdata=0 code=3092,是什麼意思各個值允許最大是多少
data=47.0 編譯器編譯後,程序總共需要佔用47位元組的片內RAM空間。注意這個大小僅僅是累加而已,並未考慮各個塊之間的空隙,也就是說實際佔用的RAM空間可能多於此數值。
xdata=0 程序未使用片外RAM(映射)空間
code=3092 編譯器編譯出的各個代碼塊總共大小為3092位元組。與前面的data一樣,由於各個塊之間可能存在空隙,因此實際生成的代碼大小可能多於此數值。