很多單片機(jī)的生成鏡像都是Intel hex 格式的,此工具是用來計(jì)算行尾的校驗(yàn)和的,只要將一行的數(shù)據(jù)域(:和結(jié)尾校驗(yàn)字節(jié)除外)復(fù)制到工具中,就能計(jì)算出其校驗(yàn)和,
對于要修改hex鏡像的數(shù)據(jù)來說,有了這工具就可以方便計(jì)算修改后的校驗(yàn)和了,適合嵌入式開發(fā)人員備用。
什么是 Intel HEX 文件格式:
Intel HEX 文件是遵循 Intel HEX 文件格式的 ASCII 文本文件。在 Intel HEX 文件的每一行都包含了一個 HEX 記錄。這些記錄是由一些代表機(jī)器語言代碼和常量的16進(jìn)制數(shù)據(jù)組成的。Intel HEX 文件常用來傳輸要存儲在 ROM 或者 EPROM 中的程序和數(shù)據(jù)。大部分的 EPROM 編程器能使用 Intel HEX 文件。
intel hex文件組成:
Intel HEX由任意數(shù)量的十六進(jìn)制記錄組成。每個記錄包含5個域,它們按以下格式排列:
Start Code 每個 Intel HEX 記錄都由冒號開頭
Byte count 是數(shù)據(jù)長度域,它代表記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量
Address 是地址域,它代表記錄當(dāng)中數(shù)據(jù)的起始地址
Record type 是代表HEX記錄類型的域,它可能是以下數(shù)據(jù)當(dāng)中的一個:
00-數(shù)據(jù)記錄
01-文件結(jié)束記錄
02-擴(kuò)展段地址記錄
03-開始段地址記錄
04-擴(kuò)展線性地址記錄
05-開始線性地址記錄
Data 是數(shù)據(jù)域,一個記錄可以有許多數(shù)據(jù)字節(jié).記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量必須和數(shù)據(jù)長度域中指定的數(shù)字相符
Checksum 是校驗(yàn)和域,它表示這個記錄的校驗(yàn)和.校驗(yàn)和的計(jì)算是通過將記錄當(dāng)中所有十六進(jìn)制編碼數(shù)字對的值相加,以256為模進(jìn)行以下補(bǔ)足。