hex 檔案記錄格式如下:
:aabbbbccdd......ddee
其中: 表示行起始標誌
aa:表示本條記錄中的資料位元組數
bbbb:本條記錄中的資料在儲存區中的起始位址
cc:記錄型別,含義如下:
'00' data record
'01' end of file record
'02' extended segment address record
'03' start segment address record
'04' extended linear address record
'05' start linear address record
dd......dd:表示資料位元組
ee:表示校驗和,具體演算法為 0x100-((0xaa+0xbb+0xbb+0xcc+0xdd+......+0xdd)%256)
示例::
020000040000fa ,
我把它看做
0x02 0x00 0x00 0x04 0x00 0x00 0xfa
其中:0x02:表示本記錄有效資料長度為0x02
0x0000:表示本條記錄在
0x04:表示本條記錄為
extended linear address record
接下來的兩個位元組表示有效資料
0xfa:表示校驗和 0xfa=0x100-(0x02+0x00+0x00+0x04+0x00+0x00)
最後一行為檔案結束標誌:
:00000001ff
hex實際占用儲存區大小計算辦法
hex實際大小=檔案結束標誌前面一條記錄的儲存起始位址+這條記錄的有效資料長度
相關校驗測試程式
:下面演算法實現記錄的校驗,校驗成功返回1,失敗返回0
bit analysehex(char hex
,int
len)
while
(i<
(len
-2))
;cc%
=256;
cc=0x100-cc;
temp[0]
=hex
[i++];
temp[1]
=hex
[i++];
sscanf(temp,
"%x"
,&data)
;return (cc=
=data)
?1:0;
}int _tmain(
int argc, _tchar* argv)
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碼形...