打印
[其他产品]

基于网口的嵌入式系统的远程更新OTA

[复制链接]
273|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
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的话最方便的还是安装物联网卡,通过网络升级。

使用特权

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

本版积分规则

9

主题

225

帖子

2

粉丝