硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1344|回复: 9
收起左侧

[技术讨论] 使用can通信如何进行程序更新

[复制链接]

2

主题

18

回帖

24

积分

新手上路

积分
24
发表于 2024-8-7 11:47:47 | 显示全部楼层 |阅读模式
GD32F303使用can通信更新程序,can一次接收8个字节,不可能是每次发送8字节,这样的方式有点low。想请教各位大神,有没有好的思路和做法,赐教一下。
回复

使用道具 举报

5

主题

24

回帖

39

积分

新手上路

积分
39
发表于 2024-8-7 14:50:20 | 显示全部楼层
取一片内存地址用来存储can发来的新程序,传输完成后芯片软重启进入boot程序,在boot里将新程序搬移覆盖到老的程序上,最后跳转到新程序上。
回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-8-7 16:39:36 | 显示全部楼层
可乐狂魔 发表于 2024-8-7 14:50
取一片内存地址用来存储can发来的新程序,传输完成后芯片软重启进入boot程序,在boot里将新程序搬移覆盖到 ...

老哥,可能是我没有表达清楚哈。gd32的can的接收结构体里面的接受数组只有8个字节,就是说我一次只能发送8个字节,我新的程序假设有五千的字节的话,那么我怎么一次就把这5千字节放进一个存储空间中。
回复

使用道具 举报

0

主题

7

回帖

7

积分

新手上路

积分
7
发表于 2024-8-7 17:21:06 | 显示全部楼层
没搞清楚这个不想每次发送8字节的意思是不想上位机每次发8个字节,还是不想每次发8个字节到FLASH里??
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117513
QQ
发表于 2024-8-7 17:34:34 | 显示全部楼层
永远是小学生 发表于 2024-8-7 16:39
老哥,可能是我没有表达清楚哈。gd32的can的接收结构体里面的接受数组只有8个字节,就是说我一次只能发送 ...

经典CAN每帧最大就是8字节,这个是没问题。

对于CAN Bootloader来说,支持下连续数据流收发即可。

供参考
【实战技能】单片机bootloader的CANFD,I2C,SPI和串口方式更新APP视频教程(2022-08-01)
https://forum.anfulai.cn/forum.p ... 4491&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

1

主题

131

回帖

139

积分

初级会员

积分
139
发表于 2024-8-7 19:51:24 | 显示全部楼层
是每次8个字节,但是你可以缓存到1024或者2048或者4096写一次flash啊
回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-8-8 09:09:51 | 显示全部楼层
eric2013 发表于 2024-8-7 17:34
经典CAN每帧最大就是8字节,这个是没问题。

对于CAN Bootloader来说,支持下连续数据流收发即可。

好的,谢谢硬汉老师。每次看硬汉老师的视频都有新收获
回复

使用道具 举报

2

主题

18

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2024-8-8 09:10:16 | 显示全部楼层
空世格 发表于 2024-8-7 17:21
没搞清楚这个不想每次发送8字节的意思是不想上位机每次发8个字节,还是不想每次发8个字节到FLASH里??

我想一次性发送完成
回复

使用道具 举报

2

主题

119

回帖

125

积分

初级会员

积分
125
发表于 2024-8-8 12:00:34 | 显示全部楼层

不可能的
回复

使用道具 举报

3

主题

295

回帖

304

积分

高级会员

积分
304
发表于 2024-8-8 15:44:07 | 显示全部楼层
协议规定一次只能发这么多字节,想更快基本只能改传输速率,uart发送一次只能发8bit数据位带起始位停止位,按楼主的说法是不是效率更低?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-12 09:06 , Processed in 0.043526 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表