Ymodem协议说明】的更多相关文章

源: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做无用功.当然这在升级程序方面也用不了多少时间…
源:ymodem协议c实现 /****************************************Copyright (c)************************************************** ** Henan Star Hi-Tech CO.,LTD ** All rights reserved. ** **----------------------------------------File Info-----------------------…
  模块的固件烧录过程,由Term(发送方)发送固件文件,模块(接收方)接收并写入MCU,期间使用的数据传输协议是ymodem协议. 一.概述 ymodem协议是一种发送并等待的协议,即发送方发送一个数据包以后,都要等待接收方的确认.如果是ACK信号,则继续发送新的包:如果是NAK信号,则重发该包或者错误退出. 二.固件传输过程 根据协议要求,固件传输过程由2个部分组成: 1.传输文件名. 2.传输文件. 三.接收方接收文件过程 文件接收过程具体步骤总结如下:     1.由模块(接收方)开启传…
相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些.下文中的bootload就来实现这样的功能. 前段时间有项目关于Bootload设计.所以就仔细的去了研究了一翻.以前都是用的stm32官方的,没有去深入了解.这次做完了过后,发现官方的版本存在一些问题.比如说YModem传送过程中,完全没有对数据区进行效验,只是核对了下编号,就进行烧写.整个程序完全为阻塞式,浪费了大量的cpu做无用功.当然这在升级程序方面也用不了多少时间.有一个重要的问题,官方代码只可以用超级终端进行传输.这样如果…
SDK: V2014.4 协议: Ymodem 工具: USB转UART转接线.xshell6软件 可实现各种文件传输,大小不限,只是速度很慢 参考原代码如下: /******************************************************************************* * @函数名称 YmodemRecvData * @函数说明 使用Ymodem协议接收数据 * @输入参数 data :数据 size :长度 * @输出参数 无 * @返回参…
本文采用python 2.7编写. 经过长期搜寻,终于找到了Moxa PCOMM Lite.调用PCOMM.DLL可以非常方便的通过串口的Xmodem.Ymodem.Zmodem等协议传输文件,而无需重复制造轮子. PCOMM Lite 1.6适用于win7等系统,做为dll文件可以采用任何支持调用dll的编程语言例如VC++.VB.Qt等等编写应用程序,下载地址为 http://www.moxa.com/drivers/pcommlite/win2k/setup_pcommlite_1.6_1…
来自: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 数据报文…
硬件:stm32f103cbt6 软件:STM32F10x_StdPeriph_Lib_V3.5.0 文章目录 1 预备知识 2 Bootloader 2.1 启动流程 2.2 校验跳转地址是否有效 2.3 Keil工程IAP的相关设置 2.3.1 修改Flash地址 2.3.2 使用自己的链接脚本 2.3.3 下载固件 3 Application 3.1 启动流程 3.2 IAP中的引导部分 3.3 关于 VTOR 3.4 Keil工程设置 3.4.1 Flash地址设置 3.4.2 hex2…
起因: 串口IAP升级在正点原子的例程中有讲解,正点原子的方法是:在RAM中开辟一个120K的数据空间,用来存放bin文件,bin文件通过串口一次性发送到单片机,然后再实现程序的跳转.但是这种方法在实际项目中并不实用,因为没用文件校验,不能保证bin文件的完整性,如果贸然跳转,将会是设备陷入到永远无法正常工作的状态,除非返厂,重新烧写程序: 因为项目需要,但是又不想自己写上位机(偷懒),因此就是用成熟软件自带Ymodem协议进行数据传输. Ymodem协议简介: 参考:https://blog.…