在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

Hex文件內(nèi)容詳細(xì)解析

汽車ECU開發(fā) ? 來源:電控技術(shù)大師 ? 2023-01-06 10:43 ? 次閱讀

Intel HEX文件是由一行行符合Intel HEX文件格式的文本所構(gòu)成的ASCII文本文件。在Intel HEX文件中,每一行包含一個(gè)HEX記錄。這些記錄由對(duì)應(yīng)機(jī)器語言碼和/或常量數(shù)據(jù)的十六進(jìn)制編碼數(shù)字組成。Intel HEX文件通常用于傳輸將被存于ROM或者EPROM中的程序和數(shù)據(jù)。大多數(shù)EPROM編程器或模擬器使用Intel HEX文件。

22180588-8d39-11ed-bfe3-dac502259ad0.png221e3a3e-8d39-11ed-bfe3-dac502259ad0.png2228e6e6-8d39-11ed-bfe3-dac502259ad0.jpg

#HEX記錄格式

Intel HEX由任意數(shù)量的十六進(jìn)制記錄組成。每個(gè)記錄包含5個(gè)域, 它們按以下格式排列[:LLAAAATT[DD…]CC]。每一組字母對(duì)應(yīng)一個(gè)不同的域, 每一個(gè)字母對(duì)應(yīng)一個(gè)十六進(jìn)制編碼的數(shù)字。每一個(gè)域由至少兩個(gè)十六進(jìn)制編碼數(shù)字組成, 它們構(gòu)成一個(gè)字節(jié)。

詳細(xì)解釋如下:

:每個(gè)Intel HEX記錄都由冒號(hào)開頭。

LL是數(shù)據(jù)長(zhǎng)度域,它代表記錄當(dāng)中數(shù)據(jù)字節(jié)(dd)的數(shù)量。

AAAA是地址域,它代表記錄當(dāng)中數(shù)據(jù)的起始地址。

TT是代表HEX記錄類型的域,它可能是以下數(shù)據(jù)當(dāng)中的一個(gè):

00– 數(shù)據(jù)記錄

01– 文件結(jié)束記錄

02– 擴(kuò)展段地址記錄

04– 擴(kuò)展線性地址記錄

DD是數(shù)據(jù)域,它代表一個(gè)字節(jié)的數(shù)據(jù)。一個(gè)記錄可以有許多數(shù)據(jù)字節(jié),記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量必須和數(shù)據(jù)長(zhǎng)度域LL中指定的數(shù)字相符。

CC是校驗(yàn)和域,它表示這個(gè)記錄的校驗(yàn)和。校驗(yàn)和的計(jì)算是通過將記錄當(dāng)中所有十六進(jìn)制編碼數(shù)字對(duì)的值相加,以256為模進(jìn)行以下補(bǔ)足。也就是說LLAAAATT[DD…]CC一共的校驗(yàn)和永遠(yuǎn)為0。

#數(shù)據(jù)記錄格式

Intel HEX文件由任意數(shù)量以回車換行符結(jié)束的數(shù)據(jù)記錄組成.

數(shù)據(jù)記錄外觀如下:

[:10246200464C5549442050524F46494C4500464C33]

其中:

10是這個(gè)記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量。

2462是數(shù)據(jù)將被下載到存儲(chǔ)器當(dāng)中的地址。

00是記錄類型(數(shù)據(jù)記錄)。

464C…464C是數(shù)據(jù)。

33是這個(gè)記錄的校驗(yàn)和的補(bǔ)足碼。

#擴(kuò)展線性地址記錄(HEX386)格式

擴(kuò)展線性地址記錄也叫作32位地址記錄或HEX386記錄。這些記錄包含數(shù)據(jù)地址的高16位。擴(kuò)展線性地址記錄總是有兩個(gè)數(shù)據(jù)字節(jié)。

外觀如下:

[:02000004FFFFFC]

其中:

02是這個(gè)記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量。

0000是地址域,對(duì)于擴(kuò)展線性地址記錄,這個(gè)域總是0000。

04是記錄類型 04(擴(kuò)展線性地址記錄)。

FFFF是地址的高16位。

FC是這個(gè)記錄的校驗(yàn)和的補(bǔ)足碼。

當(dāng)一個(gè)擴(kuò)展線性地址記錄被讀取,存儲(chǔ)于數(shù)據(jù)域的擴(kuò)展線性地址被保存,它被應(yīng)用于從Intel HEX文件讀取來的隨后的記錄。線性地址保持有效,直到它被另外一個(gè)擴(kuò)展地址記錄所改變。

通過把記錄當(dāng)中的地址域與被移位(16位)的來自擴(kuò)展線性地址記錄的地址數(shù)據(jù)相加獲得數(shù)據(jù)記錄的絕對(duì)存儲(chǔ)器地址。以下的例子演示了這個(gè)過程:

來自數(shù)據(jù)記錄地址域的地址 2462 擴(kuò)展線性地址記錄的數(shù)據(jù)域*10000H + FFFF0000 --------------------- 絕對(duì)存儲(chǔ)器地址 FFFF2462

#擴(kuò)展段地址記錄(HEX86)

擴(kuò)展段地址記錄也叫HEX86記錄,它包括4-19位數(shù)據(jù)地址段。擴(kuò)展段地址記錄總是有兩個(gè)數(shù)據(jù)字節(jié)。

外觀如下:

[:020000021200EA]

其中:

02是記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量。

0000是地址域,對(duì)于擴(kuò)展段地址記錄,這個(gè)域總是0000。

02是記錄類型02(擴(kuò)展段地址記錄)。

1200是地址段。

EA是這個(gè)記錄的校驗(yàn)和的補(bǔ)足碼。

當(dāng)一個(gè)擴(kuò)展段地址記錄被讀取,存儲(chǔ)于數(shù)據(jù)域的擴(kuò)展段地址被保存,它被應(yīng)用于從Intel HEX文件讀取來的隨后的記錄。段地址保持有效,直到它被另外一個(gè)擴(kuò)展地址記錄所改變。

通過把記錄當(dāng)中的地址域與被移位(4位)的來自擴(kuò)展段地址記錄的地址數(shù)據(jù)相加獲得數(shù)據(jù)記錄的絕對(duì)存儲(chǔ)器地址。以下的例子演示了這個(gè)過程:來自數(shù)據(jù)記錄地址域的地址 2462

擴(kuò)展段地址記錄數(shù)據(jù)域*10H + 12000 ----------------- 絕對(duì)存儲(chǔ)器地址 00014462

#文件結(jié)束(EOF)記錄。

Intel HEX文件必須以文件結(jié)束(EOF)記錄結(jié)束。這個(gè)記錄的記錄類型域的值必須是01。EOF記錄外觀總是如下

[:00000001FF]

其中:

00是記錄當(dāng)中數(shù)據(jù)字節(jié)的數(shù)量。

0000是數(shù)據(jù)被下載到存儲(chǔ)器當(dāng)中的地址。在文件結(jié)束記錄當(dāng)中地址是沒有意義被忽略的。0000H是典型的地址。

01是記錄類型01(文件結(jié)束記錄)。

FF是這個(gè)記錄的校驗(yàn)和的補(bǔ)足碼。

#Intel HEX文件例子

下面是一個(gè)完整的Intel HEX文件的例子:

:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF

看了這個(gè)例子,我自己也打開了之前寫的51單片機(jī)的hex文件:

:2000000002000E75210675225B75230200267B007C00900090758140758901758CF1758A45
:2000200028D28C75A882758CF1758A280BBBFA157B00EC75F00A8485F020F5210CBC64027A
:200040007C00120051C0E0C0D0120051D0D0D0E032E52193F580D2A2C2A27580FED2A3C29C
:20006000A3120087E52093F580D2A2C2A27580FDD2A3C2A3120087227D327E287FF81151AA
:1A008000DFFEDEF8DDF4227E047FF8DFFEDEFA223F065B4F666D7D077F6FBC
:00000001FF

#英文原文

QUESTION:WhatistheIntelHEXfileformat?
ANSWER:
8.1TheIntelHEXfileisanASCIItextfilewithlinesoftextthatfollowtheIntelHEXfileformat.EachlineinanIntelHEXfilecontainsoneHEXrecord.Theserecordsaremadeupofhexadecimalnumbersthatrepresentmachinelanguagecodeand/orconstantdata.IntelHEXfilesareoftenusedtotransfertheprogramanddatathatwouldbestoredinaROMorEPROM.MostEPROMprogrammersoremulatorscanuseIntelHEXfiles.
8.2RecordFormat.
AnIntelHEXfileiscomposedofanynumberofHEXrecords.Eachrecordismadeupoffivefieldsthatarearrangedinthefollowingformat:
:LLAAAATT[DD…]CC
Eachgroupofletterscorrespondstoadifferentfield,andeachletterrepresentsasinglehexadecimaldigit.Eachfieldiscomposedofatleasttwohexadecimaldigits-whichmakeupabyte-asdescribedbelow:
8.2.1:isthecolonthatstartseveryIntelHEXrecord.
8.2.2LListherecord-lengthfieldthatrepresentsthenumberofdatabytes(dd)intherecord.
8.2.3AAAAistheaddressfieldthatrepresentsthestartingaddressforsubsequentdataintherecord.
8.2.4TTisthefieldthatrepresentstheHEXrecordtype,whichmaybeoneofthefollowing:
8.2.4.100-datarecord
8.2.4.201-end-of-filerecord
8.2.4.302-extendedsegmentaddressrecord
8.2.4.404-extendedlinearaddressrecord
8.2.5DDisadatafieldthatrepresentsonebyteofdata.Arecordmayhavemultipledatabytes.Thenumberofdatabytesintherecordmustmatchthenumberspecifiedbythellfield.
8.2.6CCisthechecksumfieldthatrepresentsthechecksumoftherecord.Thechecksumiscalculatedbysummingthevaluesofallhexadecimaldigitpairsintherecordmodulo256andtakingthetwo'scomplement.
8.3DataRecords.
TheIntelHEXfileismadeupofanynumberofdatarecordsthatareterminatedwithacarriagereturnandalinefeed.Datarecordsappearasfollows:
:10246200464C5549442050524F46494C4500464C33
where:
8.3.110isthenumberofdatabytesintherecord.
8.3.22462istheaddresswherethedataaretobelocatedinmemory.
8.3.300istherecordtype00(adatarecord).
8.3.4464C...464Cisthedata.
8.3.533isthechecksumoftherecord.
8.4ExtendedLinearAddressRecords(HEX386).
Extendedlinearaddressrecordsarealsoknownas32-bitaddressrecordsandHEX386records.Theserecordscontaintheupper16bits(bits16-31)ofthedataaddress.Theextendedlinearaddressrecordalwayshastwodatabytesandappearsasfollows:
:02000004FFFFFC
where:
8.4.102isthenumberofdatabytesintherecord.
8.4.20000istheaddressfield.Fortheextendedlinearaddressrecord,thisfieldisalways0000.
8.4.304istherecordtype04(anextendedlinearaddressrecord).
8.4.4FFFFistheupper16bitsoftheaddress.
8.4.5FCisthechecksumoftherecordandiscalculatedas01h+NOT(02h+00h+00h+04h+FFh+FFh).
8.4.6Whenanextendedlinearaddressrecordisread,theextendedlinearaddressstoredinthedatafieldissavedandisappliedtosubsequentrecordsreadfromtheIntelHEXfile.Thelinearaddressremainseffectiveuntilchangedbyanotherextendedaddressrecord.
8.4.7Theabsolute-memoryaddressofadatarecordisobtainedbyaddingtheaddressfieldintherecordtotheshiftedaddressdatafromtheextendedlinearaddressrecord.Thefollowingexampleillustratesthisprocess..
Addressfromthedatarecord'saddressfield2462

ExtendedlinearaddressrecorddatafieldFFFF
-----------
Absolute-memoryaddressFFFF2462
8.5ExtendedSegmentAddressRecords(HEX86).
Extendedsegmentaddressrecords-alsoknownasHEX86records-containbits4-19
ofthedataaddresssegment.Theextendedsegmentaddressrecordalwayshastwo
databytesandappearsasfollows:
:020000021200EA
where:
8.5.102isthenumberofdatabytesintherecord.
8.5.20000istheaddressfield.Fortheextendedsegmentaddressrecord,thisfieldisalways0000.
8.5.302istherecordtype02(anextendedsegmentaddressrecord).
8.5.41200isthesegmentoftheaddress.
8.5.5EAisthechecksumoftherecordandiscalculatedas01h+NOT(02h+00h+00h+02h+12h+00h).
8.5.6Whenanextendedsegmentaddressrecordisread,theextendedsegmentaddressstoredinthedatafieldissavedandisappliedtosubsequentrecordsreadfromtheIntelHEXfile.Thesegmentaddressremainseffectiveuntilchangedbyanotherextendedaddressrecord.
8.5.7Theabsolute-memoryaddressofadatarecordisobtainedbyaddingtheaddressfieldintherecordtotheshifted-addressdatafromtheextendedsegmentaddressrecord.Thefollowingexampleillustratesthisprocess.
Addressfromthedatarecord'saddressfield2462
Extendedsegmentaddressrecorddatafield1200
--------
Absolutememoryaddress00014462
8.6End-of-File(EOF)Records.
AnIntelHEXfilemustendwithanend-of-file(EOF)record.Thisrecordmusthavethevalue01intherecordtypefield.AnEOFrecordalwaysappearsasfollows:
:00000001FF
where:
8.6.100isthenumberofdatabytesintherecord.
8.6.20000istheaddresswherethedataaretobelocatedinmemory.Theaddressinend-of-filerecordsismeaninglessandisignored.Anaddressof0000histypical.
8.6.301istherecordtype01(anend-of-filerecord).
8.6.4FFisthechecksumoftherecordandiscalculatedas01h+NOT(00h+00h+00h+01h).
8.7ExampleIntelHEXFile.
FollowingisanexampleofacompleteIntelHEXfile:
:10001300AC12AD13AE10AF1112002F8E0E8F0F2244
:10000300E50B250DF509E50A350CF5081200132259
:03000000020023D8
:0C002300787FE4F6D8FD7581130200031D
:10002F00EFF88DF0A4FFEDC5F0CEA42EFEEC88F016
:04003F00A42EFE22CB
:00000001FF
審核編輯:湯梓紅

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

    關(guān)注

    19

    文章

    3493

    瀏覽量

    188070
  • HEX文件
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

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

    關(guān)注

    1

    文章

    578

    瀏覽量

    25234
  • EPROM
    +關(guān)注

    關(guān)注

    3

    文章

    136

    瀏覽量

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

    關(guān)注

    0

    文章

    37

    瀏覽量

    17076

原文標(biāo)題:Hex文件內(nèi)容詳細(xì)解析

文章出處:【微信號(hào):eng2mot,微信公眾號(hào):汽車ECU開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用psoc編程器寫入Modus生成的Hex文件時(shí),Hex文件解析失敗的原因?

    我們正在使用 pSoC6 CY8C6137BZI-F14 做軟件, 我們使用 Modus 集成開發(fā)環(huán)境。 但當(dāng)我們使用 psoc 編程器寫入 Modus 生成的 Hex 文件時(shí), psoc 編程器顯示以下錯(cuò)誤: Hex
    發(fā)表于 05-21 06:57

    hex文件格式詳細(xì)說明

    hex文件格式詳細(xì)說明
    發(fā)表于 11-13 12:37

    Hex文件格式是什么意思

    Hex文件格式解析Hex文件如果用特殊的程序來查看(一般記事本就可以實(shí)現(xiàn))。打開后可發(fā)現(xiàn),整個(gè)文件
    發(fā)表于 01-12 06:17

    Hex文件格式解析

    hex文件格式是可以燒寫到單片機(jī)中,被單片機(jī)執(zhí)行的一種文件格式,生成Hex文件的方式有很多種,可以通過不同的編譯器將C程序或者匯編程序編譯生
    發(fā)表于 03-02 06:34

    bin文件轉(zhuǎn)換為hex文件操作步驟解析

    在做單片機(jī)開發(fā)時(shí),用不同的下載工具,要求下載的固件格式也不一樣,有的要求是HEX文件,有的則要求是BIN文件,如果只有一個(gè)BIN文件如何將它轉(zhuǎn)換成H
    發(fā)表于 11-14 09:04 ?8.1w次閱讀
    bin<b class='flag-5'>文件</b>轉(zhuǎn)換為<b class='flag-5'>hex</b><b class='flag-5'>文件</b>操作步驟<b class='flag-5'>解析</b>

    單片機(jī)hex和bin文件的區(qū)別

    hex文件是可以燒寫到單片機(jī)中,被單片機(jī)執(zhí)行的一種文件格式,生成Hex文件的方式由很多種,可以通過不同的編譯器將C程序或者匯編程序編譯生成
    發(fā)表于 11-15 09:07 ?5386次閱讀
    單片機(jī)<b class='flag-5'>hex</b>和bin<b class='flag-5'>文件</b>的區(qū)別

    stm32之.hex 文件

    的output文件夾中找到編譯后生產(chǎn)的. hex 文件; 用 notepad++ 或者 UltraEdit 打開 程序 的.hex文件
    發(fā)表于 04-20 09:28 ?4420次閱讀
    stm32之.<b class='flag-5'>hex</b> <b class='flag-5'>文件</b>

    如何使用FlyMcu將hex文件下載到智芯一號(hào)詳細(xì)步驟教程免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是如何使用FlyMcu將hex文件下載到智芯一號(hào)詳細(xì)步驟教程免費(fèi)下載。
    發(fā)表于 07-24 17:37 ?2次下載
    如何使用FlyMcu將<b class='flag-5'>hex</b><b class='flag-5'>文件</b>下載到智芯一號(hào)<b class='flag-5'>詳細(xì)</b>步驟教程免費(fèi)下載

    使用單片機(jī)控制LED燈的HEX文件免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是使用單片機(jī)控制LED燈的HEX文件免費(fèi)下載。
    發(fā)表于 10-31 08:00 ?4次下載
    使用單片機(jī)控制LED燈的<b class='flag-5'>HEX</b><b class='flag-5'>文件</b>免費(fèi)下載

    用于STM32hex文件合并的應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是用于STM32hex文件合并的應(yīng)用程序免費(fèi)下載。
    發(fā)表于 03-05 08:00 ?11次下載

    hex是如何解析的?

    具有完整的格式規(guī)范。今天和大家分享一下,hex是如何解析的。 一 hex文件解析 hex
    的頭像 發(fā)表于 10-23 15:31 ?1w次閱讀
    <b class='flag-5'>hex</b>是如何<b class='flag-5'>解析</b>的?

    單片機(jī)燒錄hex文件是如何解析

    含有單片機(jī)的電子產(chǎn)品在量產(chǎn)的時(shí)候會(huì)用到.hex文件或者.bin。hex是十六進(jìn)制的,包含地址信息和數(shù)據(jù)信息,而bin文件是二進(jìn)制的,只有數(shù)據(jù)而不包含地址。任何
    的頭像 發(fā)表于 11-07 10:33 ?7371次閱讀
    單片機(jī)燒錄<b class='flag-5'>hex</b><b class='flag-5'>文件</b>是如何<b class='flag-5'>解析</b>

    JLINK下載Hex文件詳細(xì)步驟

    JLINK下載Hex文件詳細(xì)步驟
    發(fā)表于 06-27 09:23 ?0次下載

    簡(jiǎn)述hex文件解析源碼

    簡(jiǎn)述hex文件解析源碼
    發(fā)表于 09-12 09:20 ?8次下載

    TSMaster 中 Hex 文件編輯器使用詳細(xì)教程

    TSMaster軟件的Hex文件編輯器提供了文件處理的功能,這一特性讓使用TSMaster軟件的用戶可以更便捷地對(duì)Hex、bin、mot、s19和tsbinary類型的
    的頭像 發(fā)表于 06-01 08:21 ?1327次閱讀
    TSMaster 中 <b class='flag-5'>Hex</b> <b class='flag-5'>文件</b>編輯器使用<b class='flag-5'>詳細(xì)</b>教程
    主站蜘蛛池模板: 狼狼狼色精品视频在线播放 | 亚洲黄色第一页 | 婷婷久久综合九色综合九七 | 上课被同桌强行摸下面小黄文 | 宅男午夜 | 成年人电影黄色 | 人人爽天天爽夜夜爽曰 | 全国最大色成免费网站 | аⅴ资源中文在线天堂 | 婷婷5月天| 成人性色生活片免费看爆迷你毛片 | 日韩欧美一区二区三区不卡视频 | 天堂网在线最新版www中文网 | 国产理论视频 | 久久人人青草97香蕉 | 手机在线一区二区三区 | 免费高清在线观看a网站 | 69ww免费视频播放器 | 1515hh四虎免费观38com | 国产精品乳摇在线播放 | 欧美日韩精品乱国产538 | 精品一区二区三区在线视频 | 国产98在线传媒在线视频 | 大又大粗又爽又黄少妇毛片 | 国产aaaaaa | 久久青草免费免费91线频观看 | 4hu44四虎在线观看 | 久热首页| 亚洲 欧美 动漫 | 免费人成黄页在线观看日本 | 免费看欧美理论片在线 | 天天爽夜夜爽人人爽一区二区 | 天天舔| 黄网站在线观看 | 亚洲最新在线 | 国产成人无精品久久久久国语 | 日韩伊人网 | 四虎网站在线播放 | 在线观看黄日本高清视频 | 欧美最猛性xxxx高清 | 四虎永久在线精品国产免费 |