wakaama

漫谈LiteOS-Huawei_IoT_Link_SDK_OTA 开发指导

做~自己de王妃 提交于 2020-04-24 06:48:09
1概述 在应用升级过程中,无线下载更新(OTA)是一种常用,且方便的升级方式。Liteos采用的OTA升级方案基于LwM2M协议,实现了固件升级(FOTA)和软件升级(SOTA)两种升级方案。用户可根据自己的开发环境选择合适的升级方式。 OTA功能代码结构如下图: 2升级文件二进制文件结构 如图所示,升级压缩包中二进制文件如下图所示,FOTA与SOTA采用相同的固件格式。 签名校验值:长度256字节,对剩余文件进行hash计算后,并进行sha256加密后得到的签名密文。 二进制信息:预留长度32字节,升级文件是全量升级文件或增量升级文件等信息。 升级文件内容:经压缩后的升级文件,升级文件使用hdiffpatch算法对新、旧镜像进行运算生成的差分包,并使用lzma算法进行压缩。 3 存储器接口 存储器结构代码位于iot_link/sotrage目录下。存储器结构被划分为两部分,分别定义为存储设备(storage.c)与设备分区(partition.c)。 存储设备定义的是系统中使用的不同类型存储器及接口,如内部flash,spi flash 或 nandflash等,所使用结构体如下: typedef struct { int id; char *name; uint32_t size; void (*init)(); int (*read)(void *buf, int32_t