fota 差分包_chaoFOTA
远程升级套件
简介
远程升级(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相关推荐
- fota 差分包_艾拉比FOTA差分升级助力电力厂商加速软件迭代
电力载波作为电力系统特有的通信方式,广泛应用在远程抄表领域.但是由于电力载波拥有可靠性差,通讯不稳定的缺点,使得设备的升级成功率比较低.本期的小课堂,艾拉比将系统介绍下我们提供的FOTA差分升级是如何 ...
- fota 差分包_FOTA
NB模组实现FOTA升级操作流程(M5310-A为例) 1.准备工作 (1)升级方式: 差分包升级. (2)模组侧准备工作 NB 模组型号: M5310-A(仅以此模组举例, 其他具有 FOTA 功 ...
- fota 差分包_FOTA相关知识总结
Android OTA升级,顾名思义是指over-the-air升级方式.通过在线下载安装包的形式,对整个系统进行升级. 在说FOTA之前,先看看Android的系统分区.具体参考官方网页 Andro ...
- Android Fota(差分包)制作
Android Fota包制作 Fota包生成步骤 问题 Fota包生成步骤 在Android系统编译(make)完成后,执行 make otapackage即可生成制作差分包所需的target pa ...
- fota 差分包_FOTA升级
分以下三个模块分析FOTA升级介绍 1.在一个高通安卓项目中部署FOTA升级 2.Android ota升级的基本过程 3.Android ota升级异常分析 升级: 从方法上分为整个文件替换,以打p ...
- fota 差分包_移动物联网模块之FOTA更新攻击
嵌入式GPRS/EDGE.3G.4G和5G模块通常用于很多用途,包括连接设备,如对讲机.警报器.汽车ECU.车载信息娱乐系统(IVI).租赁汽车的开锁箱(Getaround连接解锁系统使用蓝牙,但也有 ...
- Fota 升级-差分包制作
Fota 升级差分包制作 1. 升级包打包 make otapackage 编译界面输入 make otapackage,主要生成 target_files 和 ota 文件 \out\target\ ...
- Air780E|FOTA|IOT|FotaToolkit|空中下载软件升级|云平台|CSDK|差分包升级|编译|官方demo|学习(1):example_fota_iot差分包升级示例
目录 基础资料 探讨重点 硬件准备 内容参考 2.1 编译底包 2.2 编译升级包 2.3 Fota CSDK样例使用说明 2.4 差分包生成 三.差分包升级测试流程 基础资料 基于Air780E开 ...
- linux差分包升级流程,OTA 差分升级包的制作
OTA 升级是 Android 系统提供的标准软件升级方式. 它功能强大,提供了完全升级.增量升级模式,可以通过 SD卡升级,也可以通过网络升级. 那如何生成差分升级包呢? Android源码的根目录 ...
最新文章
- MinkowskiPooling池化(上)
- 浅谈Python和VC中的编码问题(转)
- 在SAP HANA Express Edition里进行文本分析
- 短信通信的几种情况和CMS错误
- AI应用开发实战系列之一: 从零开始配置环境
- 爬虫 页面元素变化_爬虫 基本知识 萌新
- 官宣!“一流大学”,异地落户!
- 制作网页版电子时钟特效
- oracle 触发器写法|oracle trigger 语法
- ThreadLocal,静态变量,实例变量,局部变量的线程安全
- ie11兼容性问题,jsp在IE11显示不全问题,ie11覆盖内容问题解决方法
- 【MySQL】简单易学的MySQL安装教程
- 八核版9500odin3线刷通刷以及root教程
- 【Research】Accounting-会计
- 3389、135、137、138、139、445等端口解释和关闭方法
- Java 求解买卖股票的xx时机含手续费
- 如何提高页面性能并充分利用主机
- iOS UIWebView的基本用法
- 打开PowerPoint提示:PowerPoint上次起送时失败。以安全模式启动PowperPoint将帮助您纠正或发现启动中的问题
- leetcode奇技淫巧-递归中途强制跳出