BIN HEX AXF ELF檔案說明

2021-08-26 22:41:53 字數 1561 閱讀 8920

hex檔案

hex檔案,指的是intel標準的十六進製制檔案,也就是機器**的十六進製制形式,並且是用一定檔案格式的ascii碼來表示:

intelhex檔案常用來儲存微控制器或其他處理器的目標程式**。它儲存物理程式儲存區中的目標**映象。一般的程式設計器都支援這種格式。

intelhex檔案全部由可列印的ascii字元組成。

hex檔案是用ascii來表示二進位制的數值。例如一般8-bit的二進位制數值0x3f,用ascii來表示就需要分別表示字元'3'和字元'f',每個字元需要乙個byte,所以hex檔案需要》2倍的空間。

bin檔案

bin檔案是最純粹的二進位制機器**,沒有格式,或者說是"順序格式"按assemblycode順序翻譯成binarymachinecode.bin是直接的記憶體映象的表示。

對乙個bin檔案而言,你檢視檔案的大小就可以知道檔案包括的資料的實際大小。而對hex檔案而言,你看到的檔案大小並不是實際的資料的大小。一是因為hex檔案是用ascii來表示資料,二是因為hex檔案本身還包括別的附加資訊。

hex和bin區別

hex檔案是包括位址資訊的,而bin檔案格式只包括了資料本身

axf檔案

axf檔案是arm的除錯檔案,除了包含bin的內容之外,還附加了其他的除錯資訊,這些除錯資訊加在可執行的二進位制資料的前面。在除錯的時候,這些除錯資訊是不必下到ram中去的,真正下到

ram中的資訊僅僅是可執行**。所以如果ram的大小小於axf檔案的大小,程式是完全有可能可以在ram中除錯的,只要axf除去除錯資訊後的大小小於ram的大小就行了。

除錯資訊包含以下內容:

1.可以將源**包括注釋夾在反彙編**中,並且我們可以隨時切換到源**中除錯,

2.我們還可以對程式中的函式呼叫情況進行跟蹤(用watch & call stack window檢視)。

3.對變數進行跟蹤(用watch & call stack window檢視)。

4.使用編譯命令列選項--no_debug_macros以從除錯表中丟棄預處理巨集定義。

elf檔案

linux os下,elf通常就是可執行檔案,通常gcc-o test test.c,生成的test檔案就是elf格式的,在linux shell下輸入./test就可以執行。在embedded中,上電開始執行,沒有os系統,如果將elf格式的檔案燒寫進去,包含一些elf格式的東西,arm執行碰到這些指令,就會導致失敗,如果用bin檔案,程式就可以一步一步執行

arm elf(executable and linkingformat)目標檔案主要由.text段、.data段、.bss段構成,其他段如.debug段、.comment暫不作介紹。

.text段由可執行**組成,段型別為code,屬性為ro;

.data段由已初始化資料組成,段型別為data,屬性為rw;

.bss段由未初始化資料組成,段型別為zero,屬性為rw,在應用程式啟動時對該段的資料初始化為零。如果在分散載入檔案中指定了uninit屬性,則在應用程式啟動時不初始化該段。

也說eclipse檔案編碼

也說eclipse檔案編碼 使用eclipse構建web應用程式時,中文亂碼的問題始終難以有效的解決,下面提供一些常見的問題的解決方法。1.更改專案檔案編碼方式 2.如何檢視乙個檔案的編碼方式?3.如何修改乙個檔案的編碼方式?1.更改專案檔案的編碼方式?如果專案剛剛開始,很幸運,先把整個專案的編碼方...

Python Logging模組 配置檔案說明

首先直接來看乙個配置檔案 loggers keys root,example handlers keys consolehandler,filehandler formatters keys formatter logger root level debug handlers filehandler...

Visual Studio專案目錄和檔案說明

visual studio專案屬性配置 vs6.0以及之前的版本是非常舊了,跟vs2002以及之後的版本有非常大的差別。vs2002之後,雖然每個版本都有變化。但是思想上已經非常成熟了。vc5,6的工程檔案是.dsp vc2002 2008工程檔案是vcproj vc2010之後是vcxproj v...