您尚未登录。

楼主 # 2021-07-31 10:27:49

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,204
积分: 1140.5

rt thread如何通过tcp实现固件更新?

rtt有个通用bootloader,但是只有两种下载方式,Ymodem(这个好像是通过串口串数?),http方式。
那么如何实现tcp方式固件升级呢?

离线

楼主 #4 2021-07-31 16:46:30

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,204
积分: 1140.5

Re: rt thread如何通过tcp实现固件更新?

看了通用bootloader的ymodem和http的例子,都是下载固件后,然后调用fal一些函数,来找“download"分区、擦除,然后写入,再重启芯片。

我现在是用板子作为tcp client来接收数据。那么,如何区分正常数据和传过来的固件呢?

另,芯片flash分区为何要是128k的倍数呢?我下载的通用bootloader也才十几k,分配128k boot分区不是太浪费了吗?

我用的是512k rom的片子,是4个128k,boot分区占1个,剩下3个128k,app给分256k,downloader分区就128k了。但升级固件不压缩的话,一般和app固件大小差不多的吧。这样来说如果只用片内flash的话,程序最好控制在128k以内,有点难啊。

离线

楼主 #8 2021-09-13 09:08:04

Gentlepig
会员
注册时间: 2018-10-24
已发帖子: 1,204
积分: 1140.5

Re: rt thread如何通过tcp实现固件更新?

感谢各位,现在是计划用hfs这个软件,在pc上建立个http server。然后通过can发送个特殊指令,板子就开始从http server下载固件。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn