OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 4763|回复: 1

关于ST官方的YMODEM协议的IAP例程和SecureCRT串口软件的兼容问题

[复制链接]

0

主题

3

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
216
金钱
216
注册时间
2017-11-20
在线时间
62 小时
发表于 2021-2-15 23:12:35 | 显示全部楼层 |阅读模式
本帖最后由 恒星之大 于 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模式。)和超级终端的区别在那。
   
XA9WTEVL]2{[X0]PXFW%7`J.png Q5O5Q@YYR@AX7Z%0%[CFO1X.png
   结果显而易见,二者确实在起始帧上处理有所不同,差异就是关于传输的文件的描述,超级终端只是简单的传输了文件名(Logo_Ymodem.bmp)和文件大小(9662字节),但是SecureCRT在文件大小后面还紧跟了一系列的数字!!虽然目前我还不太清楚的数字的含义,猜测应是文件的其他熟悉,比如时间戳和读写属性,但是这个确实和超级终端的处理不同,并且SecureCRT对Ymodem协议中的文件信息支持更加完整!
   Ymodem协议的兼容性一直是历史遗留问题,不过简单方便还是挺好用的,超级终端软件相比SecureCRT,还是后者功能更加强大,好用的多。







正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

3

主题

27

帖子

0

精华

新手上路

积分
45
金钱
45
注册时间
2021-10-12
在线时间
26 小时
发表于 2021-12-20 10:13:05 | 显示全部楼层
能不能分享一下源码 谢谢楼主
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-19 14:41

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表