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