掌桥专利:专业的专利平台
掌桥专利
首页

一种水墨屏硬解码芯片的固件升级方法及终端设备

文献发布时间:2023-06-19 12:13:22


一种水墨屏硬解码芯片的固件升级方法及终端设备

技术领域

本申请涉及通信处理技术领域,尤其涉及一种水墨屏硬解码芯片的固件升级方法及终端设备。

背景技术

现有技术中,针对采用水墨屏的终端设备内置有硬解码芯片、主芯片和USB(Universal Serial BUS,通用串行总线)端口。通常情况下,在正常运行时,USB端口是连接主芯片的。若需要对硬解码芯片的固件进行升级,是通过将USB端口的开关由连接主芯片切换到连接硬解码芯片,再利用USB线连接电脑端。然后采用电脑端中的固件升级工具进行固件升级。但是这种固件升级方式不仅耗时耗力,而且必须依靠指定的电脑端中的固件升级工具,因此现有技术对水墨屏硬解码芯片的固件升级方法操作复杂,效率低下。

发明内容

本申请实施例提供一种水墨屏硬解码芯片的固件升级方法及终端设备,用于解决相关技术中水墨屏硬解码芯片的固件升级方法操作复杂,效率低下的问题。

第一方面,本申请一实施例提供了一种水墨屏硬解码芯片的固件升级方法,所述方法包括:

通过无线通讯接口获取硬解码芯片的固件的目标版本;

对所述固件的目标版本和所述固件的当前版本进行比较;

若基于比较结果确定升级所述固件,则基于主芯片通过所述无线通信接口获取所述目标版本对应的固件数据,并将所述固件数据发送给所述硬解码芯片进行固件升级。

在一些可能的实施例中,所述通过无线通讯接口获取硬解码芯片的固件的目标版本,包括:

响应于终端设备的开机请求或响应于终端设备的设备版本升级请求,通过所述无线通讯接口获取所述硬解码芯片的固件的目标版本。

在一些可能的实施例中,非易失性存储器中存储有所述硬解码芯片的主固件和备份固件,所述固件的当前版本为所述主固件的当前版本,在所述对所述目标版本和所述当前版本进行比较之前,所述方法还包括:

确定采用所述主固件执行所述开机请求对应的开机操作;或,

确定采用所述主固件执行所述设备版本升级请求对应的升级操作。

在一些可能的实施例中,所述方法还包括:

若确定采用所述备份固件执行所述开机请求对应的开机操作,或确定采用所述备份固件执行所述设备版本升级请求对应的升级操作,则基于所述主芯片通过所述无线通信接口获取所述目标版本对应的固件数据,并将所述固件数据发送给所述硬解码芯片进行固件升级。

在一些可能的实施例中,所述方法还包括:

通过所述无线通讯接口获取启动程序的目标版本;

对所述启动程序的目标版本和所述启动程序的当前版本进行比较;

若基于比较结果确定升级所述启动程序,则基于所述主芯片通过所述无线通信接口获取所述启动程序的目标版本对应的启动程序数据,并将所述启动程序数据发送给所述硬解码芯片进行启动程序升级。

在一些可能的实施例中,在所述对所述固件的目标版本和所述固件的当前版本进行比较之前,所述方法还包括:

通过所述主芯片向所述硬解码芯片发送禁止所述硬解码芯片休眠的指令。

在一些可能的实施例中,所述方法还包括:

所述主芯片与所述硬解码芯片通过I2C接口(Inter-Integrated Circuit,一种串行总线方式)协议进行通信。

在一些可能的实施例中,在确定对所述硬解码芯片进行固件升级后,所述方法还包括:

展示所述硬解码芯片进行固件升级的提示界面,并通过所述主芯片向所述硬解码芯片发送停止接收显示数据的指令。

在一些可能的实施例中,在所述确定所述硬解码芯片的固件升级完成之后,所述方法还包括:

基于所述主芯片向所述硬解码芯片发送允许接收显示数据的指令。

第二方面,本申请一实施例提供了一种终端设备,包括:无线通讯接口和控制器;所述控制器为主芯片或硬解码芯片;

所述无线通讯接口,用于收发数据;

所述控制器,被配置为执行上述第一方面中任一所述水墨屏硬解码芯片的固件升级方法。

第三方面,本申请一实施例提供了一种计算机可读存储介质,其上存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述任一种方法的步骤。

本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示例性示出了本申请实施例提供的一种终端设备的结构示意图;

图2示例性示出了本申请实施例提供的一种终端设备的软件架构示意图;

图3示例性示出了本申请实施例提供的终端设备的用户界面示意图;

图4示例性示出了本申请实施例提供的现有技术界面示意图;

图5示例性示出了本申请实施例提供的水墨屏硬解码芯片的固件升级方法的一种流程示意图;

图6示例性示出了本申请实施例提供的终端设备的用户界面示意图;

图7示例性示出了本申请实施例提供的水墨屏硬解码芯片的固件升级方法的部分流程示意图;

图8示例性示出了本申请实施例提供的水墨屏硬解码芯片的固件升级方法的一种流程示意图;

图9示例性示出了本申请实施例提供的固件升级过程与显示界面的刷新展示过程的交互流程图。

具体实施方式

为使本申请的目的、实施方式和优点更加清楚,下面将结合本申请示例性实施例中的附图,对本申请示例性实施方式进行清楚、完整地描述,显然,所描述的示例性实施例仅是本申请一部分实施例,而不是全部的实施例。

基于本申请描述的示例性实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请所附权利要求保护的范围。此外,虽然本申请中公开内容按照示范性一个或几个实例来介绍,但应理解,可以就这些公开内容的各个方面也可以单独构成一个完整实施方式。

需要说明的是,本申请中对于术语的简要说明,仅是为了方便理解接下来描述的实施方式,而不是意图限定本申请的实施方式。除非另有说明,这些术语应当按照其普通和通常的含义理解。

以下,对本申请实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

(1)固件(Firmware),即可以写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。是指终端设备内部保存的设备″驱动程序″,通过固件,终端设备的操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。

固件存储于终端设备中的电可擦除只读存储器EEPROM或FLASH芯片中,固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。

(2)固件升级,即对底层的软件进行修改,替换从而使得硬件增加新功能或者更好的工作。

(3)固件的当前版本,即当前时刻终端设备中硬解码芯片中固件的版本。

(4)固件的目标版本,即当前时刻通过无线通讯接口从服务器中获取到的硬解码芯片中固件的版本。

(5)启动程序,存储于FLASH芯片中,用于开启硬解码芯片。

(6)启动程序的当前版本,即当前时刻终端设备的FLASH芯片中启动程序的版本。

(7)启动程序的目标版本,即当前时刻通过无线通讯接口从服务器中获取到的FLASH芯片中启动程序的版本。

(8)终端设备的设备版本升级,即OTA升级(Over-the-Air Technology,空间下载技术),OTA是通过无线通讯接口对SIM卡数据及应用进行远程管理的技术。无线通讯接口可以采用WAP、GPRS、CDMA1X及短消息技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。

本申请中说明书和权利要求书及上述附图中的术语″第一″、″第二″、″第三″等是用于区别类似或同类的对象或实体,而不必然意味着限定特定的顺序或先后次序,除非另外注明(Unless otherwise indicated)。应该理解这样使用的用语在适当情况下可以互换,例如能够根据本申请实施例图示或描述中给出那些以外的顺序实施。

此外,术语″包括″和″具有″以及他们的任何变形,意图在于覆盖但不排他的包含,例如,包含了一系列组件的产品或设备不必限于清楚地列出的那些组件,而是可包括没有清楚地列出的或对于这些产品或设备固有的其它组件。

图1示出了终端设备100的结构示意图。

下面以终端设备100为例对实施例进行具体说明。应该理解的是,图1所示终端设备100仅是一个范例,并且终端设备100可以具有比图1中所示的更多的或者更少的部件,可以组合两个或多个的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

图1中示例性示出了根据示例性实施例中终端设备100的硬件配置框图。如图1所示,终端设备100包括:射频(radio frequency,RF)电路110(如可包括无线通信接口)、存储器120、显示单元130、摄像头140、传感器150、音频电路160、无线保真(Wireless Fidelity,Wi-Fi)模块170、处理器180(如可包括主芯片和硬解码芯片)、蓝牙模块181、以及电源190等部件。这里,除射频电路110中可以包括无线通信接口之外,无线保真模块170中也可以包括无线通信接口,在此并不限定无线通信接口的具体位置,可根据实际应用进行调整。

RF电路110可用于在收发信息或通话过程中信号的接收和发送,可以接收基站的下行数据后交给处理器180处理;可以将上行数据发送给基站。通常,RF电路包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等器件。

存储器120可用于存储软件程序及数据,本申请实施例中存储器可以为Flash芯片,用于存储水墨屏中硬解码芯片的固件。处理器180通过运行存储在存储器120的软件程序或数据,从而执行终端设备100的各种功能以及数据处理。存储器120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器120存储有使得终端设备100能运行的操作系统。本申请中存储器120可以存储操作系统及各种应用程序,还可以存储执行本申请实施例所述方法的代码。

显示单元130可用于接收输入的数字或字符信息,产生与终端设备100的用户设置以及功能控制有关的信号输入,具体地,显示单元130可以包括设置在终端设备100正面的触摸屏131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。

显示单元130还可用于显示由用户输入的信息或提供给用户的信息以及终端100的各种菜单的图形用户界面(graphical user interface,GUI)。具体地,显示单元130可以包括设置在终端设备100正面的显示屏132。其中,显示屏132可以采用液晶显示器、发光二极管等形式来配置。显示单元130可以用于显示本申请中所述的各种图形用户界面。

其中,触摸屏131可以覆盖在显示屏132之上,也可以将触摸屏131与显示屏132集成而实现终端设备100的输入和输出功能,集成后可以简称触摸显示屏。本申请中显示单元130可以显示应用程序以及对应的操作步骤。

摄像头140可用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器180转换成数字图像信号。

终端设备100还可以包括至少一种传感器150,比如加速度传感器151、距离传感器152、指纹传感器153、温度传感器154。终端设备100还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。

音频电路160、扬声器161、麦克风162可提供用户与终端设备100之间的音频接口。音频电路160可将接收到的音频数据转换后的电信号,传输到扬声器161,由扬声器161转换为声音信号输出。终端设备100还可配置音量按钮,用于调节声音信号的音量。另一方面,麦克风162将收集的声音信号转换为电信号,由音频电路160接收后转换为音频数据,再将音频数据输出至RF电路110以发送给比如另一终端,或者将音频数据输出至存储器120以便进一步处理。本申请中麦克风162可以获取用户的语音。

Wi-Fi属于短距离无线传输技术,终端设备100可以通过Wi-Fi模块170帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。

处理器180是终端设备100的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器120内的软件程序,以及调用存储在存储器120内的数据,执行终端设备100的各种功能和处理数据。在一些实施例中,处理器180可包括一个或多个处理单元;处理器180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器180中。本申请中处理器180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本申请实施例所述的处理方法。另外,处理器180与输入单元130和显示单元140耦接。

蓝牙模块181,用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备100可以通过蓝牙模块181与同样具备蓝牙模块的可穿戴电子设备(例如智能手表)建立蓝牙连接,从而进行数据交互。

终端设备100还包括给各个部件供电的电源190(比如电池)。电源可以通过电源管理系统与处理器180逻辑相连,从而通过电源管理系统实现管理充电、放电以及功耗等功能。终端设备100还可配置有电源按钮,用于终端的开机和关机,以及锁屏等功能。

图2是本发明实施例的终端设备100的软件结构框图。

分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。

应用程序层可以包括一系列应用程序包。

如图2所示,应用程序包可以包括相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。

应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。

如图2所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。

窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。

内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。

视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。

电话管理器用于提供终端设备100的通信功能。例如通话状态的管理(包括接通,挂断等)。

资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。

通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,终端设备振动,指示灯闪烁等。

Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。

核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。

应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。

系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。

表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。

媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。

三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。

2D图形引擎是2D绘图的绘图引擎。

内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。

以终端设备手机为例,下面结合硬解码芯片的固件自动升级的应用场景,示例性说明终端设备100软件以及硬件的工作流程。

当触摸屏131接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳指定位置区域、触摸指定按钮等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别该输入事件所对应的控件。以该触摸操作是触摸指定位置区域单击操作,该指定位置区域单击操作所对应的控件为相机设置应用图标的控件为例,相机设置应用调用应用框架层的接口,启动相机设置应用,进而通过调用内核层对终端设备手机进行开机操作,在手机进行开机的过程中对硬解码芯片的固件进行升级。

本申请实施例中的终端设备100可以为手机、平板电脑、可穿戴设备、笔记本电脑以及电视等具有水墨屏的终端设备。

图3是用于示出终端设备(例如图1的终端设备100)上的用户界面的示意图。在一些具体实施中,用户通过触摸用户界面上的应用图标可以对终端设备进行开机、关机或者重启,或者通过触摸指定位置的按钮对终端设备进行开机、关机或者重启,或者通过触摸用户界面上的指定区域位置对终端设备进行设备版本的升级。例如,可以通过长按终端设备指定位置的按钮5秒钟实现对终端设备的开机操作,这里按钮既可以是终端设备中的物理实体按键,也可以是终端设备中触控的虚拟按键。

现有技术中,针对采用水墨屏的终端设备内置有硬解码芯片、主芯片和USB(Universal Serial BUS,通用串行总线)端口。通常情况下,在正常运行时,USB端口是连接主芯片的。若需要对硬解码芯片的固件进行升级,是通过将USB端口的开关由连接主芯片切换到连接硬解码芯片,再利用USB线连接电脑端。然后采用电脑端中的固件升级工具进行固件升级。例如,可参考图4所示,手机中的主芯片和硬解码芯片均连接USB端口的开关,若需要对硬解码芯片中的固件进行升级,则需要将USB端口连接电脑端,通过电脑端中的固件升级工具对固件进行升级。但是这种固件升级方式不仅耗时耗力,而且必须依靠指定的电脑端中的固件升级工具,因此现有技术对水墨屏硬解码芯片的固件升级方法操作复杂,效率低下。

为解决上述问题,本申请实施例通过终端设备中的无线通信接口获取硬解码芯片的固件的目标版本,若固件的目标版本的级别高于固件的当前版本级别,则利用主芯片通过无线通信接口获取目标版本对应的固件数据,并将固件数据发送给硬解码芯片进行固件升级,从而避免现有技术中固件升级必须依靠指定的电脑端中的固件升级工具,可以解决相关技术中水墨屏硬解码芯片的固件升级方法操作复杂,效率低下的问题。

在介绍完本申请实施例的设计思想之后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。

本申请提供了一种水墨屏硬解码芯片的固件升级方法,参考图5所示,该方法的步骤包括:

S501,通过无线通讯接口获取硬解码芯片的固件的目标版本;

具体地,响应于终端设备的开机请求或响应于终端设备的设备版本升级请求,通过无线通讯接口获取硬解码芯片的固件的目标版本。

示例性地,以图3中终端设备是手机为例进行说明,若检测到手机的开机请求或者检测到手机的OTA升级请求,则通过终端设备中的无线通讯接口获取硬解码芯片的固件的目标版本。

这里,通过终端设备中的无线通讯接口获取到硬解码芯片的固件的目标版本后,可以将固件的目标版本存储在FLASH等非易失性存储器中。

S502,对固件的目标版本和固件的当前版本进行比较;

示例性地,假设固件的目标版本为版本2.0,固件的当前版本为版本1.0,那么固件的目标版本的级别高于固件的当前版本的级别,也即固件可以将当前版本1.0升级至目标版本2.0。

假设固件的当前版本为版本2.0,固件的目标版本为版本1.0,那么固件的目标版本的级别低于固件的当前版本的级别,也即固件不需要基于目标版本进行升级。

假设固件的目标版本为版本2.0,固件的当前版本为版本2.0,那么固件的目标版本的级别等同于固件的当前版本的级别,也即固件不需要基于目标版本进行升级。

其中,通过终端设备中的无线通讯接口获取到硬解码芯片的固件的目标版本,并且将固件的目标版本存储在非易失性存储器FLASH之后,可以通过主芯片获取非易失性存储器FLASH中存储的固件的目标版本,并可以通过主芯片获取硬解码芯片中的固件的当前版本,然后在主芯片中比较固件的目标版本和固件的当前版本。又,主芯片与硬解码芯片通过I2C接口协议进行通信。

本申请的一实施例中,一般采用硬解码芯片的固件实现硬件设备的功能及性能,但是为了避免硬解码芯片的固件出现问题时,硬件设备也不能工作的情况,可以设置备份固件,在硬解码芯片的固件出现问题时,利用备份固件实现硬件设备的功能及性能。

这里,将上述硬解码芯片的固件定义为硬解码芯片的主固件,以区分硬解码芯片的备份固件,并且硬解码芯片的主固件和备份固件均存储在非易失性存储器中,因此上述固件的当前版本即为这里的主固件的当前版本,在对目标版本和当前版本进行比较之前,方法还包括:确定采用主固件执行开机请求对应的开机操作;或,确定采用主固件执行设备版本升级请求对应的升级操作。

通过确定采用主固件执行相关的操作,进而可以得知利用主固件可以实现硬件设备的功能及性能,也即是采用正常的实现流程完成硬件设备的功能实现,从而不需要启用备份固件。

示例性地,如表1所示,示出了非易失性存储器FLASH的内部架构,其中,Bootloader表示上述硬解码芯片的启动程序,地址1为Bootloader在FLASH中的存储地址,Waveform表示终端设备的不同显示模式的切换,地址2为Waveform在FLASH中的存储地址,VCOM表示终端设备显示屏幕的电压值,地址3为VCOM在FLASH中的存储地址,P0表示硬解码芯片的备份固件,地址4为P0在FLASH中的存储地址,P1表示硬解码芯片的固件,地址5为P1在FLASH中的存储地址。

表1

若确定采用备份固件执行相关的操作,进而可以得知利用主固件不能实现硬件设备的功能及性能,也即是采用正常的实现流程不能完成硬件设备的功能实现,从而需要启用备份固件。针对需要启用备份固件实现硬件设备的功能及性能的情况,不需要执行对目标版本和当前版本进行比较的步骤,直接将当前版本更新为目标版本,也即基于主芯片通过无线通信接口获取目标版本对应的固件数据,并将固件数据发送给硬解码芯片进行固件升级。

示例性地,若采用的是P1执行开机请求对应的开机操作,或确定采用备份固件执行设备版本升级请求对应的升级操作,则确定为通过正常的固件执行相应的操作,然后继续执行对目标版本和当前版本进行比较,若采用的是P0执行开机请求对应的开机操作,或确定采用备份固件执行设备版本升级请求对应的升级操作,由于通过备份固件执行相应的操作,则确定为非正常操作,也即不继续执行对目标版本和当前版本的比较,直接利用固件的目标版本对固件的当前版本进行升级。

同样地,这里,主芯片与硬解码芯片通过I2C接口协议进行通信。

本申请的一实施例中,在对固件的目标版本和固件的当前版本进行比较之前,方法还包括:通过主芯片向硬解码芯片发送禁止硬解码芯片休眠的指令。

由于通过主芯片先向硬解码芯片发送禁止硬解码芯片休眠的指令,可以保证硬解码芯片保持工作状态,然后可以通过主芯片与硬解码芯片之间的I2C接口协议,获取固件的当前版本,从而可以在主芯片中进行固件的目标版本和固件的当前版本的比较。

本申请的一实施例中,在确定对硬解码芯片进行固件升级后,展示硬解码芯片进行固件升级的提示界面,并通过主芯片向硬解码芯片发送停止接收显示数据的指令。

示例性地,如图6所示,可以在终端设备中展示″硬解码芯片的固件正在升级″的提示界面。由于此时终端设备的内部架构正在升级过程中,因此终端设备的水墨屏停止显示内容,也即主芯片向硬解码芯片发送停止接收显示数据的指令。

又,主芯片通过I2C接口协议向硬解码芯片进行数据传输,通过硬解码芯片对传输数据进行数据的转换、旋转和刷新等数据处理后,在水墨屏中进行显示。

本申请的一实施例中,在确定硬解码芯片的固件升级完成之后,基于主芯片向硬解码芯片发送允许接收显示数据的指令。

S503,若基于比较结果确定升级固件,则基于主芯片通过无线通信接口获取目标版本对应的固件数据,并将固件数据发送给硬解码芯片进行固件升级。

本申请实施例通过终端设备中的无线通信接口获取硬解码芯片的固件的目标版本,若固件的目标版本的级别高于固件的当前版本级别,则利用主芯片通过无线通信接口获取目标版本对应的固件数据,并将固件数据发送给硬解码芯片进行固件升级,从而避免现有技术中固件升级必须依靠指定的电脑端中的固件升级工具,可以实现水墨屏硬解码芯片的固件自动升级。

本申请的一实施例中,如图7所示,上述方法还包括:

S701,通过无线通讯接口获取启动程序的目标版本;

示例性地,由表1可知,Bootloader即为启动程序,这里,获取启动程序的目标版本的过程可参考上述获取硬解码芯片的固件的目标版本的过程,在此不再赘述。

S702,对启动程序的目标版本和启动程序的当前版本进行比较;

示例性地,假设启动程序的目标版本为版本2.0,启动程序的当前版本为版本1.0,那么启动程序的目标版本的级别高于启动程序的当前版本的级别,也即启动程序可以将当前版本1.0升级至目标版本2.0。

假设启动程序的当前版本为版本2.0,启动程序的目标版本为版本1.0,那么启动程序的目标版本的级别低于启动程序的当前版本的级别,也即启动程序不需要基于目标版本进行升级。

假设启动程序的目标版本为版本2.0,启动程序的当前版本为版本2.0,那么启动程序的目标版本的级别等同于启动程序的当前版本的级别,也即启动程序不需要基于目标版本进行升级。

S703,若基于比较结果确定升级启动程序,则基于主芯片通过无线通信接口获取启动程序的目标版本对应的启动程序数据,并将启动程序数据发送给硬解码芯片进行启动程序升级。

参考图8所示,示出了一种水墨屏硬解码芯片的固件升级方法的流程示意图,包括以下步骤:

S801,响应于终端设备的开机请求,对终端设备进行开机操作。

S802,获取硬解码芯片的固件的目标版本(即版本1)以及固件的当前版本(即版本2)。

S803,是否为P0开机;若是,执行步骤S806,若否,执行步骤S804。

S804,判断固件的当前版本级别即版本2级别是否小于固件的目标版本级别即版本1级别;若是,执行步骤S805,若否,执行步骤S807。

S805,对固件的当前版本进行升级。

S806,判断固件的目标版本是否处于可使用状态。若是,执行步骤S805,若否,执行步骤S807。

S807,继续执行开机操作。

S808,对固件的当前版本升级完成后,获取启动程序的目标版本Bootloader-1和启动程序的当前版本Bootloader-2。

S809,判断启动程序的当前版本Bootloader-2级别是否小于启动程序的目标版本Bootloader-1级别;若是,执行步骤S8010,若否,执行步骤S8011。

S8010,对启动程序的当前版本进行升级。

S8011,重启手机后继续执行步骤S801。

参考图9所示,示出了固件升级过程与显示界面的刷新展示过程的交互流程图,包括以下步骤:

S901,响应于终端设备的开机请求,通过所述主芯片向所述硬解码芯片发送禁止所述硬解码芯片休眠的指令。

S902,在主芯片中对所述固件的目标版本和所述固件的当前版本进行比较。

S903,基于比较结果,判断是否对固件的当前版本进行升级,若是,执行步骤S905,若否,执行步骤S904。

S904,对终端设备执行开机操作。

S905,展示所述硬解码芯片进行固件升级的提示界面。

S906,通过所述主芯片向所述硬解码芯片发送停止接收显示数据的指令。

S907,在确定对所述硬解码芯片进行固件升级完成后,通过所述主芯片向所述硬解码芯片发送停止接收显示数据的指令。

S908,基于所述主芯片向所述硬解码芯片发送允许休眠指令、以及允许接收显示数据的指令。

S909,判断对所述硬解码芯片是否进行固件升级完成,若是,执行步骤S9010,若否,执行步骤S9011。

S9010,在终端设备中展示升级成功界面。

S9011,在终端设备中展示升级失败界面。

S9012,对终端设备进行重启操作。

本申请实施例还提供一种计算机存储介质,所述计算机存储介质中存储有计算机程序指令,当所述指令在计算机上运行时,使得所述计算机执行上述设备响应的方法的步骤。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种水墨屏硬解码芯片的固件升级方法及终端设备
  • 固件升级方法、雷达系统、终端设备与固件升级系统
技术分类

06120113213077