www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 單片機(jī) > 單片機(jī)
[導(dǎo)讀] 嵌入式程序編譯后可以生成.HEX格式的可執(zhí)行文件,遠(yuǎn)程升級(jí)的原始升級(jí)程序的格式也是.HEX格式文件,因此首先應(yīng)深入理解HEX文件格式。 HEX格式文件是一個(gè)記錄文本行的ASCII文本文件,在IntelHEX文件中

嵌入式程序編譯后可以生成.HEX格式的可執(zhí)行文件,遠(yuǎn)程升級(jí)的原始升級(jí)程序的格式也是.HEX格式文件,因此首

先應(yīng)深入理解HEX文件格式。

HEX格式文件是一個(gè)記錄文本行的ASCII文本文件,在IntelHEX文件中,每一行是一個(gè)HEX記錄,由十六進(jìn)制數(shù)組

成的機(jī)器碼或者數(shù)據(jù)常量。一個(gè)數(shù)據(jù)記錄以一個(gè)冒號(hào)(0x3A)開(kāi)始。

一個(gè)IntelHEX文件可以包含任意多的十六進(jìn)制記錄,每條記錄有五個(gè)域,下面是一個(gè)記錄的格式:

:LLAAAATT[DD...]CC

每一組字母是獨(dú)立的一域,每一個(gè)字母是一個(gè)十六進(jìn)制數(shù)字,每一域至少由兩個(gè)十六進(jìn)制數(shù)字組成,下面是字節(jié)的描

述.

:(冒號(hào))是每一條IntelHEX記錄的開(kāi)始

LL是這條記錄的長(zhǎng)度域,他表示數(shù)據(jù)(dd)的字節(jié)數(shù)目.注意:LL表示數(shù)據(jù)的長(zhǎng)度而不是一行五個(gè)域的總長(zhǎng)度。

AAAA是地址域,他表示數(shù)據(jù)的起始地址

TT這個(gè)域表示這條HEX記錄的類型,他有可能是下面這幾種類型 :

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

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

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

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

05----用于調(diào)試器,芯片燒錄可忽略

06----用戶信息記錄(并非標(biāo)準(zhǔn)HEX格式,升級(jí)時(shí)與上位機(jī)自行商定)

07----用戶信息記錄(并非HEX標(biāo)準(zhǔn)格式,升級(jí)時(shí)與上位機(jī)自行商定)

DD是數(shù)據(jù)域,表示一個(gè)字節(jié)的數(shù)據(jù),一個(gè)記錄可能有多個(gè)數(shù)據(jù)字節(jié),字節(jié)數(shù)目可以查看LL域的說(shuō)明。

CC是校驗(yàn)和域,表示記錄的效驗(yàn)和,計(jì)算方法是將本條記錄冒號(hào)開(kāi)始的所有字母(不包括冒號(hào)即“3A”但包括校驗(yàn)字節(jié))相加之后等于0x00。

一個(gè)IntelHEX文件必須有一個(gè)文件結(jié)束記錄,這個(gè)記錄的類型域必須是01。

下面舉例說(shuō)明,以加強(qiáng)對(duì)HEX文件的理解

1.1.數(shù)據(jù)記錄舉例

(注:為了便于查看,將各域用【】隔開(kāi),實(shí)際HEX文件數(shù)據(jù)中并無(wú)這個(gè)括號(hào),下同)

【:】【10】【0000】【00】【18F09FE518F09FE518F09FE518F09FE5】【C0】

這其中,【:】為一個(gè)記錄的開(kāi)始;

【10】為長(zhǎng)度域,表示數(shù)據(jù)長(zhǎng)度,為16進(jìn)制,0x10表示數(shù)據(jù)域的數(shù)據(jù)長(zhǎng)度為16個(gè)字節(jié);

【0000】為地址域,表示數(shù)據(jù)的起始地址;

【00】為記錄類型域,00表示本記錄為數(shù)據(jù)記錄;

【18F09FE518F09FE518F09FE518F09FE5】為數(shù)據(jù)域;

【C0】為校驗(yàn)和域,表示記錄的校驗(yàn)和,計(jì)算方法是將本條記錄冒號(hào)開(kāi)始的所有字母(包括校驗(yàn)字節(jié))相加之后等于0x00。本記錄的校驗(yàn)和計(jì)算方法為:

【10】+【0000】+【00】+【18F09FE518F09FE518F09FE518F09FE5】+【C0】=0x00;

1.2.擴(kuò)展線性地址記錄舉例

【:】【02】【0000】【04】【0001】【FA】

這其中:【:】為一個(gè)記錄的開(kāi)始;

【02】為長(zhǎng)度域,表示數(shù)據(jù)長(zhǎng)度,為16進(jìn)制,0x02表示數(shù)據(jù)域的數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié);

【0000】為地址域,表示數(shù)據(jù)的起始地址,這里為絕對(duì)地址;

【04】為記錄類型域,04表示本記錄為擴(kuò)展線性地址記錄;

【0001】為數(shù)據(jù)域,該數(shù)據(jù)內(nèi)容表示數(shù)據(jù)地址的高16位。地址域與被移位的來(lái)自擴(kuò)展線性地址記錄的地址

數(shù)據(jù)相加獲得數(shù)據(jù)記錄的32位絕對(duì)存儲(chǔ)器地址。因?yàn)橹挥玫刂酚虻?6位數(shù)據(jù)只能表示64K的程序,當(dāng)程序絕對(duì)地

址地址超過(guò)0xFFFF時(shí),必須用該記錄進(jìn)行線性地址擴(kuò)展,經(jīng)過(guò)線性地址擴(kuò)展,程序可以達(dá)到4GB。

【FA】為校驗(yàn)和域,表示記錄的校驗(yàn)和。

1.3.文件結(jié)束記錄舉例

一個(gè)IntelHEX文件必須有一個(gè)文件結(jié)束記錄,這個(gè)記錄的類型域必須是01。一個(gè)文件結(jié)束記錄是如下所示的固定

格式:

:00000001FF

1.4.擴(kuò)展段地址記錄:不會(huì)用到。


本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在Linux操作系統(tǒng)中,文件操作是進(jìn)程與存儲(chǔ)系統(tǒng)交互的重要方式。對(duì)于同一個(gè)文件,一個(gè)進(jìn)程是否可以在其生命周期內(nèi)多次調(diào)用open函數(shù)打開(kāi)它,并進(jìn)行讀寫(xiě)操作呢?答案是肯定的。本文將深入探討這一機(jī)制,并通過(guò)代碼示例展示如何在進(jìn)...

關(guān)鍵字: 文件 Linux 操作系統(tǒng)

在嵌入式Linux系統(tǒng)中,文件屬主(Owner)與屬組(Group)是文件系統(tǒng)權(quán)限管理的基礎(chǔ)。它們決定了哪些用戶或用戶組可以訪問(wèn)、修改或執(zhí)行特定的文件或目錄。這種權(quán)限控制機(jī)制不僅有助于保護(hù)系統(tǒng)的安全性,還能確保只有授權(quán)的...

關(guān)鍵字: 嵌入式Linux 文件

在嵌入式Linux開(kāi)發(fā)中,對(duì)文件系統(tǒng)的深入理解和操作是至關(guān)重要的。Linux系統(tǒng)以其靈活性和強(qiáng)大的文件管理功能而著稱,支持多種文件類型以滿足不同的需求。本文將詳細(xì)探討Linux系統(tǒng)中的文件類型,并通過(guò)實(shí)例代碼展示如何識(shí)別...

關(guān)鍵字: 嵌入式Linu Linux系統(tǒng) 文件

在嵌入式系統(tǒng)開(kāi)發(fā)中,文件操作是一項(xiàng)基礎(chǔ)且重要的功能。它允許程序讀取、寫(xiě)入、修改存儲(chǔ)在存儲(chǔ)設(shè)備上的數(shù)據(jù),如配置文件、日志文件、數(shù)據(jù)庫(kù)等。由于嵌入式系統(tǒng)資源有限,文件操作通常需要高效且可靠。本文將通過(guò)一個(gè)實(shí)例,深入探討嵌入式...

關(guān)鍵字: 嵌入式開(kāi)發(fā) C語(yǔ)言 文件

會(huì)話層(Session)是建立在傳輸層之上,利用傳輸層提供的服務(wù),使應(yīng)用建立和維持會(huì)話,并能使會(huì)話獲得同步。會(huì)話層使用校驗(yàn)點(diǎn)可使通信會(huì)話在通信失效時(shí)從校驗(yàn)點(diǎn)繼續(xù)恢復(fù)通信。這種能力對(duì)于傳送大的文件極為重要。

關(guān)鍵字: 會(huì)話層 傳輸層 文件

摘要:針對(duì)信息系統(tǒng)自身安全需求及威脅行為特征,提出了基于云架構(gòu)的分級(jí)威脅防御機(jī)制。該機(jī)制將信息系統(tǒng)作為一個(gè)整體進(jìn)行威脅防護(hù),將文件訪問(wèn)異常行為作為判斷威脅的依據(jù),并針對(duì)信息系統(tǒng)終端安全分級(jí)設(shè)計(jì)了不同的文件訪問(wèn)行為模型,然...

關(guān)鍵字: 信息系統(tǒng) 威脅 文件 云架構(gòu) 分級(jí)

Linux一個(gè)重要的哲學(xué)是:一切皆文件。而文件與文件系統(tǒng)是密切相關(guān)的,本篇筆記我們來(lái)一起學(xué)習(xí)、理清那些令我們眼花繚亂的文件系統(tǒng)。

關(guān)鍵字: Linux 文件系統(tǒng) 文件

我們?cè)谑褂胠inux時(shí),提示 Could not get lock /var/lib/dpkg/lock 報(bào)錯(cuò)?

關(guān)鍵字: Linux 文件

  在Windows中打開(kāi)一個(gè)文件時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用相應(yīng)的程序來(lái)打開(kāi)它。但有時(shí)我們不想用這個(gè)程序來(lái)打開(kāi)這個(gè)文件,這就得改變文件和程序的關(guān)聯(lián),《電腦報(bào)》上有一些改動(dòng)關(guān)聯(lián)的方法,但通過(guò)修改注冊(cè)表,也可以找

關(guān)鍵字: 文件 程序 關(guān)聯(lián)方法

Android上可能有很多文件瀏覽器,但是對(duì)于應(yīng)用程序,沒(méi)有太多選擇。 由于用戶使用同一類型應(yīng)用程序的方式可能非常不同,因此在對(duì)書(shū)簽問(wèn)題進(jìn)行故障排除時(shí),只有一項(xiàng)額外功能或缺少功能會(huì)中斷交易。 如果您有一個(gè)新的文件瀏覽器,...

關(guān)鍵字: Android 文件 ultra explorer
關(guān)閉