0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式的HEX文件怎么來的

嵌入式應(yīng)用開發(fā) ? 來源:嵌入式應(yīng)用開發(fā) ? 作者:嵌入式應(yīng)用開發(fā) ? 2023-05-25 15:05 ? 次閱讀

單片機下載程序需要將c文件通過編譯器編譯成o文件通過連接器連接為一個main的o文件,再將main文件生成hex文件,hex文件即可通過下載器加載到我們的單片機。那么他到底是怎么樣子呢

pYYBAGRvB72ASQLRAABtTZMZLIo496.png

從上圖來看,Hex就是一個16進制數(shù)文件,它具有一定格式,下面我們進行一些說明。

Hex文件的格式,如上圖所示,共包含6個部分,開始冒號為起始記錄,bb為字節(jié)個數(shù),aaaa為地址,dd為具體的數(shù)據(jù),cc為checksum部分。

pYYBAGRvB_iALcafAAF5iNw83A4756.png

02代表這部分Hex有兩個字節(jié),0400是這部分Hex的存儲地址,而00為其記錄類型(后續(xù)我們會介紹一下記錄類型有哪些種類),0034為數(shù)據(jù)部分,這里先存放低字節(jié)部分,后存放高字節(jié)部分。

poYBAGRvCBKAbY7rAAGJKs5D4qU444.png

記錄類型使用兩位二進制數(shù)據(jù)表示,共有四種形式,如上圖表示,其中00表示數(shù)據(jù)類型,01表示文件結(jié)尾記錄類型(后續(xù)我們對實際Hex進行說明)。

poYBAGRvCCSAMm8yAAEmVO859Go113.png

這里是結(jié)尾Hex數(shù)據(jù)表示,00代表有0個數(shù)據(jù),地址表示0x0000,記錄類型為0x01,checksum是0xFF。

pYYBAGRvCDuAYPEjAAH-0pLt8HM402.png

使用一個實際的PIC16F1778的代表編譯出來的Hex進行說明,第一行Hex數(shù)據(jù)是02 0000 04 0000 FA,可以看出這里有兩個Hex字節(jié),地址為0x0000,記錄類型為擴展線性地址記錄,數(shù)據(jù)是0000,checksum為0xFA,對應(yīng)第一個PAGE存儲空間。第二行為04 0000 00 8031 0628 1D,這里顯示為四個數(shù)據(jù)字節(jié),地址為0x0000開始,類型為數(shù)據(jù)字節(jié),具體數(shù)據(jù)為0x3180,0x2806。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6030

    文章

    44489

    瀏覽量

    631960
  • 嵌入式
    +關(guān)注

    關(guān)注

    5059

    文章

    18973

    瀏覽量

    302006
  • 文件
    +關(guān)注

    關(guān)注

    1

    文章

    561

    瀏覽量

    24671
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1617

    瀏覽量

    49015
  • HEX
    HEX
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    16776
收藏 人收藏

    評論

    相關(guān)推薦

    嵌入式文件系統(tǒng)znFAT介紹

    今天給大家介紹一款適用于單片機的嵌入式文件系統(tǒng)——znFAT。 這款文件系統(tǒng)由嵌入式大佬于振南開發(fā),并在 gitee 開源共享的。
    發(fā)表于 09-13 09:22 ?1412次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>文件</b>系統(tǒng)znFAT介紹

    嵌入式Linux文件系統(tǒng)的研究與應(yīng)用

    隨著嵌入式系統(tǒng)的發(fā)展,使用Linux操作系統(tǒng)搭建的嵌入式平臺得到了越來越廣泛的應(yīng)用。文件系統(tǒng)是嵌入式Linux 系統(tǒng)的重要組成部分,一個合適的文件
    發(fā)表于 08-13 08:59 ?16次下載

    2016嵌入式賽項文件

    2016年全國職業(yè)技能大賽嵌入式應(yīng)用開發(fā)比賽的比賽文件及樣題。
    發(fā)表于 05-13 16:40 ?6次下載

    基于DSP平臺的嵌入式文件系統(tǒng)的開發(fā)與研究

    基于DSP平臺的嵌入式文件系統(tǒng)的開發(fā)與研究
    發(fā)表于 10-19 14:28 ?4次下載
    基于DSP平臺的<b class='flag-5'>嵌入式</b><b class='flag-5'>文件</b>系統(tǒng)的開發(fā)與研究

    詳解嵌入式linux文件類型

    學(xué)習(xí)嵌入式linux系統(tǒng)開發(fā),對于linux文件類型需要有很深的理解。Linux文件類型常見的有普通文件、目錄文件、符號鏈接
    發(fā)表于 06-11 16:29 ?990次閱讀
    詳解<b class='flag-5'>嵌入式</b>linux<b class='flag-5'>文件</b>類型

    嵌入式文件系統(tǒng)及特點

      近年來,計算機嵌入式逐漸被人們所追捧,想要學(xué)習(xí)嵌入式當然離不開嵌入式系統(tǒng)啦,下面尚觀教育小編帶同學(xué)們了解嵌入式文件系統(tǒng)及其特點?! ?/div>
    發(fā)表于 09-06 14:29 ?1148次閱讀

    基于嵌入式視頻存儲的專用文件系統(tǒng)設(shè)計

    關(guān)鍵詞:嵌入式 , 視頻存儲 , 文件系統(tǒng) 目前的硬盤錄像機中,基于PC和采集卡的一般采用Windows系統(tǒng),文件系統(tǒng)則多采用NTFS或FAT32;而嵌入式硬盤錄像機所采用的
    發(fā)表于 12-02 18:33 ?727次閱讀

    Linux嵌入式文件系統(tǒng)如何構(gòu)建

    Linux支持多種文件系統(tǒng),同樣,嵌入式Linux也支持多種文件系統(tǒng)。雖然在嵌入式系統(tǒng)中,由于資源受限的原因,它的文件系統(tǒng)和PC上的Linu
    發(fā)表于 06-18 09:23 ?977次閱讀

    嵌入式C語言-文件操用

    嵌入式C語言-文件操用(嵌入式開發(fā)需要什么證書)-嵌入式C語言-文件操用,有需要的可以參考!
    發(fā)表于 07-30 11:56 ?15次下載
    <b class='flag-5'>嵌入式</b>C語言-<b class='flag-5'>文件</b>操用

    支持Hex、Bin、Motorola S文件的開源庫使用

    轉(zhuǎn)換。其支持文件信息快速查看、分段數(shù)據(jù)處理。 鏡像文件格式 嵌入式系統(tǒng)中各種系統(tǒng)鏡像常用已下幾種文件格式保存:
    的頭像 發(fā)表于 08-18 09:39 ?2102次閱讀

    嵌入式文件操作

    嵌入式】串口間的通信1. 操作內(nèi)容2. 操作步驟3. 操作結(jié)果1. 操作內(nèi)容通過編寫文件讀寫及上鎖的程序,熟悉Linux中文件I/O相關(guān)的應(yīng)用開發(fā);掌握fopen()、fread()、fwrite
    發(fā)表于 10-20 15:21 ?1次下載
    【<b class='flag-5'>嵌入式</b>】<b class='flag-5'>文件</b>操作

    嵌入式】構(gòu)建嵌入式Linux系統(tǒng)(uboot、內(nèi)核、文件系統(tǒng))

    嵌入式Linux系統(tǒng)知識架構(gòu)及層次嵌入式Linux系統(tǒng)構(gòu)成及啟動略析嵌入式Linux三劍客之uboot技術(shù)嵌入式Linux三劍客之內(nèi)核技術(shù)嵌入式
    發(fā)表于 10-20 18:20 ?42次下載
    【<b class='flag-5'>嵌入式</b>】構(gòu)建<b class='flag-5'>嵌入式</b>Linux系統(tǒng)(uboot、內(nèi)核、<b class='flag-5'>文件</b>系統(tǒng))

    嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng))

    嵌入式Linux系統(tǒng)移植-(Linux文件系統(tǒng))嵌入式文件系統(tǒng)概述·文件是有組織、有次序地存儲在某種介質(zhì)上的一組信息的集合,是用來存儲信息的
    發(fā)表于 11-02 12:51 ?16次下載
    <b class='flag-5'>嵌入式</b>Linux系統(tǒng)移植-(Linux<b class='flag-5'>文件</b>系統(tǒng))

    視頻教程-嵌入式Linux文件與串口編程-嵌入式

    嵌入式Linux文件與串口編程 嵌入式工程師、嵌入式講師、10多年
    發(fā)表于 11-02 15:06 ?15次下載
    視頻教程-<b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>文件</b>與串口編程-<b class='flag-5'>嵌入式</b>

    Intel Hex 文件格式

    簡介這種文件格式一般是以hex為后綴名,在嵌入式MCU程序開發(fā)中,經(jīng)常編譯鏈接后生成一個這樣文件,然后將這個文件燒寫到MCU的ROM中。所以
    發(fā)表于 12-06 10:06 ?4次下載
    Intel <b class='flag-5'>Hex</b> <b class='flag-5'>文件</b>格式