如何讀懂hex檔案

2021-03-04 09:44:41 字數 2254 閱讀 7390

什麼是 intel hex 檔案格式

intel hex 檔案是遵循 intel hex 檔案格式的 ascii 文字檔案。在 intel hex 檔案的每一行都包含了乙個 hex 記錄。這些記錄是由一些代表機器語言**和常量的16進製制資料組成的。

intel hex 檔案常用來傳輸要儲存在 rom 或者 eprom 中的程式和資料。大部分的 eprom 程式設計器能使用 intel hex 檔案。

intel hex由任意數量的十六進製制記錄組成。每個記錄包含5個域,它們按以下格式排列:

start code 每個 intel hex 記錄都由冒號開頭

byte count 是資料長度域,它代表記錄當中資料位元組的數量

address 是位址域,它代表記錄當中資料的起始位址

record type 是代表hex記錄型別的域,它可能是以下資料當中的乙個:

00-資料記錄

01-檔案結束記錄

02-擴充套件段位址記錄

03-開始段位址記錄

04-擴充套件線性位址記錄

05-開始線性位址記錄

data 是資料域,乙個記錄可以有許多資料位元組.記錄當中資料位元組的數量必須和資料長度域中指定的數字相符

checksum 是校驗和域,它表示這個記錄的校驗和.校驗和的計算是通過將記錄當中所有十六進製制編碼數字對的值相加,以256為模進行以下補足。

hex檔案以行為單位。每行以字元『:』 (0x3a)開頭,以回車換行符0x0d, 0x0a為結束。

每行開始和結束之間的所有內容,都是以字元形式表現的。例如資料如果是0x1a,那麼轉換到hex格式的行裡面就是0x31 0x41。如果資料是16bit的,例如位址,則先顯示高位,後顯示底位。

例如0x1234,轉換成hex格式檔案後變成0x31 0x32 0x33 0x34,顯示出來以後就是1234。將資料部分內容每2個字元看做乙個hex資料,例如:

:020*********fa ,我把它看做0x02 0x00 0x00 0x04 0x00 0x00 0xfa

第乙個0x02為資料長度。

緊跟著後面的0x00 0x00為位址。

再後面的0x04為資料型別,型別共分一下幾類:

'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

然後,接著0x04後面的兩個0x00 0x00就是資料。最後乙個0xfa是校驗碼。

hex檔案的每一行都是這樣的格式:

在例如:

:1000000018f09fe518f09fe518f09fe518f09fe5c0

安裝上面的資料行格式分析如下:

每行中的資料並不是一定有的,第二個直接的資料長度為0,那麼這行就沒有資料。

由於每行標識資料位址的只有2byte,所以最大只能到64k,為了可以儲存更大資料位址資料,就有了extended linearaddress record。如果這行的資料型別是0x04,那麼,這行的資料就是隨後資料的基位址。例如:

:020*********f6

:1000000018f09fe518f09fe518f09fe518f09fe5c0

:1000100018f09fe5805f20b9f0ff1fe518f09fe51d

第一行,是extended linearaddress record,裡面的基位址是0x0004,第二行是data record,裡面的位址值是0x0000。那麼資料18f09fe518f09fe518f09fe518f09fe5要寫入flash中的位址為(0x0004 << 16) | 0x0000,也就是寫入flash的0x40000這個位址。同樣,第三行的資料的寫入位址為0x40010。

當乙個hex檔案的資料超過64k的時候,檔案中就會出現多個extended linear address record。

end of file record行是每乙個hex檔案的最後一行。例如:

:00000001ff

這樣的一行資料內容是固定的,資料長度為0,位址為0。

校驗值:每一行的最後乙個值為此行資料的校驗和。例如:::

校驗和的演算法為:計算從0x3a以後(不包括0x3a)的所有各位元組的和模256的餘。即各位元組二進位制算術和,不計超過256的溢位值,然後用0x100減去這個算數累加和,得出得值就是此行得校驗和。

如何讀懂詩歌

教學設計 如何讀懂詩歌 鄭建新教學目標 1 明確讀懂一首詩或詞應該注意到的因素 找 析 聯 結 2 明確詩歌鑑賞題答題資訊的指向,在詩文中找到答案的依據。教學重點 讀懂一首詩詞的 四步法 找 析 聯 結。教學難點 四步法 運用於答題的實踐。教時安排 1課時教學內容 一 匯入 活動匯入,詩歌鑑賞題,學...

如何讀懂報價表

如何讀懂 表.txt36母愛是一縷陽光,讓你的心靈即便在寒冷的冬天也能感受到溫暖如春 母愛是一泓清泉,讓你的情感即使蒙上歲月的風塵仍然清澈澄淨。乙份詳細的裝修工程 單,應將使用材料的品牌 規格 單位 單價 數量 合計餘額全部列清,而有些裝飾公司只把品牌 單價及合計金額列出,規格和數量忽略不計,更多時...

2019如何讀懂詩歌教案

詩歌鑑賞專題複習教案 如何讀懂詩歌的思想內容 教學目標 1 梳理 歸納讀懂詩歌的一般方法 2 能夠進行能力遷移,讀懂詩歌。教學重點 梳理 歸納讀懂詩歌的一般方法 教學難點 能夠進行能力遷移,讀懂詩歌。教學方法 師生合作自主 教學過程 一 感知 考綱解讀 考試說明 中對古詩詞鑑賞的兩點要求 鑑賞詩歌作...