rtt有个通用bootloader,但是只有两种下载方式,Ymodem(这个好像是通过串口串数?),http方式。
那么如何实现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以内,有点难啊。
离线
感谢各位,现在是计划用hfs这个软件,在pc上建立个http server。然后通过can发送个特殊指令,板子就开始从http server下载固件。
离线