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.…
XModem用在串口异步传文件: #define SOH 0x01 #define STX 0x02 #define EOT 0x04 #define ACK 0x06 #define NAK 0x15 #define CAN 0x18 #define CTRLZ 0x1A 标准Xmodem协议(每个数据包含有128字节数据)帧格 Xmodem包格式 Byte1                         Byte2                           Byte3      …
原文网址:http://blog.csdn.net/sadamoo/article/details/8139946 来自http://blog.ednchina.com/hhuwxf/1915416/message.aspx,感谢作者 一.Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)…
STM32F051 IAP源代码分享 假设不懂IAP的请自己主动脑补或者怒戳这里 http://www.openedv.com/posts/list/11494.htm 然后STM32F051的IAP有一点差别也请自己主动脑补 ^_^ 事实上我仅仅是来分享源代码的: 事情是介个样子滴: IAP须要有两个project.第一个是Bootloader.第二个是Application 同一时候将这两份程序放在mcu的flash里的不同位置,启动时自己主动进入bootloader(可选择)进行iap,成…
Stm32 Bootloader整理 一.        基本概念 1.IAP IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级. 通常在用户需要实现IAP功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信管道(如USB.USART)接…
参考资料: 基于ARM 的嵌入式系统Bootloader 启动流程分析 Bootloader 详解 ( 代码环境 | ARM 启动流程 | uboot 工作流程 | 架构设计) Android系统启动流程 -- bootloader 在main()之前,IAR都做了啥? STM32 IAP程序 源码 和测试代码 有详细的中文注释 基于STM32的IAP设计文档 基于IAP的STM32程序更新技术 STM32自学笔记 STM32 IAP的bootloader编程 stm32 Bootloader设…
1.rz命令 rz命令(Receive ZMODEM),使用ZMODEM协议,将本地文件批量上传到远程Linux/Unix服务器,注意不能上传文件夹. 当我们使用虚拟终端软件,如Xshell.SecureCRT或PuTTY来连接远程服务器后,使用rz命令可以上传本地文件到远程服务器.输入rz回车后,会出现文件选择对话框,选择需要上传文件,一次可以指定多个文件,上传到服务器的路径为当前执行rz命令的目录. 此外,可以在虚拟终端软件设置上传时默认加载的本地路径和下载的路径.如SecureCRT软件…
本文转载自:http://blog.ednchina.com/hhuwxf/1915416/message.aspx 一.Bootloader的引入 从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)复制到内存中运行,就称这段程序为Bootloader. 简单地说,Bootloader就是这么一小段程序,它在系统上电…
来自http://blog.ednchina.com/hhuwxf/1915416/message.aspx,感谢作者 一.Bootloader的引入从前面的硬件实验可以知道,系统上电之后,需要一段程序来进行初始化:关闭 WATCHDOG.改变系统时钟.初始化存储控制器.将更多的代码复制到内存中等等.如果它能将操作系统内核(无论从本地,比如Flash:还是从远端, 比如通过网络)复制到内存中运行,就称这段程序为Bootloader. 简单地说,Bootloader就是这么一小段程序,它在系统上电…
XShell已经内置rz 直接从Windows拖文件进去终端 http://www.jb51.net/LINUXjishu/163820.html 借助securtCRT,使用linux命令sz可以很方便的将服务器上的文件下载到本地,使用rz命令则是把本地文件上传到服务器 其中,对于sz和rz的理解与记忆我用了如下的方法(因为很多时候容易搞混): sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载. rz中的r意为receive…
目录 [隐藏]  1 PMON使用介绍 1.1 进入PMON控制界面 1.2 Pmon的图形界面 1.3 Pmon的基本命令 1.3.1 Boot and Load 启动与加载内核 1.3.2 MyCmds 1.3.3 MISC 1.3.4 Shell 1.3.5 Network 1.3.6 Memory 1.3.7 PCI (3A新加的功能) 1.3.8 FXP 1.3.9 Realtek 8111dl/8168 1.3.10 TEST 1.4 PMON的更新 PMON使用介绍 龙芯平台计算机…
由于各种原因我的fl2440无启动代码,无任何程序,这时要通过jlink来烧录相关boot程序. 准备工作: 1.Jlink使用jlink commander工具 2.初始化sdram的程序boot.bin 3.运行SDRAM的程序或者bootloader 这里使用u-boot_sdram.bin(至少包含nand擦写烧录和程序加载) 4.正常的u-boot程序u-boot.bin(这里使用的是u-boot-2013.10的版本,这个版本之后的相关配置使用了linux一样配置方法,功能差不多)…
1. loads loads [ off ] 通过串口,下载S-Rec文件到off位置 loads命令可以通过串口线下载S-Record格式文件. 2. loadb loadb [ off ] [ baud ] 通过串口,以baud速率,下载binary到off位置(即:kermit protocol) loadb命令可以通过串口线下载二进制格式文件. 3. loady loady [load address] [baud rate] 支持Ymodem协议…
版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/submarineas/article/details/90639849 引言 最近一直是在用SecureCRT和MobaXterm对服务器进行维护,前者是因为工作需要,后者是个人喜好.我记得在去年我写过一篇用MobaXterm对阿里云服务器进行相关的部署,那篇博文里也谈及了我从xshell和mobaxterm中最终选择了后者,其实直到目前,…
什么是IAP? IAP是In Application Programming的首字母缩写,IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级. 在重新编程过程中可以使用任意类型的通信协议,如UART.I2S.SPI等.这篇笔记分享的是使用UART方式IAP. 串口IAP实验 先理一理流程(本实验是以STM32F103ZET6为例): 1.实验说明 做这个实验需要准备两个keil工程,一个工程用…
本篇文章没有太多的源码,主要讲一下实现思路和技术原理 当使用Xshell或者SecureCRT终端工具时,我的所有文件传输工作都是通过lrzsz来完成的,主要是因为其简单方便,不需要额外打开sftp之类的工具,通过命令就可轻松搞定,在用了WebSSH之后一直在想,这么便捷的操作WebSSH能够实现吗? 答案是肯定的,能实现!这要感谢这个古老的文件传输协议:zmodem zmodem采用串流的方式传输文件,是xmodem和ymodem协议的改良进化版,具有传输速度快,支持断点续传.支持完整性校验等…
首先下载官方STM32F10X的IAP Bootloader源码,STM32F10x_AN2557_FW_V3.3.0. 用Keil4打开工程代码STM32F10x_AN2557_FW_V3.3.0ProjectIAPMDK-ARMIAP.uvproj 工具/原料 电脑 stm32开发板 方法/步骤 第一步:因为我们是用的STM32F103C8T6 是64K Flash,所以特别重要的是修改Flash宏,如下图示,改为:STM32F10X_MD. 代码中对不同规格的Flash做了处理. 第二步:…
u-boot移植易用性设置 以下设置使用的u-boot版本为u-boot-2012.04.01 环境参数 在Flash上划分了一块区域用于存储环境变量,所以当u-boot启动时会有如下操作: 读取Flash上的环境变量: 判断读取到的环境变量是否有效: 如果判断有效则用,无效则使用默认参数: 当还没有在Flash上设置环境变量时,u-boot在启动的时候会打印出 Warning - bad CRC, using default environment,以下是如何设置默认参数(在Nand上区域的划…
源: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 数据报文…
这三个是modem文件传输协议. https://en.wikipedia.org/wiki/XMODEM https://en.wikipedia.org/wiki/YMODEM https://en.wikipedia.org/wiki/ZMODEM linux下对应这三个协议的发送和接收命令分别是sx/rx, sb/rb, sz/rz…