打印

GD32F350如何通过I2C做在线程序升级?请教做过在线升级的朋友。

[复制链接]
1263|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ysdx|  楼主 | 2022-8-8 15:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
GD32F350如何通过I2C做在线程序升级?
我的想法是自己写一个接收数据,解包,然后烧写FLASH的update()函数,然后通过制定地址链接,把这个函数放到最后几个BLOCK空间。不过有个问题,由于我接收应用程序用到了I2C收发中断程序,这样是否意味着收发中断也得定位链接到最后几个BLOCK空间?总感觉还有中断跳转的部分没有考虑到。哪位有经验指点一下。万一不行,是否update函数不用中断就稳妥了?(前提:我现在应用代码实现I2C接收数据并把数据写入FLASH功能已经OK了)

使用特权

评论回复
沙发
sonicll| | 2022-8-8 17:44 | 只看该作者
你可以搜索一下IAP + APP这种代码结构,你想做的update功能就是IAP,IAP放在flash最前面,每次系统启动都会运行IAP,检查是否要更新,如果不需要更新则跳转到后面的APP区域,如果需要更新,则接收数据,烧写APP区域的代码

使用特权

评论回复
板凳
ysdx|  楼主 | 2022-8-11 10:08 | 只看该作者
sonicll 发表于 2022-8-8 17:44
你可以搜索一下IAP + APP这种代码结构,你想做的update功能就是IAP,IAP放在flash最前面,每次系统启动都会 ...

谢谢了!

使用特权

评论回复
地板
foxsbig| | 2022-8-13 13:42 | 只看该作者
很少有用i2c做升级的,

使用特权

评论回复
5
ysdx|  楼主 | 2022-8-16 11:13 | 只看该作者
对啊。都是串口的多。只是我们是PCIE卡中设备,只有I2C接口。没有串口的。思路搞清楚了,其实也一样。

使用特权

评论回复
6
AnkerSong| | 2022-8-17 15:39 | 只看该作者
gd官方有i2c 的iap例程,联系自己的代理商索取吧

使用特权

评论回复
7
tpgf| | 2022-9-3 08:58 | 只看该作者
我还从没有通过iic升级过

使用特权

评论回复
8
nawu| | 2022-9-3 13:45 | 只看该作者
这样的升级会不会不稳定呢

使用特权

评论回复
9
aoyi| | 2022-9-3 18:18 | 只看该作者
还有其他的在线升级方式吗

使用特权

评论回复
10
zljiu| | 2022-9-3 18:24 | 只看该作者
gd官方有i2c 的iap例程

使用特权

评论回复
11
gwsan| | 2022-9-3 18:31 | 只看该作者
这些程序应该都可以免费得到

使用特权

评论回复
12
tfqi| | 2022-9-3 23:00 | 只看该作者
定位链如何操作呢

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

338

主题

1055

帖子

21

粉丝