打印

如何实现远程升级啊?

[复制链接]
1424|47
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
AloneKaven|  楼主 | 2023-6-28 19:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的想法是把flash分成两个区域,就是AB分区那样的。但是如何在每次启动时候正确跳转到最新程序里面呢?

使用特权

评论回复
沙发
zc413928816| | 2023-7-3 17:03 | 只看该作者
你好!请问你实现这功能了吗?

使用特权

评论回复
板凳
凌之沙| | 2023-7-12 16:40 | 只看该作者
bootloader

使用特权

评论回复
地板
AloneKaven|  楼主 | 2023-7-12 16:55 | 只看该作者
zc413928816 发表于 2023-7-3 17:03
你好!请问你实现这功能了吗?

实现了,参考网上的代码搞的

使用特权

评论回复
5
xdqfc| | 2023-7-12 17:54 | 只看该作者
没有自己的服务器,就能实现远程升级???

使用特权

评论回复
6
ningzb| | 2023-7-12 21:58 | 只看该作者
远程升级功能在STM32上实现了,现在再基于GD32做替代开发,简单说一下实现思路:
1.获取新的程序文件:在应用程序中,增加获取新程序文件的功能,暂存到Flash中(可以是外部存储器或者GD中的数据Flash中),接收完成后,校验没有错误后,设置更新标志(可以在外部Flash、EEPROM等存储器中,也可以存储在GD芯片的数据Flash中),重启。
2.更新程序文件:芯片复位后,运行引导程序,在引导程序中检查更新标志,如果标志有效,执行更新程序操作,即将暂存的程序,更新到芯片的应用程序区。更新完成后,清除更新标志。更新后重启即可。
3.相对应的,可以实现引导程序的更细,只是接收和更新引导程序都在应用程序中实现。

使用特权

评论回复
7
zc413928816| | 2023-7-27 10:23 | 只看该作者
AloneKaven 发表于 2023-7-12 16:55
实现了,参考网上的代码搞的

可以分享下吗?  

使用特权

评论回复
8
t1ngus4| | 2023-7-27 13:27 | 只看该作者
首先你需要配置指针位置,将程序分割开来

使用特权

评论回复
9
d1ng2x| | 2023-7-27 14:32 | 只看该作者
你需要修改中断指针吧

使用特权

评论回复
10
zhizia4f| | 2023-7-27 15:40 | 只看该作者
这个网上有一堆响应的例程的,你参考下就好了

使用特权

评论回复
11
q1ngt12| | 2023-7-27 16:49 | 只看该作者
可以区分的啊,就用地址配置一下就好了

使用特权

评论回复
12
suw12q| | 2023-7-27 19:04 | 只看该作者
好像是需要修改ram和rom的

使用特权

评论回复
13
su1yirg| | 2023-7-27 20:30 | 只看该作者
你需要弄两份程序,一个是BootLoader,然后一个是APP

使用特权

评论回复
14
tax2r6c| | 2023-7-28 07:06 | 只看该作者
BootLoader之中有启动的地址,告诉APP的起始地址在哪

使用特权

评论回复
15
lamanius| | 2023-7-28 09:11 | 只看该作者
修改启动地址不就可以实现跳转了么

使用特权

评论回复
16
l1uyn9b| | 2023-7-28 11:26 | 只看该作者
去网上找找例程,参考例程对比着来,比较成功

使用特权

评论回复
17
ex7s4| | 2023-7-28 13:32 | 只看该作者
如何跳转,得看手册的,手册对存储的分配

使用特权

评论回复
18
beacherblack| | 2023-8-5 12:08 | 只看该作者
服务器收到回复后再发送下一包数据,直至结束。 程序数据发送完成后,服务器发送升级结束指令。

使用特权

评论回复
19
louliana| | 2023-8-5 12:39 | 只看该作者
在单片机中实现一个Bootloader程序,它负责接收来自远程设备的固件更新,并将其存储到单片机的存储器中。Bootloader应具备相应的通信接口和协议支持。

使用特权

评论回复
20
fengm| | 2023-8-5 13:25 | 只看该作者
常见的通信方式包括UART、Ethernet、Wi-Fi、无线电等

使用特权

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

本版积分规则

75

主题

2062

帖子

0

粉丝