当前位置: 首页 > news >正文

基于GD32 MCU的IAP差分升级方案

基于 GD32 MCU 的 IAP 差分升级方案

适用于嵌入式单片机的差分升级通用库+详细教程

mcu_bsdiff_upgrade

前言

随着现代通讯技术的发展,智能燃气表、智能水表、安防设备以及车载 ECU 等产品在应用中,都需要通过升级固件来实现软件更新迭代或者漏洞修复。
以往的 IAP 升级使用全量升级方案,bin 文件过大导致升级过程依赖通信的带宽和延迟,差分升级恰好可以解决这个问题(大小约为原包的 10%)。目前差分升级方案已经在智能汽车、智能家居、智能穿戴与智能表计等领域广泛应用。
在这里插入图片描述
本文介绍的差分升级方案,适用于大容量 RAM(最小 22KB,推荐 25KB 以上)的 GD32 MCU 在通讯速率较低或对通信时间要求严格的情况下使用。Demo 中使用 GD32A503V-EVAL 开发板进行演示,展示了一种基于 USART 使用 Bsdiff 算法与 Lzma 算法进行 IAP 差分升级的方法。

IAP 差分升级描述

算法

一般使用开源差分算法bsdiff+lzma

差分升级过程

1、使用旧版本bin文件和新版本bin文件制作差分包

2、将差分包下载到设备内

3、设备使用差分算法还原出新版本bin

4、设备将新版本bin进行crc验证后刷到代码执行区

5、设备重启并以新版本运行

文件结构

除了库包含的文件之外,IAP 差分升级例程包含如下几个文件:
在这里插入图片描述

差分包制作过程

在这里插入图片描述

后面内容参考 https://blog.csdn.net/qq_35333978/article/details/128211763?spm=1001.2014.3001.5501

http://www.dtcms.com/a/264133.html

相关文章:

  • 迎战 AI Overviews:SEO 不被淘汰的实战策略
  • SpringBoot全局异常详解
  • Electron 应用打包与分发:从开发到交付的完整指南
  • 多容器应用与编排——AI教你学Docker
  • Java-String类静态成员方法深度解析
  • AR 地产互动沙盘:为地产沙盘带来变革​
  • OpenCV-Python Tutorial : A Candy from Official Main Page(二)
  • 设备管理的重要性:企业数字化浪潮下的核心命题
  • 企业上网行为管理:零信任安全产品的对比分析
  • Linux基本命令篇 —— grep命令
  • 防 XSS和CSRF 过滤器(Filter)
  • go语言安装达梦数据完整教程
  • JVM 中的垃圾回收算法及垃圾回收器详解
  • 【仿muduo库实现并发服务器】Connection模块
  • CentOS 8中 更新或下载时报错:为仓库 ‘appstream‘ 下载元数据失败 : Cannot prepare internal
  • 02.SpringBoot常用Utils工具类详解
  • 从马赛克到色彩错乱:一次前景图像处理异常的全流程踩坑记录
  • Python实例题:基于 Python 的简单爬虫与数据可视化
  • 【IP 潮玩行业深度研究与学习】
  • 【仿muduo库实现并发服务器】eventloop模块
  • 香橙派3B学习笔记14:deb 打包程序_解包前后脚本运行
  • 折线图多数据处理
  • redux基本概念介绍 与 更新方式
  • 【网工|知识升华版|理论】ARQ机制|CSMA/CD协议
  • NetSuite 中如何在已关账期间内Unapply Customer Payment?
  • 数据结构day6——内核链表
  • 手机屏色斑缺陷修复及相关液晶线路激光修复原理
  • 一文讲清楚React合成事件机制和this的绑定问题
  • Pycharm命令行能运行,但绿色三角报错?
  • 51单片机制作万年历