这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » [学习笔记]嵌入式系统文件传输协议——xyzmodem协议(1)

共4条 1/1 1 跳转至

[学习笔记]嵌入式系统文件传输协议——xyzmodem协议(1)

院士
2024-07-26 14:22:17     打赏
[学习笔记]嵌入式系统文件传输协议——xyzmodem协议(1)

自己负责的项目里面计划使用一个小型的文件传输协议,主要用来更新用户数据,数据量并不大,4KB的flash空间。所以调研了Xmodem,Ymodem与Zmodem三个嵌入式系统里面常用的文件传输协议。三个协议看着区别不大,但应用起来分支还挺多。简单总结一下,供大家参考,现分享如下:

Xmodem协议

我们当前所讲的Xmodem协议居然可以追溯到1977年,其指的是Ward Christensen在1977年的MODEM中引入的一段ASM的程序MODEM.ASM。XMODEM这个名字来自于Keith Petersen的XMODEM.ASM程序,一个调制解调器的更新程序。ASM用于远程CP/M (RCPM)系统。它也被称为MODEM或MODEM2协议。一些不知道MODEM7不寻常的批处理文件模式的人称之为MODEM7。其他别名包括“CP/M用户组”和“TERM II FTP 3”。XMODEM这个名字之所以流行起来,部分原因是它与众不同,部分原因是媒体对电子公告板和RCPM系统感兴趣,在这些系统中可以使用“XMODEM”命令访问它。该协议具有通用性、简单性和合理的性能,被各种正规通信程序所支持。

Xmodem/CRC协议

在初版的Xmodem协议中,每帧数据的结尾字节为校验和字节。而Xmodem/CRC协议对其进行了改良升级,使用了2字节的CRC-16校验算法,以提供更加完善与现代的错误检测保护。

Xmodem-1K协议

Xmodem-1K协议在Xmodem/CRC协议下,将每帧的数据负载长度由128字节提升到了1024字节。

Ymodem协议

我们现在使用的Ymodem协议,叫True Ymodem协议,是一款商业版Ymodem协议。其正式使用block 0位置发送文件名,长度等参数。

Zmodem协议

在新协议中使用熟悉的XMODEM/CRC和YMODEM技术,提供适合当代数据通信的可靠性、吞吐量、文件管理和用户体验。

总结

之前,在学习STM32时,看到IAP的示例一直以为只有Ymodem一个文件传输协议。现在看来,Ymodem的发展史也是非常精彩,并且经过相当长时间的演化与筛选。在未来的日子里,咱们就一个一个实现上面的协议,看看哪款最适合我的项目需求。


参考文献:

  1. 《XMODEM/YMODEM PROTOCOL REFERENCE A compendium of documents describing the XMODEM and YMODEM File Transfer Protocols》







关键词: 学习     笔记     嵌入式     文件     传输     xyzmodem    

院士
2024-07-27 06:23:19     打赏
2楼

简明扼要,谢谢楼主~!


专家
2024-07-27 10:33:51     打赏
3楼

谢谢分享


高工
2024-07-29 08:39:01     打赏
4楼

谢谢分享


共4条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]