LinkIt_for_RTOS_Firmware_Update_Developers_Guide--用于实时操作系统固件更新开发指南的MediaTek Linkit™开发平台

MediaTek Linkit™SDK v4支持固件空中更新(FOTA)更新,这是一种广泛采用的成本和时间高效的解决方案,用于更新连接设备上的固件。开发者指南的目的DEE将提供关于如何在NOR闪存上部署FOTA的完整描述。

本文件指导您:
• FOTA architecture layout.
• 实时操作系统(RTOS)Linkit开发平台上的Fota更新
• 使用下载管理器和更新代理工具更新Fota工作流

用于实时操作系统的MediaTek Linkit开发平台的FOTA特性的完整列表见表1。

默认情况下,SDK提供完整的二进制更新机制。SDK还使第三方解决方案集成能够提供增量更新机制。

1.1. Architecture layout of the SDK FOTA feature
1.1.1. FOTA architecture layout for MT2523x

MT2523x的Fota体系结构如图1所示。

• FOTA更新代理是引导程序的一部分,它使用FLASH API在目标设备上处理更新
• 应用程序中的下载管理器负责检索FOTA包文件
• 蓝牙通知服务是一种专用配置文件,用于与Android智能设备通信,通过蓝牙交换数据。在智能手机方面,智能设备应用程序启用若要推送FOTA包文件,请执行以下操作
• FOTA打包工具(FOTARomPacker.exe位于实验室下载链接的“FOTA”包下)。在pc机上应用lempel-ziv-Markov链算法(Lzma)压缩符号。在新固件文件中生成一个FOTA更新包。

图1中的编号项目解释如下:

1)FOTA打包工具-生成更新包。

2) http服务器-将更新包放到服务器上。
3) 智能设备应用程序-启用蓝牙的移动设备从服务器下载更新包。
4) 移动设备使用蓝牙通信将更新包推送到Linkit MT2523 HDK。
5) 下载管理器-一旦下载管理器收到完整的包,它将设置触发标志并重新启动设备。
6) 更新代理-检查标志状态并继续更新。

1.1.2. FOTA architecture layout for MT76x7

MT76x7的Fota架构布局如图2所示。

• FOTA更新代理是引导程序的一部分,它使用FLASH API处理目标设备上的更新。一旦设备连接到Wi-Fi网络,FOTA命令行接口(Cli))命令可用于从普通文件传输协议(TFTP)服务器下载FOTA包文件
• 在pc上使用FOTA打包工具(FOTARomPacker.exe位于包的根文件夹下)在ne中应用Lempel-Ziv-Markov链算法(LZMA)压缩和签名。W固件文件并生成FOTA更新包。

要下载使用TFTP协议的文件,需要一个TFTP服务器,例如第三方开源软件tftp 32。

图2中的编号项解释如下:

1)FOTA打包工具-生成更新包

2) http或TFTP服务器-将更新包放到服务器上。
3) Wi-Fi-设备连接到网络
4) 使用HTTP或TFTP客户端下载更新包。
5) Fota CLI命令-一旦下载完成,它将设置触发标志并重新启动设备。
6) 更新代理-检查标志并继续更新。

2. Using the FOTA Update
2.1. FOTA packaging tool

MediaTek提供了一个FOTA打包工具,它运行在MicrosoftWindows和Linux操作系统上,用于压缩数据,为新的二进制FOTA包文件生成校验和前缀头。在更新期间,t更新代理解析标题,使用校验和验证包文件,并标识数据应该写入的位置。

2.1.1. Using the Microsoft Windows version of the FOTA packaging tool
FOTA打包工具的Windows版本由以下项目组成,如表2所示

要使用FOTA打包工具:
1)将新二进制文件复制到_LOAD文件夹
2)配置位于_ini文件夹下的FOTARomPacker.ini文件
• 在[通用设置]行下设置加载路径(见图3)
• 在闪存中设置此二进制文件的名称(文件)和开始地址(Start_Address)
• 设置写入二进制文件的分区的大小。
• 配置此设置,以便在需要时压缩二进制文件。如果IS_Compresded的值为真,则应用LZMA压缩,否则不进行压缩。
3)执行gen_Image.bat批处理文件,在_Output文件夹下生成FOTA包文件。

2.1.2. Using the Linux version of the FOTA packaging tool
FOTA打包工具的Linux版本由以下项目组成,如表3所示

若要使用FOTA打包工具,请使用以下属性配置JSON配置文件:

“bins”中的每个项表示一个二进制文件,其属性列在表4中。例如,有两个二进制文件“mt7687_IoT_sdk.bin”和“WiFi_RAM_code_MT76x7_in_fl.bin”,其文件路径为s地址、分区大小和压缩状态,如下所示。

请注意,“start_addr”和“分区_size”是字符串,而不是接受C样式十六进制字面值的数字,如“0xFFEF”。配置文件示例如下所示:

用于实时操作系统固件更新开发指南的MediaTek Linkit MT2523开发平台相关推荐

  1. web开发指南_成为专业Web开发人员的实用指南

    web开发指南 This article is meant to serve as a practical guide to becoming a professional web developer ...

  2. Unix/Linux下的Curses库开发指南——第一章 Curses库开发简介

    1.1什么是curses curses实际上是一个函数开发包,专门用来进行UNIX下终端环境下的屏幕界面处理以及I/O处理.通过这些函数库,C和C++程序就可以控制终端的视频显示以及输入输出.使用cu ...

  3. Unix/Linux下的Curse库开发指南——第六章 菜单开发及应用

    6.1菜单简介 6.1.1菜单概念     在第三章中我们曾经使用curses窗口创建了一个简单的菜单程序,从程序中可以看到菜单实际上是一系列选项的组合,我们一次可以选中一项或者多项,也可以使用方向键 ...

  4. lighttp支持PHP移植到imx6,[Qt开发指南]飞凌嵌入式iMX6开发板QT移植

    虚拟机环境: ubuntu12.04 32bit /64bit 目标平台: i.MX6 开发板 交叉编译工具链: gcc gcc-4.6.2-glibc-2.13-linaro-multilib-20 ...

  5. 区块链开发指南_区块链钱包开发

    开发钱包之前,我们需要有以下的预备知识. 第一,什么是钱包,以及相关的分类. 本文站在开发者的角度,给读者讲解下怎么样和钱包进行交互,以及如何开发一个钱包. 我们怎么样理解钱包呢?简单讲它是连接区块链 ...

  6. 区块链开发指南_区块链软件开发详解

    开发业务层区块链应用 Hyperledger fabric目前支持java,nodejs,go和python语言的sdk,供用户选择用不同的语言开发上层应用,使用相应的sdk调用部署在区块链上的链码. ...

  7. LabVIEW CompactRIO 开发指南2 CompactRIO软件架构

    第一章 CompactRIO软件架构 几乎所有的CompactRIO系统都至少有三个顶层VIs在三个不同的目标上异步执行:FPGA.实时操作系统(RTOS)和主机PC.如果开始软件开发时没有某种架构或 ...

  8. severless 开发指南 q593393454

    q593393454 q593393454 q593393454 q593393454 Serverless 架构应用开发指南 – serverless q593393454 code{white-s ...

  9. Android插件化开发指南——Hook技术(一)【长文】

    文章目录 1. 前言 2. 将外部dex加载到宿主app的dexElements中 3. 插件中四大组件的调用思路 4. Hook 2.1 对startActivity进行Hook 2.1.1 AMS ...

最新文章

  1. 36氪研究 | 智慧零售行业研究报告
  2. codeblock生成64位dll_Pythonnet/clr : Unable to find assembly xxxx.dll
  3. 牛客一 G-Game of Swapping Numbers
  4. 后退返回命令数量_Redis | Redis 有序集合相关命令
  5. 2019.6.16完成classstack任务
  6. 在装好的xp系统里面如何添加新的硬件设备
  7. 乱码 转ios_王者荣耀:转区数量提升25倍,教你解决检测异常,IOS也有艾琳了
  8. 总结 | 深度学习之Pytorch入门教程
  9. 关于CSS与HTML知识点总结(二)
  10. bzoj 2761: [JLOI2011]不重复数字【hash】
  11. Android定义的路径全局变量
  12. 轻量应用服务器安装mysql_阿里云轻量应用服务器Linux-Centos7下MySQL8.0.19的安装
  13. 计算机控制器的简写,工业控制常用英语及缩写
  14. 微信小程序选项卡原理
  15. win10任务栏透明_5 款 Windows 任务栏增强工具推荐
  16. 古龙奇侠传java6_华人最著名的20位武侠小说家,梁羽生排不进前6,古龙屈居第5...
  17. 欧拉恒等式:数学史上的真正完美公式!
  18. 轨道交通通信施工学习总结(四)漏泄同轴电缆安装
  19. 手写数字识别系统(python+K-近邻完整代码)
  20. matplotlib-06 axhline绘制水平/竖直参考线

热门文章

  1. 网页加入动态动漫人物
  2. 内网映射软件之80端口映射和全端口映射实现发布网站访问内网
  3. 如何设计USB TYPE-C接口的显示器和电视机,形态三独立功能的双USB-C接口 +一个HDMI接口的显示器
  4. Kotlin-Android世界的一股清流-委托
  5. android 极光推送解绑,app集成极光推送笔记(angular js)
  6. DataV 3D 平面地图 2.0 焕新上线
  7. Complementary Trilateral Decoder for Fast and Accurate Salient Object Detection(速读啊)内含与u-shape的对比
  8. 为什么unity中我的模型是红颜色的
  9. acmclub 2081 班级聚会上的游戏
  10. 传统软件服务器与游戏服务器架构区别