① keil軟體生成的十六進制文件是0位元組是怎麽回事
應該是程序有錯誤,編譯沒通過。如果就算是一行執行命令也沒有,也會有一些啟動代碼的。
② keil程序問題,定義一個全局整型變數dat=12345,但在變數觀察窗口顯示卻為0.
這可能是編譯程序優化的結果,實際上,程序沒有為存儲空間初始化指定的值,數值直接進寄存器了,所以存儲空間值為0。如果dat值會被改變,就不一樣了,你試試增加一條指令dat=dat*2看看,就有值了。
③ keil4編譯後的程序大小怎麼確定啊Program Size: data=27.0 xdata=0 code=3112。可在電腦查看卻是8.84K
編譯後看代碼大小。
KEIL最下面的一欄裡面。
例如:
Program Size: data=79.0 xdata=31 code=7582
code後面 就是代碼的大小。
希望採納
④ Keil 調試時sec一直為0,不知道什麼原因啊
sec就是記錄程序運行時間的吧?
如果不是keil版本的問題,那麼就是硬體選擇的型號問題了。為什麼這么講呢?
我用atmel 51時,sec就有記錄,而用silicon 的C8051就沒有,用arm時也沒有。
⑤ 之前你的那個問題keil選項中產生HEX文件也是勾上的,程序編譯結果是0錯誤,0警告。但就是沒有生成hex
target not created說明你的程序有問題,必須更正。
程序不正確當然不會生成HEX了
⑥ keil編譯時空間不足
我用keil2,keil4編譯都沒有問題的。
重新建一個工程,再試下。
下圖就是用keil4編譯的結果。估計是沒有破解。或者破解的不對。
⑦ 用keil vision2編譯c語言寫的程序並生成hex文件,但沒有報告code的大小,這是怎回事
這里有一點需要的是:
無論是HEX的大小,還是編譯後CODE的大小,都不是燒入到MCU中代碼的「真實」容量。
因為這里涉及到數據存放格式相關問題,具體我就不說了。
一般來說,燒入到MCU硬體中去的程序大小,會比你keil編譯後的CODE的大小稍微小一些,但差距不會很大。
所以在一般使用中,可以把編譯後CODE的大小來作為實際程序容量的一個參考,,,話再說回來,LZ一般不會去那樣極限編程吧,LZ你編譯後,CODE的大小是多少呢??
我的郵箱是:
[email protected]
有什麼問題的話,可以郵件交流等。
⑧ keil c51生成的工程為什麼是0KB
你選擇一下輸出設置(工具條裡面有個「Target」,它的右邊有個"Target Option」按鈕,點擊,裡面有Output頁,把create hex file選項選中(前面打鉤),再試試。
你需要先建立一個項目,否則這些選項都是禁用的。
試試吧。