[其他产品] 基于网口的嵌入式系统的远程更新OTA

[复制链接]
1314|2
 楼主| kissdb 发表于 2024-11-14 14:09 | 显示全部楼层 |阅读模式
最近开发的一款产品带有网口,还需要能够方便的升级程序,就琢磨着使用网口进行升级OTA。
面临者几个问题,
1.软件固件被随意拿走下载到空芯片内,被轻易的仿制。
2.更新时防止意外情况,升级时断网断电
3.固件下载到错误的硬件型号
4.固件被篡改,或者下载过程中不完整了
针对以上几个问题,
1单片机程序分为bootloader和app两部分,远程升级时只使用app,且bootloader内置加密算法(最终选择AES256对称加密算法)升级的固件APP是加密后的,无法单独使用。
2.单片机存储分为两个分区,app分区和备份分区,下载时先下载到备份分区,再升级到app分区,保证至少有一个可用
3.固件在固定内置型号代码,判断是同一型号再升级
4.固件增加CRC32,hash等校验,校验一致再升级
如何制作固件也是一个难题,最终选用了RTT的一个固件打包器,命令行的版本rt_ota_packaging_tool_cli.exe,编译后先在文件尾添加CRC32校验码,再用打包器生成下载固件和远程升级固件,很是方便


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
weifeng90 发表于 2024-11-14 17:20 来自手机 | 显示全部楼层
OTA的话最方便的还是安装物联网卡,通过网络升级。
波尔街道的松柏 发表于 2025-9-26 12:06 | 显示全部楼层
基于网口的嵌入式 OTA 远程更新,是通过以太网传输固件包,实现设备程序远程升级。需分三步走:1. 网口接收固件并校验完整性;2. 将新固件写入 Flash 指定分区;3. 重启后切换至新固件运行。核心是做好分区管理与故障回滚,避免更新中断变砖,同时需加密传输防固件被篡改。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

13

主题

295

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部