1樓:
hex檔案是一個16進位制檔案,可以用記事本開啟後看到其ascii碼,這個是高層檔案的大小。
而我們平時說的64k程式的微控制器是值有64kb二進位制儲存空間,keil生成hex檔案的的具體檔案結構有下面的朋友「_bingri」回答了,由此得出真正的所需要的二進位制檔案要比hex小。
至於hex的大小,同樣一個工程檔案,選擇不同的編譯引數和命令列,就能得到同樣功能(即由16進位制轉到2進位制的機器碼大小不變),但hex檔案大小不同的檔案(選擇不同的編譯引數和命令列)。
另外,要值得注意的是,根據我的認識,我還有糾正下面的一位朋友「_bingri」的一個錯誤:keil編譯生成hex檔案大小與微控制器內的flash空間大小 沒有關係!
這個是錯誤的:這個是有關係的,並且如果程式的容量比微控制器的rom的容量大很多時,多出微控制器最大rom地址的**將無法寫入晶片中(而現在的上層程式設計器相應的燒寫軟體都可能基本上在這之前就對hex轉成的2進位制檔案大小進行判斷了,如果超出實際大小,就不能燒寫晶片了)
2樓:匿名使用者
hex生成二進位制**(0,1)才是真正的大小,在燒錄軟體的編輯筐中看到
3樓:匿名使用者
hex檔案的77k,是指77k byte,還是77k bit?
如是byte,你這77kb,是不是通過點右鍵屬性裡看到的,還是把滑鼠放在檔案上顯示出來的。這兩種檢視的方法會有點區別。如真的是77kbyte,燒錄的時候好像會出錯。
我以前燒錄過8mb,只超過幾十kb,就出錯了。
如是bit,就不用說了,絕對可以的。
4樓:生活營口
keil編譯生成hex檔案不全是要燒錄到微控制器內.
實際大小可以在燒錄軟體的編輯中看到.
5樓:不想再這樣
12k的程式,實際寫入flash的只有3k大小。keil5。
6樓:
看hex的大小做什麼.............
佔用的code行在編譯生成**的時候就能看到吧~
微控制器程式大小是看生成的hex檔案的大小還是看keil編譯結束後顯示的code大小?
7樓:
這裡有一點需要的是:
無論是hex的大小,還是編譯後code的大小,都不是燒入到mcu中**的「真實」容量。
因為這裡涉及到資料存放格式相關問題,具體我就不說了。
一般來說,燒入到mcu硬體中去的程式大小,會比你keil編譯後的code的大小稍微小一些,但差距不會很大。
所以在一般使用中,可以把編譯後code的大小來作為實際程式容量的一個參考,,,話再說回來,lz一般不會去那樣極限程式設計吧,lz你編譯後,code的大小是多少呢??
我的郵箱是:
有什麼問題的話,可以郵件交流等。
8樓:匿名使用者
當然是code的大小,hex是顯示你的文字檔案的大小,跟**的大小是有一定區別的。
9樓:
那當然是keil編譯結束後顯示的code大小
10樓:匿名使用者
是hex的大小,因為hex檔案才是下到微控制器中的東西
為什麼同一個程式用keil2和keil3生成的hex檔案大小不一樣
11樓:匿名使用者
c編譯器的版本不同、採用的優化級別不同都會導致目標**大小變化,一般新版本比老版本產生的**好些。我原來試過從keil3升級到keil4,但編譯器版本沒變,結果發現生成的hex大小完全一樣。
51微控制器,用keil編譯生成的 hex檔案是有什麼構成的。
12樓:匿名使用者
其實,你如果用ultra edit之類的工具開啟hex檔案,你就會發現,它其實是這麼組成的:資料地址+資料長度+實際資料組成的,而實際資料就是bin檔案的組成部分。所以,bin檔案和hex是可以互相轉換的,但hex肯定比bin大
檔案大小的換算方法
1byte 8bits 1kib 1,024bytes 1mib 1,048,576bytes 1gib 1,073,741,824bytes1tib 1,099,511,627,776bytesbyte,位元組,是最小的單位 檔案大小能衡量一個計算機檔案的大小。通常情況下以帶字首的位元組數表示。檔...
檔案大小超過7G的galgame
超過7個g玩到現在也沒見過,school day 日在學校 to heart 心之彼端 一共兩部 建議你玩玩little busters 遊戲做的很用心 不好意思這些遊戲發郵箱困難點,太大,網上各種資源關於新回答 隙間櫻花與謊言都市 77 two stars meet again 白熊鈴星群 架向星...
怎樣在硬碟中搜尋出知道檔案大小的檔案
按已知的檔案大小搜尋檔案 使用搜尋篩選器可以按檔案屬性 例如按檔案大小 搜尋檔案。搜尋篩選器是 windows 7 中的一項新功能。開啟要搜尋的資料夾 庫或驅動器。單擊搜尋框,然後單擊搜尋篩選器中的 大小 如下圖所示 在其中既可選擇檔案大小的範圍,也可在 大小 後面直接輸入檔案的大小。例如,輸入 1...