99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

Westbrook
認(rèn)證:VIP會員
所在專題目錄 查看專題
dsPIC33 BootLoader(4)-基于MCC配置Boot區(qū)
dsPIC33 BootLoader(5)-基于MCC生成應(yīng)用程序
Bootloader演示
dsPIC33 Bootloader(6) -開發(fā)時需要考慮的一些關(guān)鍵問題
dsPIC33 BootLoader(7)-修改鏈接描述文件GLD
dsPIC33 Bootloader(8)-Hex文件解析
作者動態(tài) 更多
10分鐘教你快速完成數(shù)字電源的閉環(huán)控制
2022-04-02 17:26
數(shù)字電源學(xué)習(xí)板演示
2022-02-19 13:36
手把手教你學(xué)數(shù)字電源系列視頻(22)- 數(shù)字控制的軟件流程
2022-02-19 13:28
手把手教你學(xué)數(shù)字電源系列視頻(21)- 設(shè)計數(shù)字補(bǔ)償器(LDE執(zhí)行)
2022-02-19 13:28
手把手教你學(xué)數(shù)字電源系列視頻(20)- 設(shè)計數(shù)字補(bǔ)償器(AB系數(shù)計算)
2022-02-19 13:27

dsPIC33 Bootloader(8)-Hex文件解析

市面上大多數(shù)單片機(jī)的Hex文件都是基于Intel Hex,而dsPIC33C也不例外,dsPIC33C支持的格式為Intel HEX32(INHX32)。

hex文件以ascii形式,按照行來記錄數(shù)據(jù)。

Hex文件的基本格式為:

                           :BBAAAATTHHHH....HHHHCC

每個數(shù)據(jù)記錄都是以9字符前綴開始,并總是以2字符校驗(yàn)和結(jié)束。無論格式如何,所有記錄都是以“:”開始。以下介紹了其中的各個元素。                

  • BB -- 16進(jìn)制,表示此行數(shù)據(jù)長度字節(jié)數(shù),表示HH的數(shù)目                
  • AAAA -- 16進(jìn)制,表示數(shù)據(jù)記錄的起始地址,若此行是數(shù)據(jù)記錄,則表示偏移地址,其它無意義                     
  • TT -- 16進(jìn)制,表示記錄類型

         00-數(shù)據(jù)記錄(Data Record);

         01-文件記錄結(jié)束(End of File record);

         02-擴(kuò)展段地址記錄(Extend Segment address record);后面所有數(shù)據(jù)地址+段地址左移4位;

         03-擴(kuò)展線性地址記錄(Extend Linear address record);后面所有數(shù)據(jù)地址+線性地址左移16位             

  • HH...HH -- 16進(jìn)制,低字節(jié)/高字節(jié) 結(jié)合數(shù)據(jù),高字節(jié)在后;注意,若是偏移地址,則都是2字節(jié),高字節(jié)在前,低字節(jié)在后  ;                   

CC -- 16進(jìn)制,校驗(yàn)碼,除冒號和自身以外的其他字節(jié)數(shù)據(jù)加起來模除256的余數(shù)的補(bǔ)碼。

例如:10 A6B0 00 0000EB00D4FD0700000F78001E007800 BA

CC=01+~(10+A6+B0+00+00+00+EB+00+D4+FD+07+00+00+0F+78+00+1E+00+78+00)=BA

由于Inter hex文件格式是針對字節(jié)的,而16位程序計數(shù)器不是,所以程序存儲器段需要特殊的處理。每個24位程序字都通過插入所謂的“虛擬字節(jié)”而擴(kuò)展為32位。每個程序存儲器地址都乘以2來獲得字節(jié)地址。

下面是編譯后生成的Hex代碼示例。

第一條紅色框:02 0000 04 0000 fa

表示這條記錄有2個字節(jié)的數(shù)據(jù),起始地址為0000,類型為04,表示為擴(kuò)展地址,具體數(shù)據(jù)為0000,校驗(yàn)和為fa。

第二條紅色框 10 3008 00 0000fa00007c80000080fa0000000600 42

表示這條記錄有10(HEX)個字節(jié)的數(shù)據(jù),起始地址為2400,類型為00,具體數(shù)據(jù)為0000fa00007c80000080fa0000000600,校驗(yàn)和為42。

第三條紅色框:00 0000 01 FF - 結(jié)尾標(biāo)志行

表示文件結(jié)束。

請注意,數(shù)據(jù)記錄的第二條紅框的裝入地址為3008,而源代碼指定的地址為0x1804。

Microchip 16bit MCU采用字的形式存儲指令代碼,每個字的長度為24位,共3個字節(jié)。指令的地址按2往上增加,地址的尾數(shù)都為偶數(shù)。在HEX文件中每條指令對應(yīng)有4個字節(jié),即在最高位進(jìn)行了補(bǔ)0操做,在HEX文件中插入了00“虛高字節(jié)”。數(shù)據(jù)是以“小數(shù)位”格式表示的,表示最低有效字節(jié)(LSB)先出現(xiàn)。虛擬字節(jié)后出現(xiàn),正好位于校驗(yàn)和之前。


MCU另外的一種傳輸文件格式為BIN文件,BIN文件采用數(shù)據(jù)流的形式,從第一條有效數(shù)據(jù)開始,直到最后一個字節(jié)的數(shù)據(jù)均會包含。

HEX文件特點(diǎn):優(yōu)點(diǎn)是整個文件小,有有效數(shù)據(jù)時才會產(chǎn)生記錄。缺點(diǎn)是傳輸時包含了起始符,地址,數(shù)據(jù)類型校驗(yàn)和等數(shù)據(jù),數(shù)據(jù)的有效負(fù)荷率低。對數(shù)據(jù)幀的解析復(fù)雜。BIN文件特定:優(yōu)點(diǎn)是數(shù)據(jù)傳輸時簡單,傳輸?shù)亩际菙?shù)據(jù)。缺點(diǎn)是整個文件大,包含了全FF這種無效的數(shù)據(jù)。

HEX文件到BIN文件轉(zhuǎn)換,采用軟件H-Converter  bin to hex可實(shí)現(xiàn)HEX和BIN之間的相互轉(zhuǎn)換。

下面以CAN Bootloader來傳輸數(shù)據(jù)(可以采用具有CAN外設(shè)的MCU,比如PIC18F46K80),實(shí)現(xiàn)對目標(biāo)板應(yīng)用程序的升級。

Bootloader程序流程圖如下,Appstate ==0x55,表示應(yīng)用程序已升級到Flash空間。

Application程序流程圖。


至此,本專題初步介紹了Bootloader的原理、Flash空間分配、中斷重映射以及Hex解析,關(guān)于更深入的討論不作為本專題的討論范圍,感謝大家支持。如果覺得本專題對你有幫助,歡迎關(guān)注,點(diǎn)贊,轉(zhuǎn)發(fā),收藏!最后,由于本人認(rèn)識水平有限,某些內(nèi)容也認(rèn)識不全面,望各位大佬賜教。

聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請聯(lián)系:editor@netbroad.com
覺得內(nèi)容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 4
關(guān)注 851
成為作者 賺取收益
全部留言
0/200
  • 電源漫談 2021-09-07 23:02
    摩拜大佬
    回復(fù)
主站蜘蛛池模板: 欧美精品二区 | 蜜桃视频网站在线观看 | 说英雄谁是英雄免费观看 | 成人av集中营 | 91酒色| 亚洲综合色婷婷六月丁香宅男大增 | 色悠久久久久综合网国产 | 在线观看高清不卡无码视频 | 欧美日产国产新一区 | 刘亦菲一区二区三区免费看 | 国产在线日韩欧美 | 成人小视频在线观看免费 | 午夜在线播放视频 | 中国视频一区二区 | 把女人弄爽特黄a大片777 | 中文WWW新版资源在线 | 韩日中文字幕 | 欧美特黄视频 | 国产精品s房调教打屁股 | 日本高清视频一区二区三区四区 | 中文无码精品视频在线看 | 亚洲国产午夜精品 | 久久精品亚洲精品艾草网 | 国产精成人品日日拍夜夜免费 | 欧美三日本三级少妇三级99观看视频 | 狠狠干狠狠干 | 日本精品一区二区三区四区 | 日本黄页网站免费观看 | 国产h视频在线 | 国产精品一二三区久久狼 | 黄色一级视屏 | 久热无码中文视频在线 | 国产黄在线看 | 欧美精品日韩精品国产精品 | 2022色婷婷综合久久久 | 久久一区二区三区精华液介绍 | 精品一二三四五区 | 综合色在线观看 | 国产福利萌白酱在线观看视频 | 午夜日韩在线观看 | 国产xxxxx视频 |