• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            HEX文件和BIN文件區(qū)別

            Posted on 2008-09-01 15:53 Prayer 閱讀(677) 評(píng)論(0)  編輯 收藏 引用 所屬分類: LINUX/UNIX/AIX日常技巧

            HEX文件和BIN文件是我們經(jīng)常碰到的2種文件格式。下面簡(jiǎn)單介紹一下這2種文件格式的區(qū)別:

             

            1 HEX文件是包括地址信息的,而BIN文件格式只包括了數(shù)據(jù)本身

                 在燒寫或下載HEX文件的時(shí)候,一般都不需要用戶指定地址,因?yàn)?/span>HEX文件內(nèi)部的信息已經(jīng)包括了地址。而燒寫BIN文件的時(shí)候,用戶是一定需要指定地址信息的。

                    

            2 BIN文件格式

                 對(duì)二進(jìn)制文件而言,其實(shí)沒(méi)有”格式”。文件只是包括了純粹的二進(jìn)制數(shù)據(jù)。

                    

            3 HEX文件格式

                 HEX文件都是由記錄(RECORD)組成的。在HEX文件里面,每一行代表一個(gè)記錄。記錄的基本格式為:

                     +---------------------------------------------------------------+

                     |   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:用來(lái)記錄數(shù)據(jù),HEX文件的大部分記錄都是數(shù)據(jù)記錄

                 '01' End of File Record: 用來(lái)標(biāo)識(shí)文件結(jié)束,放在文件的最后,標(biāo)識(shí)HEX文件的結(jié)尾

                 '04' Extended Linear Address Record: 用來(lái)標(biāo)識(shí)擴(kuò)展線性地址的記錄

                 '02' Extended Segment Address Record: 用來(lái)標(biāo)識(shí)擴(kuò)展段地址的記錄

                    

                 在上面的后2種記錄,都是用來(lái)提供地址信息的。每次碰到這2個(gè)記錄的時(shí)候,都可以根據(jù)記錄計(jì)算出一個(gè)“基”地址。

                 對(duì)于后面的數(shù)據(jù)記錄,計(jì)算地址的時(shí)候,都是以這些“基”地址為基礎(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 |

                     +---------------------------------------------------------------+        

                    

                 看個(gè)例子:

                    :020000040000FA

                    :10000400FF00A0E314209FE5001092E5011092E5A3

                    :00000001FF         

                   

                對(duì)上面的HEX文件進(jìn)行分析:

                1條記錄的長(zhǎng)度為02LOAD OFFSET0000RECTYPE04,說(shuō)明該記錄為擴(kuò)展段地址記錄。數(shù)據(jù)為0000,校驗(yàn)和為FA。從這個(gè)記錄的長(zhǎng)度和數(shù)據(jù),我們可以計(jì)算出一個(gè)基地址,這個(gè)地址為0X0000。后面的數(shù)據(jù)記錄都以這個(gè)地址為基地址。

                2條記錄的長(zhǎng)度為1016),LOAD OFFSET0004RECTYPE00,說(shuō)明該記錄為數(shù)據(jù)記錄。

                數(shù)據(jù)為FF00A0E314209FE5001092E5011092E5,共16個(gè)BYTE。這個(gè)記錄的校驗(yàn)和為A3。此時(shí)的基地址為0X0000,加上OFFSET,這個(gè)記錄里的16BYTE的數(shù)據(jù)的起始地址就是0x0000 + 0x0004 = 0x0004.

                3條記錄的長(zhǎng)度為00LOAD OFFSET0000TYPE 01,校驗(yàn)和為FF。說(shuō)明這個(gè)是一個(gè)END OF FILE RECORD,標(biāo)識(shí)文件的結(jié)尾。在上面這個(gè)例子里,實(shí)際的數(shù)據(jù)只有16個(gè)BYTEFF00A0E314209FE5001092E5011092E5,其起始地址為0x4

                       

            4 HEX文件和BIN文件大小有區(qū)別

                 HEX文件是用ASCII來(lái)表示二進(jìn)制的數(shù)值。例如一般8-BIT的二進(jìn)制數(shù)值0x3F,用ASCII來(lái)表示就需要分別表示字符'3'

                 和字符'F',每個(gè)字符需要一個(gè)BYTE,所以HEX文件需要 > 2倍的空間。

                 對(duì)一個(gè)BIN文件而言,你查看文件的大小就可以知道文件包括的數(shù)據(jù)的實(shí)際大小。而對(duì)HEX文件而言,你看到的文件

                 大小并不是實(shí)際的數(shù)據(jù)的大小。一是因?yàn)?/span>HEX文件是用ASCII來(lái)表示數(shù)據(jù),二是因?yàn)?/span>HEX文件本身還包括別的附加信息。

            久久精品免费观看| 国产精品久久久久AV福利动漫| 国产亚洲成人久久| 亚洲七七久久精品中文国产| 久久精品国产亚洲av水果派 | 人妻丰满AV无码久久不卡| 国产一级做a爰片久久毛片| 人人狠狠综合88综合久久| 国产精品久久久久…| 久久99热这里只有精品国产| 99久久精品费精品国产| 国内精品久久久久影院日本| 伊人色综合久久天天人守人婷| 久久99国产精品99久久| 一本久久a久久精品亚洲| 亚洲国产精品成人久久蜜臀| 丰满少妇人妻久久久久久4| 2022年国产精品久久久久| 亚洲精品乱码久久久久久自慰 | 国内精品久久久久久久久电影网| 亚洲国产精品无码久久一线 | 精品一区二区久久| 人妻精品久久久久中文字幕69 | 日韩欧美亚洲国产精品字幕久久久 | 国产精品伊人久久伊人电影| 高清免费久久午夜精品| 久久国产乱子伦免费精品| 日本人妻丰满熟妇久久久久久| 精品久久久无码21p发布| 日韩人妻无码一区二区三区久久99| 精品乱码久久久久久夜夜嗨| 99久久精品国产一区二区| 亚洲乱亚洲乱淫久久| 国产毛片久久久久久国产毛片| 99久久免费只有精品国产| 7国产欧美日韩综合天堂中文久久久久| 国内精品人妻无码久久久影院| 久久久久亚洲AV片无码下载蜜桃| 人妻精品久久无码专区精东影业| 久久精品www人人爽人人| 免费观看久久精彩视频|