ZDP1440系列小技巧—如何OTA差分升级显示素材?

描述

本文导读

ZDP1440是一款基于开源GUI引擎的图像显示专用驱动芯片,支持U盘、SD卡本地升级UI固件,同时也支持通过UART/SPI方式进行OTA升级,本文将介绍如何OTA差分升级显示素材。

ZDP1440配套有专用的上位机,不仅用于屏幕参数和硬件接口参数的配置,还支持UI工程一键编译打包生成本地升级UI固件。打包生成的UI固件包含哪些文件,OTA差分升级如何实现,本文将逐一介绍。

一、UI固件简介

打开上位机,配置完成选择UI工程后,单击上位机中的【生成固件】首先会对UI工程进行交叉编译生成可执行文件。以uart_ui_ota工程为例,生成的UI程序存放在UI工程目录下的arm_bin文件夹。

上位机

图1

UI工程编译完成,接下来调用打包程序将UI程序awtk.bin和UI素材uart_ui_ota/res目录下的assets文件夹一起打包生成文件系统镜像,即ui_nor.bin或ui_nand.bin。 然后通过U盘或SD卡升级到板载Flash,挂载到根文件系统的bin目录下,也就是UI程序和UI素材在HMI-ZDP1440是以文件的形式存放。

上位机

图2

二、差分升级原理

了解了UI固件的组成和存放方式,OTA差分升级自然也不难实现。因为UI素材是以文件的形式存放,所以需要更新某些素材时,只需要替换相应的文件即可。以uart_ui_ota工程为例,OTA差分升级UI主界面背景图,只需要更新HMI-ZDP1440文件系统bin/assets/default/raw/images/x1目录下的bg.jpg背景图。

上位机

图3

三、差分升级示例

了解了差分升级实现方式,接下来以OTA差分升级UI主界面背景图为例。首先自定义串口通信协议,指令格式如下,包括进入升级和升级完成2个控制命令。

上位机

图4

接下来看看具体的程序如何实现。

上位机

图5

1.当接收到进入升级命令后,解析获取待升级文件的大小,后续用于计算升级的进度。然后切换到升级页面显示升级进度,并在bin路径下创建文件用于保存待升级的文件内容。

2.进入升级模式后,后续接收到数据都是文件内容,所以直接将数据写入到文件保存。

3.文件接收完成,收到升级完成命令,则关闭文件,并将接收的文件拷贝到UI素材文件夹替换原有素材背景图。然后切换回主页面并更新页面背景。

通过以上三个步骤就实现了OTA差分升级UI显示素材。




审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分