:0800000000FFFFFFFFFFFF00FE :080008000624000001010101C2 :080010002B180103810000FF21 :080018000A01010101010101CF :080020000101010000000101D3 :080028000101010101010101C8 :08003000010101010101951B12 :0800380056785000183028280A :0800400088009AE61028081858 :080048000000001000000000A0 :080050000000000000000000A8 :08005800000000000010000090 :08006000000000000000000098 :08006800000000000000001080 :08007000000000000000000088 :0800780000000000000000F789 :0800800000FFFFFFFFFFFF007E :08008800062400000101010142 :080090002B180103810000FFA1 :080098000A010101010101014F :0800A000010101000000010153 :0800A800010101010101010148 :0800B000010101010101951B92 :0800B80056785000183028288A :0800C00088009AE610280818D8 :0800C800000000100000000020 :0800D000000000000000000028 :0800D800000000000010000010 :0800E000000000000000000018 :0800E800000000000000001000 :0800F000000000000000000008 :0800F80000000000000000F709 :00000001FF
可以將Hex檔案的每一列,都可以分成六個單位來看,這裡拿第二列做例子
: 08 0008 00 0624000001010101 C2
1. 首先,可以看到每列都是用「:」開頭,這是hex檔案的起始記號。
2. 接下來第二部分看到0x08,是指該列帶有幾個byte的資料,以16進位表示,這裡帶有8筆資料,這個欄位就是0x08,若有16筆資料則為0x10。
3. 第三個部分是0x0008,是指這筆資料應放置的起始位置,像這個檔案的資料是連續擺放,第一列的資料放在0x0000~0x0007,所以第二列就是自0x0008開始,以此類推。
4. 第四個部分0x00H,定義很單純,該列有資料就是0x00H,沒資料就是0x01。
5. 第五個部分0x0624000001010101,就是放在該列的資料內容。
6. 第六個部分0xC2,先用簡單的加法算算看,0x08+0x00+0x08+0x00+0x06+0x24+0x00+0x00+0x01+0x01+0x01+0x01+0xC2 = 0x100,最後一個byte一定是0x00,因為這個欄位是checksum,可以使每列的每個byte相加起來的總值最末位byte為0x00,如果這邊計算結果不對,則使用上會出現錯誤。
以上的規則組成了hex檔案的內容。
沒有留言:
張貼留言