终于实现远程升级了,简单总结一下:
通过远程HTTP下载文件,使用LWIP的原生库的情况在,创建pcb = tcp_new(),并在tcp_recv(pcb, HttpRecv)回调函数中进行接收的处理。
升级典型场景的开发流程:
步骤1 启动HTTP传输如果是第一次接收,需要去除包头再调用hi_upg_transmit,分包传输升级文件。(重要)
步骤2 调用hi_upg_transmit,分包传输升级文件剩余的内容。
步骤3 调用hi_upg_transmit_finish,通知UPG模块传输完成。
步骤4 调用hi_upg_finish,实现升级重启。
运行结果如下图所示,通过HTTP从服务器下载文件正常,系统OTA升级成功。