如何将一个.bin按照xmodem方式去发送呢,想了好久都不明白

2019-10-16 07:06发布

按照道理,如果做成固件,那么生产.bin文件然后通过串口去传递给单片机。
但是为了传送可靠性好点,用xmodem的方式来传,那中间必然要拆分成一个个的小包。
我的迷惑就出现了,这么多个小包,难道都要自己事先一个个的先写上包头序号和后面加上CRC16么?
那如何将这个.bin拆成小包啊??
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
秋之前
1楼-- · 2019-10-16 11:32
官方有YModem的bootloader例程
操作系统
2楼-- · 2019-10-16 15:19
你还可以想到什么其它的更好的办法出来呢?
vention
3楼-- · 2019-10-16 17:30
操作系统 发表于 2016-11-28 12:57
你还可以想到什么其它的更好的办法出来呢?

如果这样的话,我要拆这个.bin文件,那我也要一个个的数,数到1k的数据,然后切一刀,再慢慢数1k数据再切一刀??这样岂不是很笨拙很麻烦?
rindy
4楼-- · 2019-10-16 18:55
不是啊,你这要上位机跟下位机配合协议(如Xmodem)来传输你的bin文件啊,比如上位机要发一个大小为60k的bin文件给下位机(单片机),那么上位机可以先发1k,等待下位机接收完成以后告诉上位机我接收完成了,上位机得知下位机接收完成后,那么上位机再接着从刚才发的位置再发下一包1k的数据,如此循环,直接全部发完为止。
vention
5楼-- · 2019-10-16 19:17
 精彩回答 2  元偷偷看……
小陀螺爱炒蛋
6楼-- · 2019-10-17 00:13
bin文件也是一个字符流,自己制定通信协议来做就是了,CRC包号通过通信协议来完成组帧

一周热门 更多>