基本 HEX檔案格式定義

2021-10-07 13:26:30 字數 1418 閱讀 2994

此處簡單的對於hex檔案進行一些說明介紹,主要介紹了關於hex檔案基本的架構與資料定義

此章過於簡單以至於沒多少字,主要是hex檔案本就是使用一種視覺化顯示不在ascii編碼內真實資料的一種方式,其較為完整的將binary類別檔案轉換為ascii+特殊定義的格式且全部都是視覺化的思想真的是很厲害。但是檔案格式本身感覺確實沒啥說的,主要是在對於後面的object解析檔案做引子。

技能名稱

技能熟練度

技能教程鏈結

資料型別

熟悉暫無

hex檔案格式常用於嵌入式軟體程式設計時作為最後的生成**資料的檔案格式之一,其特點是將**資料與rom位址組合在一起,方便與上層生成軟體進行解耦,也便於燒寫器進行燒寫。hex檔案**可以直接使用搜尋引擎進行搜尋,這裡不再贅述。

開啟hex檔案就可以看出,檔案的格式很容易識別。

乙個合格的hex檔案編碼格式遵循的就是資料段的原則。每段資料段定義極少的資料區,每個資料區為16進製制直接轉換的ascii編碼,一段資料段分為:段起始、資料長度定義、資料位址(偏移位址)、段定義、資料、校驗和。

一段的段起始為0x3a,顯示的就是:,也是軟體識別段的方式。

這個直接定義為16進製制的資料,與後面的資料直接對應。

資料位址一般都會定義為當前基位址的偏移(0~ffff),當然也可以直接定義為當前位址。資料格式為16進製制。

暫時hex支援的定義為6種:

'00' data rrecord:用來記錄資料,hex檔案的大部分記錄都是資料記錄

'01' end of file record: 用來標識檔案結束,放在檔案的最後,標識hex檔案的結尾

'02' extended segment address record: 用來標識擴充套件段位址的記錄

'03' start segment address record:開始段位址記錄

'04' extended linear address record: 用來標識擴充套件線性位址的記錄

'05' start linear address record:開始線性位址記錄

這些段定義僅是定義了當前的段在檔案中的資料標誌。乙個檔案可以出現多個段和多個起始與結束。這也是大多數的資料檔案的組成格式。畢竟這樣可以大幅度的節省冗餘資料。

但是需要注意的是,如果當前資料是嚴格按照一定規律排列且有對於程式完整性進行校驗的需求的話,有必要將所有的資料進行填充。這個在之後的文章中會講到。

當前段的資料,也是16進製制。

校驗和的計算為前方所有的資料的累加和,用於保證當前資料沒有錯誤。

HEX檔案格式

hex檔案格式描述 1intel hex檔案是由一行行符合intel hex檔案格式的文字所構成的ascii文字檔案。在intel hex檔案中,每一行包含乙個hex記錄。這些記錄由對應機器語言碼和 或常量資料的十六進製制編碼數字組成。intel hex檔案通常用於傳輸將被存於rom或者eprom中...

HEX檔案格式

nec微控制器編譯器pm 生成的燒錄檔案是hex檔案。hex檔案的intel格式 這是intel公司提出的按位址排列的資料資訊,資料寬度為位元組,所有資料使用16進製制數字表示.例子 10008000af5f67f0602703e0322cfa92007780c361 1000900089001c6...

hex檔案格式

hex檔案是可以燒寫到微控制器中,被微控制器執行的一種檔案格式,生成hex檔案的方式由很多種,可以通過不同的編譯器將c程式或者匯程式設計序編譯生成hex。hex檔案如果用特殊的程式來檢視 一般記事本就可以實現 開啟後可發現,整個檔案以行為單位,每行以冒號開頭,內容全部為16進製製碼 以ascii碼形...