<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

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

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

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

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

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

          本文引用地址:http://www.ex-cimer.com/article/149949.htm

          a.jpg

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

          上一頁 1 2 3 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();