远程升级套件

简介

远程升级(Firmware Over The Air)可通过无线网络实现固件升级。OneOS的OTA为差分升级,采用此方式可极大降低升级包的大小。OneOS OTA组件分两部分:BootLoader和App,BootLoader实现固件还原功能、升级功能,App部分完成更新检测、固件下载、版本校验。

BootLoader下载地址为:https://gitee.com/cmcc-oneos/bootloader,目前开放出来的BootLoader只支持LUSUN算法,所以在配置的时候请选用LUSUN,关于分区配置请参照对应板子下的README.txt。

下载协议所有板子目前都可支持,列举部分板子差分算法的支持情况(RAM > 200k,可以考虑使用Wosun;RAM > 512k,可以考虑使用Wosun high):

注1:如果使用串口通信,buffer推荐设置成512或更大,以免下载升级包出错

STM32F091:支持LUSUN。

STM32F103:支持LUSUN。

STM32F407:支持LUSUN。

STM32F429:支持LUSUN。

STM32F469:支持LUSUN。

STM32F769:支持LUSUN。

STM32L452:支持LUSUN。

STM32L475:支持LUSUN。

STM32L496:支持LUSUN。

配置指南

menuconfig配置:

1.由于要使用BootLoader,需要将BootLoader的开关打开。如下:

(Top) → Boot Config

OneOS Configuration

[*] Enable OneOS bootloader

2.选择合适的联网方式

注2:使用串口收发数据时,buffer推荐设置为512或更大;如果接收数据丢失,查看RX是否配置为DMA接收模式

3.OTA相关信息配置

按需要更更改的地址为:1、下载的方式,2、差分的算法,3、平台相关的值。

下载的方式目前支持HTTP和COAP,差分的算法目前支持LUSUN、WOSUN LOW、WOSUN HIGH,BootLoader和App需要保持算法一致。App对应这两个的配置选项如下。

(Top) → Components→ OTA→ Fota by CMIOT

OneOS Configuration

[*] Enable fota by cmiot

The supported network protocol (Http) --->

The supported algorithm (Lusun) --->

如果使用Wosun 差分算法,还需要配置如下两项:

(0x8020000) App part addr from fal's OS_APP_PART_ADDR

(0x20000) Download part size from fal's OS_DL_PART_SIZE

分别把OS_APP_PART_ADDR和OS_DL_PART_SIZE算出来的值填入即可,这是制作差分包时,平台需要的信息。

与平台相关配置:

(cmiot_cd) Oem

(F103RE) Model

(1593394730) Product id

(e7f48e3ea6c3417d82edfe66b1305ac8) Product secret

(box) Device type

(STM32F1) Platform

(5.0) Firmware version

注3:须保持与OTA平台侧项目信息一致。

注4: Firmware version 是制作出软件包的版本,改变此值后在KEIL里编译会生成相应版本的软件包,之后即可在OTA平台上传制作差分包

工程构建:

1、APP烧录的位置和大小,跟APP分区一致,不能随意更改,不然会跳转失败,可以参照下面注7。

注5:不同的联网方式会改变app大小,需要根据使用场景调整app及bootloader分区大小

2、打包命令可以加到Keil软件里,也可以自己手动在scons或cmd命令行打包。命令为:

压缩软件支持:WinRAR.exe、7z.exe

只生成axf文件的打包命令:..\..\components\ota\cmiot\cmiot_axf.bat fromelf程序路径 压缩软件路径 oneos_config.h axf文件路径

已生成bin文件的打包命令:..\..\components\ota\cmiot\cmiot_bin.bat 压缩软件路径 oneos_config.h bin文件路径

例如:

只生成axf文件:..\..\components\ota\cmiot\cmiot_axf.bat "D:\Keil_v5\ARM\ARMCC\bin\fromelf.exe" "C:\Program Files\WinRAR\WinRAR.exe" oneos_config.h build\keil\Obj\oneos.axf

已生成bin文件:..\..\components\ota\cmiot\cmiot_bin.bat "C:\Program Files\WinRAR\WinRAR.exe" oneos_config.h ..\..\out\stm32l475-atk-pandora\oneos.bin

注6:WinRAR.exe和fromelf.exe是绝对路径,需要根据个人电脑相应路径进行修改

注7:App的烧录地址要跟分区表匹配,才能跳转成功,以ARMCC的链接文件link.sct为例,GCC的链接文件为link.lds,IAR的链接文件为link.icf。

注8:F0系列产品需要注意KEIL配置RAM根据以下代码修改

OTA云平台制作差分包

1.平台建项目的时候注意选精简版,我们的板子只支持这个。OTA类型选择精简版。

2.差分对比块大小和驱动一样,配置为块大小。

3.如果使用WOSUN,在OTA平台制作差分包时需要设置设备内存,设置为(RAM总大小 - 10)

示例

1、包含头文件

#include

2、添加上报升级结果和升级更新的代码

API使用说明手册

注意事项

详细见各个分项下的注意事项。

fota 差分包_chaoFOTA相关推荐

  1. fota 差分包_艾拉比FOTA差分升级助力电力厂商加速软件迭代

    电力载波作为电力系统特有的通信方式,广泛应用在远程抄表领域.但是由于电力载波拥有可靠性差,通讯不稳定的缺点,使得设备的升级成功率比较低.本期的小课堂,艾拉比将系统介绍下我们提供的FOTA差分升级是如何 ...

  2. fota 差分包_FOTA

    NB模组实现FOTA升级操作流程(M5310-A为例) 1.准备工作 (1)升级方式: 差分包升级. (2)模组侧准备工作 NB 模组型号: M5310-A(仅以此模组举例, 其他具有 FOTA 功 ...

  3. fota 差分包_FOTA相关知识总结

    Android OTA升级,顾名思义是指over-the-air升级方式.通过在线下载安装包的形式,对整个系统进行升级. 在说FOTA之前,先看看Android的系统分区.具体参考官方网页 Andro ...

  4. Android Fota(差分包)制作

    Android Fota包制作 Fota包生成步骤 问题 Fota包生成步骤 在Android系统编译(make)完成后,执行 make otapackage即可生成制作差分包所需的target pa ...

  5. fota 差分包_FOTA升级

    分以下三个模块分析FOTA升级介绍 1.在一个高通安卓项目中部署FOTA升级 2.Android ota升级的基本过程 3.Android ota升级异常分析 升级: 从方法上分为整个文件替换,以打p ...

  6. fota 差分包_移动物联网模块之FOTA更新攻击

    嵌入式GPRS/EDGE.3G.4G和5G模块通常用于很多用途,包括连接设备,如对讲机.警报器.汽车ECU.车载信息娱乐系统(IVI).租赁汽车的开锁箱(Getaround连接解锁系统使用蓝牙,但也有 ...

  7. Fota 升级-差分包制作

    Fota 升级差分包制作 1. 升级包打包 make otapackage 编译界面输入 make otapackage,主要生成 target_files 和 ota 文件 \out\target\ ...

  8. Air780E|FOTA|IOT|FotaToolkit|空中下载软件升级|云平台|CSDK|差分包升级|编译|官方demo|学习(1):example_fota_iot差分包升级示例

    目录 基础资料 探讨重点 硬件准备 ​内容参考 2.1 编译底包 2.2 编译升级包 2.3 Fota CSDK样例使用说明 2.4 差分包生成 三.差分包升级测试流程 基础资料 基于Air780E开 ...

  9. linux差分包升级流程,OTA 差分升级包的制作

    OTA 升级是 Android 系统提供的标准软件升级方式. 它功能强大,提供了完全升级.增量升级模式,可以通过 SD卡升级,也可以通过网络升级. 那如何生成差分升级包呢? Android源码的根目录 ...

最新文章

  1. 神秘使者到 Java 帝国传道协程,竟被轰了出去!
  2. 计算约化重叠积分氟化氢HF
  3. linux 输出gc日志,Tomcat输出保存JVM GC日志文件
  4. IDEA 解决Tomcat控制台输出乱码问题
  5. 16位汇编 寄存器的操作
  6. asp 执行 exe_EXE程序加密锁下载-EXE程序加密锁电脑版下载v5.0
  7. swing程序 过时拉嘛_从关闭或过时的应用程序导入文件
  8. linux救援模式下卸载根目录,删除Linux的依赖库并进入救援模式恢复
  9. BitMEX将于3月份分批推出DOT、YFI、UNI等六个币种的双币种永续合约
  10. 《社交网站界面设计(原书第2版)》——3.6 指纹或Bio指纹
  11. 2019上半年软考试题(转)
  12. 计算机网络课程设计(ftp)
  13. 你绝对不知道的JS冷知识
  14. 大转盘抽奖活动的设计
  15. Entry name 'kotlin/collections/MapWithDefault.kotlin_metadata' collided
  16. 华为电脑和手机一碰传_体验华为“一碰传”高科技,实现手机和电脑互传文件...
  17. filezilla 无法启动传输
  18. Float的取值范围
  19. 软件汉化:ASCII quot;Registered Userquot;
  20. Tkinter 如何禁用最大化

热门文章

  1. 马哥-Linux云计算架构班学习计划
  2. StrokePlus常用脚本
  3. 版本控制工具(CVS、SVN、GIT)简介
  4. 如何升级PowerShell
  5. Linux sed命令实例详解
  6. jQuery 源码系列(四)Tokens 词法分析
  7. Spark源码系列(四)图解作业生命周期
  8. 安装、部署DPM 2012 R2服务器
  9. Excel、Exchange 和 C# (摘要)
  10. WSUS客户端无法发现