Ymodem 协议详解1. Ymodem 帧格式Ymodem 有两种帧格式,主要区别是信息块长度不一样。1.1 帧头帧头表示两种数据帧长度,主要是信息块长度不同。1.2 包序号数据包序号只有1字节,因此计算范围是0~255;对于数据包大于255的,序号归零重复计算。1.3 帧长度【1】以SOH(0x01)开始的数据包,信息块是128字节,该类型帧总长度为133字节。【2】以STX(0x02)开始的
转载 2024-05-22 22:11:50
185阅读
STM32F407 Bootloader Ymodem 协议实现   相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。        根据Ymodem协议,实现了一个STM32F407的Bootloader,该Bootloader能使用SecureCRT8中的Send Ymodem协议进行固
转载 2024-03-01 10:52:37
653阅读
STOMP协议——基于Websocket实现一、定义二、作用三、角色介绍四、处理流程五、代码实现 今天继续Websocket之STOMP协议,由于其设计简单,在开发客户端方面使用简便,在很多种语言上都可以见到其身影,并非websocket“独享”。一、定义STOMP(Simple/Streaming Text Orientated Messaging Protocol),即简单(流)文本定向消息
    模块的固件烧录过程,由Term(发送方)发送固件文件,模块(接收方)接收并写入MCU,期间使用的数据传输协议ymodem协议。一、概述    ymodem协议是一种发送并等待的协议,即发送方发送一个数据包以后,都要等待接收方的确认。如果是ACK信号,则继续发送新的包;如果是NAK信号,则重发该包或者错误退出。二、固件传输过程&n
转载 2024-03-19 09:53:22
169阅读
相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。 前段时间有项目关于Bootload设计。所以就仔细的去了研究了一翻。以前都是用的stm32官方的,没有去深入了解。这次做完了过后,发现官方的版本存在一些问题。比如说YModem传送过程中,完全
转载 2019-02-11 16:55:00
1642阅读
2评论
目前我总结了两种串口通信时用到的串口协议程序。均学习的原子哥的。一、定义某个字符为一次接收数据完成,如/n/r。二、定义两个字符接收时间间隔,如10ms。超过即为第二次接收。一、程序示意:二、程序示意、#include \"delay.h\" #include \"usart2.h\" #include \"stdarg.h\" #include \"stdio.h\"
原标题:如何在STM32上移植Linux?超详细的实操经验分享刚从硬件跳槽为嵌软时,没有任何一丝的准备。一入职,领导就交代了一项特难的任务——在stm32上移植linux!瞬间我就懵了,没办法硬着头皮上吧,先搜集资料,我之前跑的是ok6410的板子上运行的linux,现在是在stm32上移植,以前stm32倒是玩过,研究生期间就捣鼓过它,但现在还没从抓烙铁的硬件当中缓过神来,就转到嵌入式软件的开发
STM32中的RTC51单片机通常是外置的RTC芯片如DS1302,那么STM32的RTC是什么情况呢?STM32芯片自带RTC,因此不须像其他MCU需外接RTC模块。先读一读单片机的数据手册。实时时钟是一个独立的定时器。RTC模块拥有一组连续计数的计数器,在相应软件配置下,可提供时钟日历的功能。修改计数器的值可以重新设置系统当前的时间和日期。RTC模块和时钟配置系统(RCC_BDCR寄存器)处于
0 keil5库函数配置1、建立工程文件夹,Keil中新建工程,选择型号 2、工程文件夹里建立Start、Library、User等文件夹,复制固件库里面的文件到工程文件夹。 Start文件夹中:复制 \STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下,8个启动文件之
转载 2024-07-11 05:32:40
231阅读
先在本地创建文件夹以保存keil的工程同时在该目录下创建一下文件1.User(存放stm头文件配置文件终端文件,已经自己写的函数) 进入官方库\stsw-stm32054\STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template,复制以下四个文件到User下。 main 主函数 stm32f10x_conf.h 包含外设
1.引言本文章基于stm32官方例程实现,详细代码可下载例程。在RT-thread系统上实现1588协议,网络驱动上需要做较多的修改。 2.代码修改 2.1驱动分析 当Accumulator register,溢出之后,会增加subsecond register一个步长,这个步长为constant value;每个时钟周期 Accumulator regis
文章首发于://forum.butian.net/share/169目录起因挖掘sboot_stm32tinyusbdfu_moded_control_xfer_cb 越界访问netd_xfer_cb 整数溢出导致堆溢出lufa数据入口RNDISEthernet 控制请求处理溢出CCID_Task 栈溢出IP_ProcessIPPacket 越界访问TeenyUSB数
多年前在使用STM32中的硬件SPI通讯过程中,发现所给的例程实际上是有问题的。最近我的学生跟同事总跟我反映:“SPI通讯他们调试速度总是上不去,芯片支持到25MHz,我们只能做到1M左右。” 今天台式SPI的时候,我将这个问题放上来说一下。 在STM32的SPI通讯过程中,非DMA模式下,每发送一个数据后,我们的代码是这样写的:void SPI1_Send_Byte(unsigned char
升级方式启动方式在STM32F10xxx里有三种启动方式:BOOT0BOOT1启动模式说明0X用户闪存存储器用户闪存存储器,也就是flash启动10系统存储器系统存储器自动,用于串口下载11SRAM启动SRAM启动,用于再SRAM中调试代码系统存储器是厂家固化好的一片存储区,地址为0x1FFFF000,具有串口升级的功能,并把程序引导至用户闪存存储区。用户闪存存储区是保存用户代码及数据的存储区吗,
转载 2024-10-24 14:32:46
386阅读
1.MII/RMII/SMI接口连接和配置 SMI又称站点管理接口,用于cpu与外置PHY芯片通讯,配置相关参数,包含MDC和MDIO两个管脚(CPU上有对应引脚,当然用普通GPIO口模拟SMI管理也是可行的,不过按照固定时序写入和读取数据)。‘   MII和RMII则是是两种不同的以太网数据传输接口,因为RMII在使用更少接口的情况下具有MII相同的功效,其中MII如下图连接即可:  
转载 2024-04-30 17:54:47
529阅读
**YModem协议理解** Modem协议是使用更大数据块,以追求更高效率的调制解调器所使用的一种纠错协议。它类似于Modem协议YModem协议使用循环冗余码校验作为检错的方法。YModem是一种比较高效的文件传输协议,每包数据1024bit或者128bit。一、YModem协议传输的完整的握手过程如下图所示: 二、YModem协议解释: SENDER:发送方。(文件名:fileName
转载 2024-03-23 16:38:20
645阅读
1.协议简介Ymodem协议是一种高效的文件传输协议,每包数据可达到1024字节Ymodem协议是一种错误纠正协议。使用较大数据块的调制解调采用这种协议,以获得更高的工作效率。采用Ymodem协议的解调器以1024字节数块发送数据。成功接收不会被确认。有错误的块被确认(NAK),并重发。在批处理模式下,可以使用一个命令发送一些文件。使用循环冗余校验码作为错误检验的方式Ymodem协议的基本流程
转载 2024-03-26 06:37:27
984阅读
Xmodem、Ymodem和Zmodem协议是最常用的三种通信协议。Xmodem协议是最早的,传输128字节信息块。Ymodem是Xmodem的改进版协议,具有传输快速稳定的优点。它可以一次传输1024字节的信息块,同时还支持传输多个文件。平常所说的Ymodem协议是指的Ymodem-1K,除此还有Ymodem-g(没有CRC校验,不常用)。YModem-1K用1024字节信息块传输取代标准的12
转载 2024-05-06 14:19:30
97阅读
源:stm32 Bootloader设计(YModem协议)相信很多人都希望,不开盖就可以对固件进行升级吧,就像手机那些。下文中的bootload就来实现这样的功能。 前段时间有项目关于Bootload设计。所以就仔细的去了研究了一翻。以前都是用的stm32官方的,没有去深入了解。这次做完了过后,发...
转载 2015-04-16 16:30:00
256阅读
2评论
YModem协议:         YModem协议是由XModem协议演变而来的,每包数据可以达到1024字节,是一个非常高效的文件传输协议。         下面先看下YModem协议传输的完整的握手过程:先看下图 SENDER:发送方。RECEIVER:接收方。第一步先由接收方,发送一个字符'C'发送方收到'C'后,发送第一帧数据包,内容如下:SOH 00 FF Foo.c NUL[123
转载 2016-08-22 17:58:00
1022阅读
2评论
  • 1
  • 2
  • 3
  • 4
  • 5