欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 代碼升級必知--HEX文件和BIN文件格式區(qū)別 [打印本頁]

作者: 51heisex    時間: 2016-1-23 01:17
標(biāo)題: 代碼升級必知--HEX文件和BIN文件格式區(qū)別
HEX文件和BIN文件是我們經(jīng)常碰到的2種文件格式。下面簡單介紹一下這2種文件格式的區(qū)別:


1 - HEX文件是包括地址信息的,而BIN文件格式只包括了數(shù)據(jù)本身
         在燒寫或下載HEX文件的時候,一般都不需要用戶指定地址,因為HEX文件內(nèi)部的信息已經(jīng)包括了地址。而燒寫B(tài)IN
         文件的時候,用戶是一定需要指定地址信息的。


3 - BIN文件格式
         對二進制文件而言,其實沒有”格式”。文件只是包括了純粹的二進制數(shù)據(jù)。


4 - HEX文件格式
         HEX文件都是由記錄(RECORD)組成的。在HEX文件里面,每一行代表一個記錄。記錄的基本格式為:
         +---------------------------------------------------------------+
         |   RECORD  | RECLEN |  LOAD  | RECTYPE | INFO or DATA | CHKSUM |
         |  MARK ':' |        | OFFSET |         |              |        |
         +---------------------------------------------------------------+
         |  1-byte   | 1-byte | 2-byte | 1-byte  |    n-byte    | 1-byte |
         +---------------------------------------------------------------+

         記錄類型包括:
         '00' Data Rrecord:用來記錄數(shù)據(jù),HEX文件的大部分記錄都是數(shù)據(jù)記錄
         '01' End of File Record: 用來標(biāo)識文件結(jié)束,放在文件的最后,標(biāo)識HEX文件的結(jié)尾
         '04' Extended Linear Address Record: 用來標(biāo)識擴展線性地址的記錄
         '02' Extended Segment Address Record: 用來標(biāo)識擴展段地址的記錄

         在上面的后2種記錄,都是用來提供地址信息的。每次碰到這2個記錄的時候,都可以根據(jù)記錄計算出一個“基”地址。
         對于后面的數(shù)據(jù)記錄,計算地址的時候,都是以這些“基”地址為基礎(chǔ)的。

         數(shù)據(jù)記錄的具體格式:
         +---------------------------------------------------------------+
         |   RECORD  | RECLEN |  LOAD  | RECTYPE | INFO or DATA | CHKSUM |
         |  MARK ':' |        | OFFSET |  '00'   |              |        |
         +---------------------------------------------------------------+
         |  1-byte   | 1-byte | 2-byte | 1-byte  |    n-byte    | 1-byte |
         +---------------------------------------------------------------+         

         看個例子:
        :020000040000FA
        :10000400FF00A0E314209FE5001092E5011092E5A3
        :00000001FF         

        對上面的HEX文件進行分析:
        第1條記錄的長度為02,LOAD OFFSET為0000,RECTYPE為04,說明該記錄為擴展段地址記錄。數(shù)據(jù)為0000,校驗和為
        FA。從這個記錄的長度和數(shù)據(jù),我們可以計算出一個基地址,這個地址為0X0000。后面的數(shù)據(jù)記錄都以這個地址為基
        地址。
        第2條記錄的長度為10(16),LOAD OFFSET為0004,RECTYPE為00,說明該記錄為數(shù)據(jù)記錄。
        數(shù)據(jù)為FF00A0E314209FE5001092E5011092E5,共16個BYTE。這個記錄的校驗和為A3。此時的基地址為0X0000,加上OFFSET,
        這個記錄里的16BYTE的數(shù)據(jù)的起始地址就是0x0000 + 0x0004 = 0x0004.
        第3條記錄的長度為00,LOAD OFFSET為0000,TYPE = 01,校驗和為FF。說明這個是一個END OF FILE RECORD,標(biāo)識
        文件的結(jié)尾。

        在上面這個例子里,實際的數(shù)據(jù)只有16個BYTE:FF00A0E314209FE5001092E5011092E5,其起始地址為0x4


4 - HEX文件和BIN文件大小有區(qū)別
     HEX文件是用ASCII來表示二進制的數(shù)值。例如一般8-BIT的二進制數(shù)值0x3F,用ASCII來表示就需要分別表示字符'3'
     和字符'F',每個字符需要一個BYTE,所以HEX文件需要 > 2倍的空間。
     對一個BIN文件而言,你查看文件的大小就可以知道文件包括的數(shù)據(jù)的實際大小。而對HEX文件而言,你看到的文件
     大小并不是實際的數(shù)據(jù)的大小。一是因為HEX文件是用ASCII來表示數(shù)據(jù),二是因為HEX文件本身還包括別的附加信息。






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1