中级会员
 
- 积分
- 216
- 金钱
- 216
- 注册时间
- 2017-11-20
- 在线时间
- 62 小时
|
本帖最后由 恒星之大 于 2021-2-23 14:53 编辑
分享一下的关于超级终端和SecureCRT的Ymodem协议差异。
昨天学习Ymodem协议,准备用于管理单片机SD卡的里面的logo图片。
官方的Ymodem例程里面,协议中的收发函数都写了,但是应用上只写了接收,并且是针对IAP,而我的应用场合是文件系统,所以需要改动一下。
网上有人说,官方例程是适配WIN7超级终端,但是secureCRT下不行。我一开始也是用secureCRT,先试的上传,结果一下子就掉坑里 直接卡死在起始帧,我还以为我改代码改的不对,撞了两小时墙后,就试了试超级终端,结果可以上传! 带着这个疑问继续搜索资料,网上关于Ymodem协议的解释基本大同小异,但是在Ymodem起始帧中,关于文件大小的表示方法,有的说是ASCII码表示,有的说是十六进制的ASCII码,从结果来看,是ASCII码才对,比如9662个字节的文件大小,起始帧是 "9662"的字符。然而我万万没想到的是,这里就是超级终端和SecureCRT串口在YMODEM下的最大差异点!!
今天带着昨天的困惑,开始调试下载,从超级终端下载文件存到SD卡,过程很顺利,搞完之后我想着昨天的问题,于是就试了下SecureCRT发送文件到单片机,然后Debug观看起始帧的数字,看看SecureCRT的Ymodem协议( SecureCRT选择Ymodem-1K模式。)和超级终端的区别在那。
结果显而易见,二者确实在起始帧上处理有所不同,差异就是关于传输的文件的描述,超级终端只是简单的传输了文件名(Logo_Ymodem.bmp)和文件大小(9662字节),但是SecureCRT在文件大小后面还紧跟了一系列的数字!!虽然目前我还不太清楚的数字的含义,猜测应是文件的其他熟悉,比如时间戳和读写属性,但是这个确实和超级终端的处理不同,并且SecureCRT对Ymodem协议中的文件信息支持更加完整!
Ymodem协议的兼容性一直是历史遗留问题,不过简单方便还是挺好用的,超级终端软件相比SecureCRT,还是后者功能更加强大,好用的多。
|
|