一种基于YModem协议的极简远程加载实现方法 .pdfVIP

一种基于YModem协议的极简远程加载实现方法 .pdf

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

一种基于YModem协议的极简远程加载实

现方法

作者:刘晓旭陈振杰张建伟马国驹

来源:《计算机与网络》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应用程序的远程加载更新,并成功进行了工程验证。

1YModem协议

XModem及YModem是应用十分广泛的异步文件传输协议。其中,XModem协议结构简

单,但每包数据帧最长仅能传输128Byte数据,效率较低;YModem是由Xmodem改进的一

种稳定快速的传输协议,单包传输数据长度提升至1024Byte,传输效率更高且可以实现批量

传输,因而应用更为广泛。

YModem是一种半双工协议,不能同时双向收发控制信号,有助于控制流量、减少缓冲区

超限问题。YModem是一种握手协议,发送之后需等待回应:发送方每发送一帧数据,都要等

待接收方的确认应答,收到应答后再发送新的一帧数据。如果接收方由于某种原因未能正确接

收到此帧数据,会向发送方发送重新传输数据帧的申请,则发送方会重新发送此帧数据,直到

接收方正确接收。这种机制与CRC校验共同保证了数据传输的准确性。同时,分包传输、分

包校验的传输机制,可以及时发现误码,及时重新传输出错数据包,提高数据传输效率。

依据YModem协议,每一帧的发送数据由帧头、数据段以及帧尾组成,具体格式如表1

所示,其中数据段长度可以是128Byte(帧头为SOH),也可以是1024Byte(帧头为

STX),采用1024Byte数据一帧的传输方式,可以大大提高传输速度[3-4]。

YModem协议传输的完整握手流程如图1所示。

YModem通信协议握手流程如下:

①接收方发送字符C通知发送方,启动握手流程,进入等待SOH状态,如果没有回应,

则重新开启或超时退出;

②发送方开始时处于等待过程中,等待接收方的启动信号C,收到接收方发送的字符C

后,发送方发送帧头为SOH的文件信息包,包含序号以及文件名、文件大小等信息,然后进

入等待字符ACK状态;

③接收方收到文件信息包,进行CRC校验,如校验成功,则发送ACK确认,发送方收到

ACK后,进入等待文件传输开启信号,即等待字符C状态;如果CRC校验失败,则发送

NAK字符,请求发送方重新发送此数据包;

④接收方发送字符C,通知發送方启动文件发送,进入等待SOH或STX状态;

⑤发送方接收到字符C后,进入正式文件发送流程,发送数据包,等待接

文档评论(0)

151****1335 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档