visited 13 states (5.77%)
Create your own visited map of The World or Triposo world travel guide for Android

2014-10-23

燒錄用Hex檔案格式介紹

首先,先貼一段Hex檔案範例

: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檔案的內容。

這些也是同標籤文章 :

沒有留言: