[转]XModem协议】的更多相关文章

出处:XModem协议 XModem协议介绍:XModem是一种在串口通信中广泛使用的异步文件传输协议,分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块. 一.XModem校验和协议 1. XModem信息包格式XModem协议最早由Ward Christensen在20世纪70年代提出并实现的,传输数据单位为信息包,信息包格式如下: -------------------------------------------------…
1.      Xmodem协议 1.1.    简介 在上一章中,BootLoader和APP在串口下的升级其实都用到了一种文件传输协议,即Xmodem协议,该协议因其简单,易实现和使用的特点在很多场合都得到了广泛的应用. Xmodem是在1978年由Ward Christensen创建的用于调制解调器纠错的协议,它实际上已经成了标准.使用此协议的调制解散调节器发送的数据包大小为128-byte (数据包的大小也可以为1K字节).如果包成功接收,接收方会返回一个肯定应答信号(ACK),如果发现…
XModem协议介绍: XModem是一种在串口通信中广泛使用的异步文件传输协议,分为XModem和1k-XModem协议两种,前者使用128字节的数据块,后者使用1024字节即1k字节的数据块. 一.XModem校验和协议 1. XModem信息包格式 XModem协议最早由Ward Christensen在20世纪70年代提出并实现的,传输数据单位为信息包,信息包格式如下: -----------------------------------------------------------…
https://www.menie.org/georges/embedded/ 需要移植如下两个基础的硬件读写函数 int _inbyte(unsigned short timeout); void _outbyte(int c); xmodem.c /* * Copyright 2001-2010 Georges Menie (www.menie.org) * All rights reserved. * Redistribution and use in source and binary…
源:KERMIT,XMODEM,YMODEM,ZMODEM传输协议小结 Kermit协议 报文格式: 1.MARK,起始标记START_CHAR,为 0x01(CTRIL-A): 2.LEN,报文剩余部分的长度,取值范围0~94,报文最大长度96,长度不包含换行符或者制表符: 3.SEQ,数据包编号,取模64,: 4.TYPE,k_state数据包类型 D 数据报文 Y ACK报文(不能转换编码) N NAK,未收到 S 发送初始化报文 B 传输结束 F 文件头部 Z 文件结束 E Error…
转:http://blog.163.com/czblaze_3333/blog/static/208996228201272295236713/ Kermit协议 报文格式: 1.       MARK,起始标记START_CHAR,为 0x01(CTRIL-A): 2.       LEN,报文剩余部分的长度,取值范围0~94,报文最大长度96,长度不包含换行符或者制表符: 3.       SEQ,数据包编号,取模64,: 4.       TYPE,k_state数据包类型 D 数据报文…
来自:http://blog.163.com/czblaze_3333/blog/static/208996228201272295236713/ Kermit协议 报文格式: 1.       MARK,起始标记START_CHAR,为 0x01(CTRIL-A): 2.       LEN,报文剩余部分的长度,取值范围0~94,报文最大长度96,长度不包含换行符或者制表符: 3.       SEQ,数据包编号,取模64,: 4.       TYPE,k_state数据包类型 D 数据报文…
了解更多关于bootloader 的C语言实现,请加我QQ: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 多年前玩Cisco交换机时,更新交换机操作系统就是使用超级终端的XMODEM传送功能发送BIN文件到交换机.当时感觉使用XMODEM发送BIN文件更新系统,简单可靠又实用,虽然没有TFTP速度快,但TFTP需要设置IP,子网掩码,需组网,甚至需关闭防火墙.XMODEM简单方便不少,只需接上PC的串口就可以.一直想给我的单…
源:YModem协议 YModem协议: YModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效的文件传输协议. 下面先看下YModem协议传输的完整的握手过程:先看下图 SENDER:发送方. RECEIVER:接收方. 第一步先由接收方,发送一个字符'C' 发送方收到'C'后,发送第一帧数据包,内容如下: SOH 00 FF Foo.c NUL[123] CRC CRC 第1字节SOH:表示本包数据区大小有128字节.如果头为STX表示本包数据区大小为1…
源:stm32 Bootloader设计(YModem协议) 相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些.下文中的bootload就来实现这样的功能. 前段时间有项目关于Bootload设计.所以就仔细的去了研究了一翻.以前都是用的stm32官方的,没有去深入了解.这次做完了过后,发现官方的版本存在一些问题.比如说YModem传送过程中,完全没有对数据区进行效验,只是核对了下编号,就进行烧写.整个程序完全为阻塞式,浪费了大量的cpu做无用功.当然这在升级程序方面也用不了多少时间…