999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于YModem協議的極簡遠程加載實現方法

2020-10-26 16:42:47劉曉旭陳振杰張建偉馬國駒
計算機與網絡 2020年18期

劉曉旭 陳振杰 張建偉 馬國駒

摘要:針對外場環境中無法使用JTAG調試口對數字信號處理器(DSP)代碼進行在線升級的問題,對YModem數據傳輸協議及遠程加載基本原理進行簡要介紹。提出了一種基于YModem協議的極簡遠程加載實現方法,可以用最小的代碼量,利用串口對DSP代碼進行遠程升級,解決外場升級DSP的障礙。通過實驗證明了極簡遠程加載實現方法的完整性及可用性。

關鍵詞:YModem協議;遠程加載;數字信號處理器;Bootloader

中圖分類號:TP316文獻標志碼:A文章編號:1008-1739(2020)18-57-4

0引言

DSP是一種在數字信號處理技術基礎上發展起來的微處理器,因具有強大的數字信號處理能力而在各種測控終端中獲得廣泛應用,主要應用是實時快速地實現各種數字信號處理算法[1]。在DSP的開發設計過程中,一般采用JTAG口完成軟件調試及應用程序的加載固化。

隨著電子技術的發展和用戶需求的提升,對已投入使用的DSP設備的升級越來越頻繁,傳統的升級方法是取下設備通過JTAG仿真器在線更新程序[2]。該方式簡單方便,但當DSP安裝于密封、遠程及高空等難以拆卸的設備中時,就十分不便,因此開發高效便捷的遠程升級技術迫在眉睫。

較早的遠程加載方法一般不采用任何協議,通過Bootloader直接進行串口數據的接收及存儲,此類方法雖然簡單直接,但是一旦傳輸過程中出現誤碼,需要將全部數據重新傳輸一次,效率較低。基于高效且準確的遠程加載需求,提出一種基于YModem協議的極簡遠程加載實現方法,用最小的內存空間實現DSP應用程序的遠程加載更新,并成功進行了工程驗證。

1 YModem協議

XModem及YModem是應用十分廣泛的異步文件傳輸協議。其中,XModem協議結構簡單,但每包數據幀最長僅能傳輸128 Byte數據,效率較低;YModem是由Xmodem改進的一種穩定快速的傳輸協議,單包傳輸數據長度提升至1 024 Byte,傳輸效率更高且可以實現批量傳輸,因而應用更為廣泛。

YModem是一種半雙工協議,不能同時雙向收發控制信號,有助于控制流量、減少緩沖區超限問題。YModem是一種握手協議,發送之后需等待回應:發送方每發送一幀數據,都要等待接收方的確認應答,收到應答后再發送新的一幀數據。如果接收方由于某種原因未能正確接收到此幀數據,會向發送方發送重新傳輸數據幀的申請,則發送方會重新發送此幀數據,直到接收方正確接收。這種機制與CRC校驗共同保證了數據傳輸的準確性。同時,分包傳輸、分包校驗的傳輸機制,可以及時發現誤碼,及時重新傳輸出錯數據包,提高數據傳輸效率。

依據YModem協議,每一幀的發送數據由幀頭、數據段以及幀尾組成,具體格式如表1所示,其中數據段長度可以是128 Byte(幀頭為SOH),也可以是1 024 Byte(幀頭為STX),采用1 024 Byte數據一幀的傳輸方式,可以大大提高傳輸速度[3-4]。

YModem協議傳輸的完整握手流程如圖1所示。

YModem通信協議握手流程如下:

①接收方發送字符C通知發送方,啟動握手流程,進入等待SOH狀態,如果沒有回應,則重新開啟或超時退出;

②發送方開始時處于等待過程中,等待接收方的啟動信號C,收到接收方發送的字符C后,發送方發送幀頭為SOH的文件信息包,包含序號以及文件名、文件大小等信息,然后進入等待字符ACK狀態;

③接收方收到文件信息包,進行CRC校驗,如校驗成功,則發送ACK確認,發送方收到ACK后,進入等待文件傳輸開啟信號,即等待字符C狀態;如果CRC校驗失敗,則發送NAK字符,請求發送方重新發送此數據包;

④接收方發送字符C,通知發送方啟動文件發送,進入等待SOH或STX狀態;

⑤發送方接收到字符C后,進入正式文件發送流程,發送數據包,等待接收方回復ACK后繼續發送下一包;

⑥文件發送完畢后,發送方發出EOT結束信號,接收方回復ACK后,發送方發送以全0填充、序號為0的SOH數據包,接收方回復ACK,至此握手過程結束。

如上文所述,利用YModem協議完善的握手機制和出錯管理機制,引導程序可以準確無誤又快速地接收到包含應用程序的數據包。

2遠程加載基本原理

DSP遠程加載的實現共涉及三部分程序:引導程序(Bootloader)、應用程序以及上位機程序。其中,Bootloader和上位機程序是固定不變的,是遠程升級系統的主要組成部分,應用程序是DSP開發者編寫的用以完成指定功能的代碼,會隨應用需求的變化而變化。

2.1 Bootloader

Bootloader是提前固化在DSP指定空間、在DSP內核啟動前運行的一段程序,對應用程序編程用戶保護、不可被修改,主要作用有:

①初始化硬件設備及內存分配;

②與上位機進行數據交互,接收上位機發送的待升級程序固件與程序存儲地址等信息,并將固件燒錄至Flash指定地址;

③完成程序升級后,跳轉至應用程序。

Bootloader的功能相對簡單且固定,因而具有很好的通用性,易于移植。遠程升級的實質就是通過Bootloader來固化應用程序,不用改變DSP芯片的啟動方式,直接采用默認的片上Flash啟動方式即可。

2.2上位機程序

上位機程序的主要作用是對應用程序編譯生成的文件進行格式轉換、信息提取以及打包發送等功能[5-8]。

由DSP開發工具編譯生成的可執行文件地址不連續,且對象文件格式無法直接用于Flash燒寫,因而需要通過上位機程序將應用程序編譯生成的.out文件轉換成.hex文件,再將轉換后的.hex文件打包發送給Bootloader。

2.3遠程加載實現

遠程加載的工作流程如圖2所示。

①上位機程序對.out文件進行格式轉換和信息提取;

②Bootloader及上位機程序通過特定協議進行可燒錄的應用程序的數據傳輸;

③Bootloader將應用程序數據燒寫至Flash的指定區域,并跳轉至應用程序入口,啟動DSP。

3基于YModem協議的極簡遠程加載實現

3.1實現方法

提出一種基于YModem協議的極簡遠程加載實現方法,和普通遠程加載方法相比,本文方法主要有以下改進:

(1)數據傳輸協議的更新

使用YModem協議進行Bootloader與上位機軟件之間的數據傳輸,握手機制以及分包傳輸和分包校驗的操作流程,提高了數據傳輸的效率及準確率。

(2)Bootloader的優化

由于Bootloader與應用程序共同占用DSP內存空間,而DSP內存空間畢竟有限,因此Bootloader要設計的盡量小。

在Bootloader與上位機之間的數據交互過程中,如果將所有數據幀內的有效數據都存入寄存器中,待數據傳輸完成之后再一起進行Flash燒寫,那么勢必需要在Bootloader中開辟一個很大的存儲空間。本著節省內存空間的原則本例只開辟收、寫2個獨立的1 KB寄存器空間,一個寄存器用來存放當前收到的一幀1 KB數據內容;另一個寄存器存放待寫入Flash的數據。當收寄存器收到數據并校驗無誤后,將其寫入寫寄存器,同時清空收寄存器,用以繼續接收上位機軟件發送的數據;寫寄存器判斷有數據寫入后,開始向Flash寫入,具體實現流程如圖3所示。通過分析,以燒錄一個大小為1 MB的應用程序為例,此極簡加載方法可以節約DSP中原本為存儲數據而開辟的950 300 Byte的RAM內存空間。

3.2實現過程

經過以上改進,提出的基于YModem協議的極簡遠程加載實現方法可以在占用最少內存資源的前提下,實現較傳統遠程加載方法更高效更準確的傳輸。

SecureCRT是較為常用的上位機軟件,可實現XModem、YModem以及ZModem協議的數據傳輸,本例使用SecureCRT作為上位機軟件,以TI公司的OMPL138為硬件平臺,對提出的基于YModem協議的極簡遠程加載實現方法進行工程驗證。

利用上位機軟件SecureCRT向Bootloader發送.hex文件,Bootloader依據YModem協議校驗解析數據幀并存入寄存器,再將寄存器中的.hex文件燒錄至Flash中,即完成遠程加載。數據傳輸完成后SecureCRT應用界面如圖4所示,數據傳輸完成100%且0 Errors,表示數據傳輸全部完成且未出現傳輸錯誤,對以OMAPL138為核心的終端設備斷電重啟,軟件顯示已更新至新版本。至此,提出的基于YModem協議的極簡遠程加載實現方法已在硬件平臺上完成驗證。

4結束語

提出了一種基于YModem協議的極簡遠程加載實現方法,經工程驗證,此方法可以用最小的內存代價快速穩定地實現DSP應用程序的遠程加載。不僅如此,由于YModem協議規定發送方需要向接收方發送數據的文件名和大小,這就使得采用YModem協議進行的遠程加載還可以根據實際應用需求對本文提出的方法進行改進,如實現Flash分區存儲不同的應用程序,用戶可以根據需求選擇不同的應用程序運行。

參考文獻

[1]劉瑞.DSP系統的CAN總線遠程升級方法[J].微型機與應用,2016,35(13):71-72,75.

[2]李無言.一步步寫嵌入式操作系統[M].北京:電子工業出版社,2011.

[3]吳兆芝.ARM平臺多進程微內核嵌入式操作系統Ymodem下載功能設計與實現[J].南京曉莊學院學報,2013,29(3): 79-83,89.

[4]戈潤棟,馬旭東.CAN總線分布式系統程序的以太網在線更新[J].工業控制計算機,2013,26(11):19-20,24.

[5]雷衛延,敖振浪,周欽強.基于STM32的在線應用編程(IAP)開發[J].電子測量技術,2015,38(5):62-66.

[6] MENG H,PAN L.Realization of Remote Update Technology for Embedded Equipment based onμC/OS-Ⅱ[J].Journal of Measurement Science and Instrumentation,2014(3):69-72.

[7]羅文,王莉娜,肖鯤.基于GPRS的嵌入式系統遠程監控和升級[J].電子技術應用,2010,36(5):159-162.

[8]吳佳敏.嵌入式遠程工業監控系統的終端設備軟件設計與實現[D].成都:電子科技大學,2010.

主站蜘蛛池模板: 女同久久精品国产99国| 99久久国产精品无码| 国产精品yjizz视频网一二区| 欧美午夜视频在线| 国产精品亚欧美一区二区| 国产91麻豆视频| 欧美19综合中文字幕| 成年女人18毛片毛片免费| 日韩美女福利视频| 精品国产美女福到在线不卡f| 久草美女视频| 萌白酱国产一区二区| 亚洲免费黄色网| 毛片在线看网站| 日韩人妻无码制服丝袜视频| 精品人妻系列无码专区久久| 国产欧美综合在线观看第七页| 久久毛片网| 久久综合久久鬼| 国产新AV天堂| 国国产a国产片免费麻豆| 国产成人亚洲欧美激情| 亚洲视频欧美不卡| 无遮挡国产高潮视频免费观看| 久久亚洲日本不卡一区二区| 欧美笫一页| 欧美精品色视频| 爆乳熟妇一区二区三区| 欧美日韩午夜| 亚洲日韩欧美在线观看| 伊人AV天堂| 成人字幕网视频在线观看| 亚洲人成日本在线观看| 中文字幕亚洲乱码熟女1区2区| 丁香综合在线| 亚洲另类色| AⅤ色综合久久天堂AV色综合| 农村乱人伦一区二区| 国产自在线播放| 久久人体视频| 午夜国产精品视频黄| 欧美在线综合视频| a毛片在线播放| 欧美中文字幕在线播放| 欧美第一页在线| 无码日韩视频| 国产va在线观看| 免费一极毛片| 首页亚洲国产丝袜长腿综合| 亚洲国产91人成在线| 97国内精品久久久久不卡| 无码国产偷倩在线播放老年人 | 久久福利片| 伊人久久福利中文字幕| 中文毛片无遮挡播放免费| 26uuu国产精品视频| 亚洲天堂精品视频| 久久这里只有精品2| 亚洲va精品中文字幕| 日韩在线影院| 午夜无码一区二区三区| 91无码人妻精品一区二区蜜桃| 国产亚洲精| 爆乳熟妇一区二区三区| 色AV色 综合网站| 噜噜噜久久| 自拍亚洲欧美精品| 久草视频中文| 中字无码精油按摩中出视频| 无码一区中文字幕| 青青草国产免费国产| 国产va欧美va在线观看| 九九热视频在线免费观看| 一级毛片网| 国产一在线| 麻豆AV网站免费进入| 亚洲综合第一区| 国产69精品久久久久孕妇大杂乱 | 伊人久久大香线蕉影院| av尤物免费在线观看| 亚洲综合在线最大成人| 99在线观看国产|