新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式開發(fā)系統(tǒng)編程文件格式解析

        嵌入式開發(fā)系統(tǒng)編程文件格式解析

        作者: 時間:2011-12-22 來源:網(wǎng)絡 收藏

        摘要:多種多樣。為方便和深度理解各種目標,論文詳細分析了多種主流的可執(zhí)行(即機器碼)。比較了不同的異同點,并介紹了各種嵌入式文件格式的主要硬件系統(tǒng)及目標器件。
        關鍵詞:嵌入式系統(tǒng);文件;HEX格式

        1 常見文件格式
        雖然不同的集成環(huán)境和不同的硬件架構使得嵌入式設備中可執(zhí)行文件的格式不盡相同,但基本上包含以下一些典型特征:
        ①可執(zhí)行文件的基本信息,如文件大小、時間、權限等。
        ②與硬件架構相關的二進制代碼和數(shù)據(jù)。
        ③符號表與符號重定位表。
        從文件本身所包含的信息來看,嵌入式系統(tǒng)可執(zhí)行文件主要有:純數(shù)據(jù)類文件,記錄類文件以及描述類文件。
        1.1 純數(shù)據(jù)文件格式
        純數(shù)據(jù)文件就是指文件中不包含地址和校驗信息等,只包含純粹的用戶數(shù)據(jù)。純數(shù)據(jù)文件主要包括兩種:BIN格式和HEX格式。BIN格式即二進制的文件,使用時每8位作為一個字節(jié)來用,傳輸BIN文件時并不進行ASCII編碼。BIN文件格式是沒有結束標記的。顯然,BIN文件格式是除了一些壓縮格式(如ZIP和RAR)之外最節(jié)省空間的格式,它主要是用來存儲器器件的,通常會建議將EPROM數(shù)據(jù)存儲為BIN格式以作為標準文件格式來下載。HEX格式相比BIN格式的區(qū)別就是,每個字節(jié)都轉成了2個0~9和A~F之間值的ASCII碼。整個文件是分行表示的,每行一般是16或32個字節(jié),行以空格加回車表示結束。
        1.2 記錄類文件格式
        記錄類文件中所有的數(shù)據(jù)行都叫做記錄,每一條記錄一般都分為多個域來清晰地說明記錄的類型、記錄中數(shù)據(jù)的數(shù)量、數(shù)據(jù)的存儲地址、數(shù)據(jù)校驗信息等。而且,記錄類文件一般都有關于該文件開始和結束的標記信息。各種記錄類文件格式的差異就體現(xiàn)在不同公司定義的記錄標記以及一些域格式和順序的差別上。記錄類文件常見的就是各種MCU的燒錄文件。
        1.2.1 Intel HEX文件格式(.HEX)
        Intel HEX是一種較老的文件格式。它是用ASCII字符來表示文件中數(shù)據(jù)域的二進制數(shù)據(jù)。文件中每一行是一條HEX記錄,由一個回車和一個換行結束。IntelHEX文件經(jīng)常被用于將程序或數(shù)據(jù)傳輸存儲到ROM、EPROM,大多數(shù)編程器和模擬器使用Intel HEX文件。
        記錄格式如下:
        :BBAAAATTHHHH…HHHCC
        :——記錄開始標記。
        BB——長度域,占一個字節(jié)。代表這條記錄中數(shù)據(jù)的字節(jié)數(shù),每條記錄最大數(shù)據(jù)字節(jié)數(shù)是255字節(jié),通常為32字節(jié)。長度域只計數(shù)數(shù)據(jù)域的大小。
        AAAA——地址域,占兩個字節(jié),存儲方式是MSB。地址域指出這條記錄的第一個數(shù)據(jù)字節(jié)的地址,隨后地址逐一增加以存儲下面的數(shù)據(jù)。整個文件中各記錄的地址順序是不重要的,文件中有時也會有一段空的地址。
        TT——類型域,1字節(jié)。表示該條記錄的類型。
        HH——數(shù)據(jù)域,長度受到記錄類型的限制。數(shù)據(jù)記錄以字節(jié)為單位。
        CC——校驗和,占一個字節(jié)。計算方法是將本記錄中除了冒號和校驗字節(jié)之外的所有字節(jié)加起來,將模除256得到的余數(shù)取補碼。
        Intel HEX文件格式的6種記錄說明如表1所列。

        本文引用地址:http://www.104case.com/article/149949.htm

        a.jpg

        linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 勐海县| 商洛市| 竹北市| 盘山县| 博客| 安顺市| 沈阳市| 婺源县| 额济纳旗| 蓝山县| 屏东县| 洛南县| 北川| 凤冈县| 富源县| 那曲县| 旬阳县| 白银市| 新营市| 泸西县| 礼泉县| 古蔺县| 武陟县| 阜南县| 齐齐哈尔市| 章丘市| 阿拉善左旗| 西宁市| 石城县| 海兴县| 益阳市| 梧州市| 兴海县| 赣榆县| 郴州市| 来宾市| 萨迦县| 吉木乃县| 绥芬河市| 荔浦县| 中方县|