目录

基础资料

探讨重点

硬件准备

​内容参考

2.1 编译底包

2.2 编译升级包

2.3 Fota CSDK样例使用说明

2.4 差分包生成

三、差分包升级测试流程

基础资料

基于Air780E开发板:Air780E文档中心

简介:CSDK开发

探讨重点

本系列主要探讨利用合宙平台进行fota_iot差分包升级的基本操作、编译及上传,升级等操作。

硬件准备

Air780E开发板1块,SIM卡1张。

​内容参考

官方wiki:https://doc.openluat.com/wiki/40?wiki_page_id=4615

一、安装xmake

1、下载xmake

xmake下载地址:Releases · xmake-io/xmake · GitHub

最新版本:v2.7.6

2、安装xmake

(1)、建议安装到C:\Program Files下,其他目录可能会出问题;
(2)、勾选加入到系统环境变量选项

如果下载的是解压缩版本,需要手动加入系统环境变量:

以windows10为例,打开系统-高级系统设置-环境变量

编辑系统变量,将xmake的根目录加入path:

打开cmd窗口,测试(非常重要!!!)

执行:xmake –version,出现如下界面,安装成功。

后续编译过程中,需要保持联网状态,以便根据编译需要自动下载工具链等相关软件。

如不具备联网条件,请参考手动安装示例。

二、编译项目

Air780E模组基于移芯EC618平台设计研发的新款4G Cat.1模组。

CSDK软件仓库地址为:

https://gitee.com/openLuat/luatos-soc-2022

本文主要介绍Air780E模组基于官方iot平台进行FOTA模式升级的相关内容,采用官方CSDK代码。

升级采用csdk见project目录下的example_fota_iot,其默认目录结构为:

为了正常升级,源代码中example_main.c相关参数需要调整。

本例使用合宙云平台,需要调整的参数为PROJECT_KEY,可在平台注册后自动生成,复制后修改源代码中相应内容:

注册地址:合宙云平台

将实际的PROJECT_KEY替换入源文件:

编译建议采用原始目录结构,可不用进行单独配置,直接进行编译。

在csdk的luatos-soc-2022的地址栏中输入cmd,回车,可以在该目录下打开cmd命令行窗口,路径默认为luatos-soc-2022(CSDK根目录)。

2.1 编译底包

先编译FOTA_IOT升级的底包文件,luatos-soc-2022(CSDK根目录)下输入build example_fota_iot或者build example_fota_iot disable -v命令,按回车键进行编译,如下图所示:

 3、编译中间文件存放在build目录下;

4、编译成功后生成的可烧录binpkg文件、日志database文件、map文件、elf文件存放在out目录下,如下图所示:

example_fota_iot.binpkg为第一次生成的刷机文件,为便于区分,可修改文件名为:example_fota_iot_1.binpkg

2.2 编译升级包

准备升级包文件,本例中仅做测试,修改PROJECT_VERSION 为"2.0.0":

 增加测试代码:

LUAT_DEBUG_PRINT("hello world!1+10=%d", 1+10); --测试debug代码

源文件修改完成后,在luatos-soc-2022(CSDK根目录)下输入build example_fota_iot或者build example_fota_iot disable -v命令,按回车键进行升级文件的编译:

为便于区分,将新生成的升级文件名改为:example_fota_iot_2.binpkg

2.3 Fota CSDK样例使用说明

FOTA(Firmware Over-The-Air)移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备提供
固件升级服务,用户使用网络获取终端系统升级包,并通过 FOTA 进行云端升级,完成系统修复和优化。

注意:

  • 升级时要校验请求时的代码是否和生成差分包所用的旧版本代码是否一致。不一致的话日志会出现:image_verify error,校验失败而不能升级。
  • 差分包地址和域名也是代码的一部分会参与差分包的生成,所以要确保在新旧版本中保持一致。

2.4 差分包生成

手动生成差分包的过程使用移芯芯片平台提供的的差分工具,

差分工具下载链接
FotaToolkit_V2.0.9.0.zip

打开 FotaToolkitGUI,选择 Generator 标签页,五步即可实现差分文件制作。

1) 选择对应产品项目的配置文件,如 config/ec618.json;
2) 设置差分文件的名称及路径(默认路径为 FotaToolkitGUI 所在目录,文件名为 default_delta.par),然后选择差分文件所需的基线镜像文件和目标镜像文件;
3) 该步骤可选(一般情况下不需要改变)。添加基线和目标镜像的版本号,具体格式为 Vmmm.nnn.ppp(m,n 和 p 为数字 0-9,分别表示镜像文件的大、小和补丁版本号),需要注意的是新旧两个版本号不能相同;此外,该版本号仅仅是为了追踪和记录新旧镜像文件的信息,不会对实际镜像文件版本号进行匹配和校验;
4) 根据步骤 2)中的新旧镜像文件的属性(相关镜像属性已在 JSON 文件中配置),选择相匹配的 FLASH 配置信息;
5) 以上步骤完成后,直接执行“START”制作差分文件即可。显示窗口会实时输出制作过程的所有 LOG 信息,制作完成后会弹窗提示“成功”还是“失败”,具体的制作结果以及目标文件的详细信息也会输出到显示窗口中。
※※说明※※
后缀名(.par)为移芯 FOTA 差分方案的默认文件后缀,设置文件名称时Fota工具会自动追加。

差分包上传前需要将default_delta.par的扩展名改为.bin。

三、差分包升级测试流程

使用烧录工具烧录旧版本的binpkg,烧录界面按住boot键,再按reset键,开始烧录。

完成后按reset键重启,显示当前底包版本为1.0.0.

Imei码后期需要用到,自动识别。也可在芯片在上盖丝印找到。

上传差分包到合宙云服务器:

提交后指定设备,输入imie码:

重启设备开始更新:

成功更新后可看到image_verify ok。

reset重启模块,可以看到已更新为2.0.0版本,升级文件中的测试代码显示正常:

升级成功后第二次再次请求同一升级包由于不匹配会提示升级包校验错误,不予升级。

当前模块的底包为2.0.0版本,故不能再次使用原差分包升级,提示:

如果一天内如多次升级,系统会触发自动锁定,并自动设置为不允许升级,需要手动解除锁定:

查看日志可以使用上面截图中的 Luatools工具下载链接【Luatools_v2.exe】

也可以使用下面EPAT工具监测输出日志,EPAT工具下载链接【EPAT_V1.3.207.392.zip】

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

  1. 合宙Air780E|iot|update|FOTA|LuatOS-Air开发|LuatOS-SOC接口|官方demo|学习(17):FOTA(远程升级)

    目录 一. 概述 注意: 二. 材料准备 三. 合宙iot平台升级core+script过程 1. iot平台创建产品​​​​​​​ 2. 模块端脚本修改,生成升级包 3. 按照新版本的需求,修改ma ...

  2. CORE-ESP32C3|eink|墨水屏日历+时间日期+温度显示|I2C软件模拟| LuatOS-SOC接口|官方demo|学习(14):墨水屏动态日历+oled日期显示+ AHT10测温模组

    目录 参考博文 源于网友oled+eink+aht10项目 源代码修改及复现说明 主要修改 显示效果 ​编辑硬件准备 软件版本 日志及soc下载工具 软件使用 接线说明 天气显示屏 硬件接线 温度采集 ...

  3. 襄阳教育云平台实名认证_襄阳教育云平台登录入口下载|襄阳教育云平台手机版登录入口 V3.8.7-清风安卓软件网...

    襄阳教育云平台登录入口:是一款非常优质的教育平台,用户在这里可以掌握到很多最新的教育动态,平台中也会将当地教育部推行的政策公布出来,方便家长来了解,而对于学生来说也能在平台中获取跟多专业的资源且都是和 ...

  4. 紫光软件推云平台档案管理 逐鹿大数据时代

    随着全世界数值总量的不断提高和数值价值的一天比一天彰显,电子文件和档案管理市场正逐层升温.据国际知名调查研究机构计数,2013年全世界电子文件和档案行业总收益约为51亿美圆.有资深专家预先推测,国内市 ...

  5. 甲骨文全面升级云平台,赋能云端新企业

    2017年,云计算领域的发展全面提速,尤其是基础设施与平台层面的创新,全面支持着企业未来的业务发展. 作为一家完整覆盖IaaS.PaaS.SaaS及DaaS层面云服务的公司,甲骨文持续创新,将最新的技 ...

  6. W800|iot|HLK-W800-KIT-PRO|AliOS|阿里云|官方demo|学习(1):板载AliOS系统快速上手

    目录 板载系统简介 产品特性 快速使用流程 语音控制 联网控制 使用准备 配置联网 步骤一:添加设备 步骤二:配置网络(不支持5G) 步骤三:设备添加成功,可自定义设备名称,点击完成. APP 控制 ...

  7. 怎么下载在阿里云平台注册域名的域名证书

    首先登陆阿里云账号,点击控制台. 鼠标移到产品与服务,点击域名. 在想下载域名证书的域名右边点击管理. 在左边会有域名证书下载,点击即可,这样就下载好了. 如果你下载不了,可能是没有实名制域名信息吧.

  8. 华为大连软件开发云上线,打造软件云生态,加速软件产业升级

    2016年12月22日,2016华为大连软件开发云上线大会在大连市成功举办,吸引了近千余名政府和软件企业高层.教育行业精英.开发人员.媒体.意见领袖等出席.在本次大会上,华为发布了集华为研发实践.前沿 ...

  9. 一小时构建 IoT 音视频应用,声网发布灵隼物联网云平台

    6月28日,声网在线上举办主题为"视听无界,智联万物"的产品发布会,正式发布了"灵隼物联网云平台",该产品是专注于智能音视频设备的低代码.端到端开发平台,提供灵 ...

最新文章

  1. 【Qt中文手册】QSortFilterProxyModel
  2. 【图论专题】欧拉路径和欧拉回路
  3. Android开发之WebView加载HTML源码包含转义字符实现富文本显示的方法
  4. 计算机组装与维修预习,《计算机组装与维修》预习报告、实习报告撰写要求.docx...
  5. 如何使用多个端口访问tomcat
  6. linux dac 的权限,Samba CAP_DAC_OVERRIDE文件权限绕过安全限制漏洞
  7. Objective-C:ARC自动释放对象内存
  8. NOIP2016提高组 天天爱跑步
  9. CocoaPods集成ShareSDK
  10. 用户服务协议和隐私政策
  11. eova、easyui及普通DOM表单元素操作
  12. key_beep按键控制蜂鸣器程序及流程图
  13. 让智能设备拯救你的颈椎——智能颈椎按摩仪
  14. 少有人走的路--心智成熟的旅程
  15. Esp8266学习之旅① 搭建开发环境,开始一个“hellow world”串口打印。
  16. 记录DBeaver报SQL 错误 [1064] [42000]: #42000的一个坑
  17. 硬币面值组合(上台阶)
  18. MySQL数据库字符串(单行)函数#concat、length、tirm、replace、strcmp、substr等函数总结
  19. OPENSTACK-1-管理企业OSP部署-验证云上服务的功能性
  20. 企业邮箱域名怎么填写,企业邮箱号怎么注册?

热门文章

  1. C++函数放于类外时需要在类里进行声明
  2. 梯度下降算法结束条件
  3. headroom.js使用
  4. 五、中断服务程序的流程
  5. 分段概率密度矩估计_结合2018考研数学大纲把握概率复习要点
  6. 饭谈:元宇宙时代到来,我们软件测试人员何去何从?
  7. windows internals 6th edition 初读笔记
  8. 发那科机器人程序备份及导入
  9. Jetson NX YOLOV目标检测学习笔记1----CV调用USB摄像头
  10. jqprint 分页打印_javascript如何实现打印页面?