Ymodem协议学习笔记_外语学习-法语学习.pdf





《Ymodem协议学习笔记_外语学习-法语学习.pdf》由会员分享,可在线阅读,更多相关《Ymodem协议学习笔记_外语学习-法语学习.pdf(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)状态,如果没有回应,就会超时退出。学习必备 欢迎下载(2)发送方开始时处于等待过程中,等待 C。收到 C以后,发送(SOH)数据包开始信号,发送序号(00),补码(FF),“文件名”,“空格”“文件大小”“除去序号外,补满 128字节”,CRC校验两个字节。进入等待(ACK)状态。(3)接收方收到以后,CRC校验满足,则发送 ACK。发送方接收到 ACK,又进入等待“文件传输开启”信号,即重新进入等待“C”的状态。(4)前面接收方只是收到了一个文件名,限制正式开启文件传输,Ymodem支持 128 字节和1024 字节一个数据包。128 字节以()开始,字节以()开始。接收方又发出
4、一个“”信号,开始准备接收文件。进入等待“”或者“”状态。()发送接收到“”以后,发送数据包,()(序号)(补码)(位数据)(校验),等待接收方“”。()文件发送完以后,发送方发出一个“”信号,接收方也以“”回应。然后接收方会再次发出“”开启另一次传输,若接着发送方会发出一个“全数据包”,接收方“”以后,本次通信正式结束。()当然相对于改进的地方就在于传输再次开启以后,又可以发送另外一个文件,即一次传输允许发送多个文件,但这个特性我就不准备实现了。、所用到的符号#define MODEM_SOH 0 x01/数据块起始字符#define MODEM_STX 0 x02 字节开始#define
5、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、文件当开发板接收到这个命令后就等待终端发送索取文件的协商要求二协议分析认如果是信号则可以发送新的包如果是信号则重发或者错误退出文件传输过程文件传输过程的开启开启是由接收方开启传输它发一个大写字母开启传输然后进入等待状态如果没有回应就会超时退出学习必备欢迎下载发送方开始时处学习必备 欢迎下载、计算方法 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)!=0)crc=crc 1 0 x1021;else crc=
7、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 x06 应答,0 x15 非应签 接收方:0 x43 请求对方发送正文 发
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Ymodem 协议 学习 笔记 外语 法语

限制150内