2022年Ymodem协议学习笔记_第1页
2022年Ymodem协议学习笔记_第2页
2022年Ymodem协议学习笔记_第3页
2022年Ymodem协议学习笔记_第4页
2022年Ymodem协议学习笔记_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、学习必备欢迎下载ymedom协议一、ymodem 协议学习的目的1、ymodem 协议的应用打开超级终端,在传送主菜单里,有接收文件和发送文件的子菜单。也就是超级终端可以与连接的对象之间相互传送文件。打开发送文件选项,可知,只需要选择“文件名”和“协议”两个选项,就可以进行文件的传送了。协议的类型有 7中,xmodem 及改进的 1k-xmodem , ymodem 和 ymodem-g , zmodem 及其改进协议,以及 kermit ,我这次主要学习嵌入式系统中用得较多的ymodem 协议。2、学习的目标(1)传送文件的实现添加一个命令, fsend ,这个命令接受一个参数,就是文件的最

2、终存放目录。当开发板接收到这个命令后,做好接收文件的准备。与超级终端进行协商后,将收到的文件写入指定位置。(2)接收文件的实现添加一个命令 frecv ,这个命令接受一个参数,就是超级终端所要索取的文件。当开发板接收到这个命令后,就等待终端发送索取文件的协商要求。二、ymodem 协议分析1、明确概念一步一步来,先把概念搞清楚。ymodem 协议是一种发送并等待的协议。即发送方发送一个数据包以后,都要等待接收方的确认。如果是 ack 信号,则可以发送新的包。如果是nak 信号,则重发或者错误退出。、文件传输过程文件传输过程的开启:(1)开启是由接收方开启传输,它发一个大写字母c开启传输。然后进

3、入等待(soh )状态,如果没有回应,就会超时退出。精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 5 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 1 页,共 5 页 - - - - - - - - -学习必备欢迎下载(2)发送方开始时处于等待过程中,等待c 。收到 c以后,发送( soh )数据包开始信号,发送序号( 00),补码( ff),“文件名”,“空格”“文件大小”“除去序号外,补满128字节”, crc 校验两个字节。进入等待(ack )状态

4、。(3)接收方收到以后, crc 校验满足,则发送ack 。发送方接收到 ack ,又进入等待“文件传输开启”信号,即重新进入等待“c ”的状态。(4)前面接收方只是收到了一个文件名,限制正式开启文件传输,ymodem 支持 128 字节和1024 字节一个数据包。 128字节以()开始,字节以()开始。接收方又发出一个“”信号,开始准备接收文件。进入等待“”或者“”状态。()发送接收到“”以后,发送数据包,()(序号)(补码)(位数据)(校验),等待接收方“”。()文件发送完以后,发送方发出一个“”信号,接收方也以“”回应。然后接收方会再次发出“”开启另一次传输,若接着发送方会发出一个“全数

5、据包”,接收方“”以后,本次通信正式结束。()当然相对于改进的地方就在于传输再次开启以后,又可以发送另外一个文件,即一次传输允许发送多个文件,但这个特性我就不准备实现了。、所用到的符号#define modem_soh 0 x01 /数据块起始字符#define modem_stx 0 x02 字节开始#define modem_eot 0 x04 文件传输结束#define modem_ack 0 x06 确认应答#define modem_nak 0 x15 出现错误#define modem_can 0 x18 取消传输#define modem_c 0 x43 大写字母精品学习资料 可

6、选择p d f - - - - - - - - - - - - - - 第 2 页,共 5 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 2 页,共 5 页 - - - - - - - - -学习必备欢迎下载、计算方法u16 ymodemcrc(u8 *bytes, u32 len) int crc = 0; int i, j; for(i = 0; i len; i+) crc = crc bytesi 8; for(j = 0; j 8; j+) if(crc & (int) 0 x8000) !=

7、 0) crc = crc 1 0 x1021; else crc = crc 1; return crc & 0 xffff; 三、协议解析接收方:发出0 x43 表示请求对方发送数据发送方:发出第0 个数据包数据包构成:1:0 x01 或者 0 x02;0 x01 表示 128 字节, 0 x02 表示 1024 字节2:0 x00 表示第 0 个数据包3:0 xff 第几个数据包的补码4 4 + 文名的长度文件名,以0 x00 结束4 + 文件名的长度+ 1 文件大小,以0 x00 结束正文不足128 字节补 0 x00 crc校验接收方: 0 x06 或者 0 x15 0 x0

8、6 应答, 0 x15 非应签接收方: 0 x43 请求对方发送正文发送方:发出第1 个数据包数据包构成:1:0 x01 或者 0 x02;0 x01 表示 128 字节, 0 x02 表示 1024 字节2:0 x01 表示第 1 个数据包3:0 xfe 第几个数据包的补码4:正文crc校验接收方: 0 x06 或者 0 x15 注:发送方收到应答后马上发送第二个数据包直到数据包发送结束后发出0 x04 发送方:发出第2 个数据包精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 3 页,共 5 页 - - - - - - - - -精品学习资料 可选

9、择p d f - - - - - - - - - - - - - - 第 3 页,共 5 页 - - - - - - - - -学习必备欢迎下载数据包构成:1:0 x01 或者 0 x02;0 x01 表示 128 字节, 0 x02 表示 1024 字节2:0 x02 表示第 2 个数据包3:0 xfd 第几个数据包的补码4:正文正文不足128 位补 0 x1a crc校验接收方: 0 x06 或者 0 x15 发送方: 0 x04 传送结束接收方: 0 x06 应答接收方: 0 x43 再次请求发送方:发送全零数据包数据包的构成:1:0 x01 2:0 x00 3:0 xff 4:128

10、个 0 x00 crc校验接收方: 0 x06 数据通信结束文件传输过程的开启:(1)开启是由接收方开启传输,它发一个大写字母c开启传输。然后进入等待(soh )状态,如果没有回应,就会超时退出。(2)发送方开始时处于等待过程中,等待c 。收到 c以后,发送( soh )数据包开始信号,发送序号( 00),补码( ff),“文件名”,“空格”“文件大小”“除去序号外,补满128字节”, crc 校验两个字节。进入等待(ack )状态。(3)接收方收到以后, crc 校验满足,则发送ack 。发送方接收到 ack ,又进入等待“文件传输开启”信号,即重新进入等待“c ”的状态。精品学习资料 可选

11、择p d f - - - - - - - - - - - - - - 第 4 页,共 5 页 - - - - - - - - -精品学习资料 可选择p d f - - - - - - - - - - - - - - 第 4 页,共 5 页 - - - - - - - - -学习必备欢迎下载(4)前面接收方只是收到了一个文件名,限制正式开启文件传输,ymodem 支持 128 字节和1024 字节一个数据包。 128字节以()开始,字节以()开始。接收方又发出一个“”信号,开始准备接收文件。进入等待“”或者“”状态。()发送接收到“”以后,发送数据包,()(序号)(补码)(位数据)(校验),等待

12、接收方“”。()文件发送完以后,发送方发出一个“”信号,接收方也以“”回应。然后接收方会再次发出“”开启另一次传输,若接着发送方会发出一个“全数据包”,接收方“”以后,本次通信正式结束。()当然相对于改进的地方就在于传输再次开启以后,又可以发送另外一个文件,即一次传输允许发送多个文件,但这个特性我就不准备实现了。所用到的符号#define modem_soh 0 x01 /数据块起始字符#define modem_stx 0 x02 字节开始#define modem_eot 0 x04 文件传输结束#define modem_ack 0 x06 确认应答#define modem_nak 0 x15 出现错误#define modem_can 0 x18 取消传输#define modem_c 0 x43 大写字母0 x0d = r 0 x0a =n r是回车n是换行rn这样的组合是在windo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论