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”。配置文件示例如下所示: