用于电视的软件更新方法及相关的电路与流程

文档序号:15395299发布日期:2018-09-08 02:02阅读:257来源:国知局

本发明系有关于一种应用于电视的软件更新方法及相关的电路。



背景技术:

当电视中软件需要更新的时候,通常是透过空中下载(overairdownload,oad)的方式取得一更新映像文件,并透过该更新映像文件来更新电视的软件。由于更新映像文件通常具有很大的数据量,为了减少下载所需的时间,因此更新映像文件通常被压缩为一个压缩文件,等到下载至电视之后才进行解压缩与更新等操作。然而,由于解压缩操作需要使用到额外的缓冲区,换言之需要很大的存储器空间,因而造成成本的上升。



技术实现要素:

因此,本发明的目的之一在于提供一种应用于电视的软件更新方法,其可以在不增加下载时间的情形下,仅需要使用较少的存储器空间便可以完成更新映像文件的下载并进行电视软件的更新,以解决先前技术中的问题。

在本发明的一个实施例中,揭露了一种用于一电视的软件更新方法,其包含有:透过网络下载一更新映像文件,其中该更新映像文件包含了一说明文件以及多个数据;将该更新映像文件储存自一存储器;自该存储器读取该说明文件;自该说明文件取得该些数据的一信息;依据该信息依序自该存储器中读取该些数据;对该多笔数据进行数据填充以产生多个填充后数据;以及依据该些填充后数据来更新该电视内部的软件。

在本发明的另一个实施例中,揭露了一种应用于一电视的电路,其包含了一网络接口电路以及一控制电路。该网络接口电路用以连接到外部网络;以及该控制电路透过该网络接口电路下载包含了一说明文件以及多个数据的一更新映像文件,并将该更新映像文件储存至一存储器中,且该控制电路另自该存储器读取该说明文件以自该说明文件取得该些数据的一信息,以及依据该信息依序自该存储器中读取该些数据,并对该些数据进行数据填充以产生多个填充后数据,以供更新该电视内部的软件。

附图说明

图1为根据本发明一实施例的电视的方块图。

图2为根据本发明一实施例的下载更新映像文件的流程图。

图3为闪存中储存的数据的示意图。

图4为根据本发明一实施例的使用所下载的更新映像文件来更新闪存中的分区中所储存的数据的流程图。

符号说明

100电视

110网络接口电路

120控制电路

130解密电路

140闪存控制器

150闪存

160动态随机存取存储器控制器

170动态随机存取存储器

200~210、400~420步骤

312、314、316、318、320分区

351加密的说明文件

352加密的核心数据

353加密的根文件系统数据

354加密的供货商数据

355加密的安全性数据

356加密的识别数据

具体实施方式

请参考图1,其为根据本发明一实施例的电视100的方块图。如图1所示,电视100包含了一网络接口电路110、一控制电路120、一解密电路130、一闪存控制器140、一闪存150、一动态随机存取存储器(dynamicrandomaccessmemory,dram)控制器160以及一动态随机存取存储器170。在本实施例中,控制电路120系透过闪存控制器140存取闪存150以及透过动态随机存取存储器控制器160存取动态随机存取存储器170,闪存150中储存了用来控制电视100操作的软件程序,且控制电路120可以透过网络接口电路110以空中下载(oad)的方式来取得一更新映像文件来更新该软件程序。

由于本发明的目的着重在电视100中的软件更新方法,因此电视100中的其他组件的细节在此不予赘述。

请同时参考图1、2,其中图2为根据本发明一实施例的下载更新映像文件的流程图。在步骤200中,流程开始,且控制电路120透过网络接口电路110自外部网络下载更新映像文件。在步骤202中,控制电路120检查更新映像文件是否下载完成,若尚未下载完成,流程进入步骤204;若已经下载完成,则流程进入步骤208。在步骤204中,控制电路120持续透过网络接口电路110来依序下载更新映像文件的多个部分,并将所下载的更新映像文件的多个部分透过动态随机存取存储器控制器160以暂存至动态随机存取存储器170中;接着,在步骤206中,控制电路120透过动态随机存取存储器控制器160以及闪存控制器140,以将原本暂存在动态随机存取存储器170中的更新映像文件的多个部分的依序搬移至闪存150中。在步骤208中,当更新映像文件下载完成后,控制电路120致能储存在闪存150中的一更新标签,亦即表示有新的映像文件可供进行软件更新。最后在步骤210,流程结束。

在本实施例中,更新映像文件包含了一说明文件以及多笔数据,其中该多笔数据包含了一核心数据、一根文件系统(rootfilesystem)数据、一供货商数据、一安全性数据以及一识别(signature)数据,而该说明文件以及该多笔数据可以是加密(encrypted)后的数据或是未加密的数据;此外,更新映像文件本身可以是压缩文件或是未经压缩过的数据。在本实施例中,基于安全性考虑,更新映像文件为加密的数据,而基于成本考虑,更新映像文件为未经压缩的数据,不需要进行解压缩,因此动态随机存取存储器170的容量可以降低以节省成本。请注意,由于解压缩的过程需要额外的动态随机存取存储器170作为缓冲空间,因此当更新映像文件为未经压缩的数据时,可以免除前述缓冲空间的需求。而由于下载过程中,并不一定要将整个下载的文件暂存于动态随机存取存储器170中,因此虽然未经压缩的更新映像文件较压缩的更新映像文件大,实际上并不会因此增加动态随机存取存储器170的需求。此外,由于未经压缩的更新映像文件本身文件较大,可能增加下载时间,因此本实施例中的更新映像文件所包含的该多笔数据中,除了该说明文件具有一固定的预设文件大小之外,其余数据的文件大小系与其包含的内容多寡有关,而没有透过数据填充(padding)成为特定的文件大小。由于减少了数据填充的数据量,降低了更新映像文件的文件大小此外,该说明文件系记录了其余每一笔数据的文件大小的信息。

参考图3,其为闪存150中储存的数据的示意图。如图3所示,闪存150至少包含了五个分区312~320,其中分区312用来储存核心数据、分区314用来储存根文件系统数据、分区316用来储存供货商数据、分区318用来储存组态数据、分区320用来储存所下载的更新映像文件,更新映像文件系用来更新分区312~318中所储存的各个数据。为了避免数据读取错误,分区312~320的大小是预先设定好的,如此能确保后续在读取其中一分区的数据时不会读取到其他分区的数据。此外,如前所述,本实施例中的更新映像文件采用了加密但未压缩的数据,因此分区320中所储存的更新映像文件包含了加密的说明文件351、加密的核心数据352、加密的根文件系统数据353、加密的供货商数据354、加密的安全性数据355、以及加密的识别数据356。

请参考图4,其为根据本发明一实施例的使用所下载的更新映像文件来更新闪存150中的分区312~318中所储存的数据的流程图。在步骤400中,流程开始,电视100连接电源并开机。在步骤402中,控制电路120检查闪存150中的更新标签是否致能,若更新标签致能则表示闪存150中有新的映像文件可供软件更新,故流程进入步骤406;若更新标签未致能则表示闪存150中没有新的映像文件可供软件更新,故流程进入步骤404以直接启动电视。其中,启动电视的步骤系依据闪存150的分区312与314中储存的核心数据与根文件系统数据来进行。

在步骤406中,由于更新映像文件所包含的加密的说明文件351具有一固定的预设文件大小(例如,0x2000个字节),且加密的说明文件351系位于更新映像文件的最前面,因此,控制电路120直接自闪存150的分区320所储存的更新映像文件中的前0x2000个字节取得加密的说明文件351,并将其储存至动态随机存取存储器170中。在步骤408中,控制电路120自动态随机存取存储器170中读取加密的说明文件351,并透过解密电路130来对加密的说明文件351进行解密,并将解密后的说明文件回存至动态随机存取存储器170中,且解密电路130可以有自己的存储器空间以供解密操作使用。在本实施例中,解密后的说明文件包含了图3所示的加密的核心数据352、加密的根文件系统数据353、加密的供货商数据354、加密的安全性数据355、以及加密的识别数据356中每一笔数据的文件大小,因此控制电路120能据以确定每一笔数据的起始地址,以供后续读取每一笔数据时使用。此外,解密后的说明文件会一直储存在动态随机存取存储器170中,直到整个更新流程结束为止。

接着,在步骤410中,控制电路120依据每一笔数据的文件大小依序地自闪存150的分区320读取下一笔数据。以图3所示为例,控制电路120读取加密后的核心数据352,且在步骤412中控制电路120透过解密电路130来对加密后的核心数据352进行解密以得到解密后的核心数据,之后在步骤414中对解密后的核心数据进行数据填充以得到填充后的核心数据,且步骤414中可利用动态随机存取存储器170作为填充前后的核心数据的暂存区。如前所述,为了避免数据读取错误,分区312~320的大小是预先设定好的,而存入分区312~318的每一笔数据(例如核心数据、根文件系统数据…等等)都会具有对应的一个预设文件大小,若是一解密后得到的数据的有效数据大小小于该预设的文件大小,则会对该笔数据的后端进行数据填充(加入全部都是“0”或全部都是“1”)以使得该笔数据的文件大小成为该预设的文件大小。举例来说,假设对应于核心数据的预设数据大小为8兆位(mb),而解密后的核心数据的有效数据大小为6mb,则控制电路120会对解密后的核心数据进行2mb的数据填充,以使得填充后的核心数据的数据大小为8mb。在本实施例中,控制电路120能够比对解密后得到的数据的有效数据大小与该预设的文件大小来决定数据填充的多寡,在另一实施例中,数据填充的多寡的信息可以直接包含在说明文件中,则控制电路120可以直接据以进行数据填充而无须进行额外的比较。

在步骤416,控制电路120使用填充后的核心数据来更新电视软件,亦即使用填充后的核心数据来更新闪存150的分区312中所储存的核心数据。在本实施例中,系先将未填充的核心数据进行填充后储存于动态随机存取存储器170,之后才更新至分区312,但是在另一个实施例中,亦可将未填充的核心数据直接更新至分区312后进行填充,亦即直接于更新完核心数据后继续于分区312中进行数据填充直到填满分区312。换言之,步骤414与步骤416的顺序可以调换。

接着,在步骤418中,控制电路418判断更新操作是否结束,若更新操作已经结束,则控制电路120会将闪存150中所储存的更新标签设定为未致能,且流程进入步骤420以重新启动电视;若更新操作尚未结束,则流程重新回到步骤410以自闪存150的分区320所储存的更新映像文件中读取下一笔数据,例如读取加密后的根文件系统数据,并在透过步骤412、414、416来更新图3所示分区314中所储存的根文件系统数据,由于本发明具有通常知识者在阅读过以上的揭露内容之后应能够了解到后续有关于加密的供货商数据354的更新操作,故相关的细节在此不予赘述。此外,虽然在本实施例中,分区318储存的组态数据并不需要被更新,且加密的安全性数据355以及加密的识别数据356并不需要更新至闪存150中,但本发明不限于此,在其他实施例中,分区318储存的组态数据可以被更新,加密的安全性数据355以及加密的识别数据356亦可以视需求更新至闪存150中。

在一实施例中,为了降低动态随机存取存储器170的使用空间,当每一笔数据完成更新之后,该笔数据在动态随机存取存储器170中所储存的内容立即自动态随机存取存储器170中移除。举例来说,当控制电路418使用填充后的核心数据来更新图3所示分区312中所储存的核心数据之后,动态随机存取存储器170中所储存的加密的核心数据、解密后核心数据及/或填充后的核心数据会立即删除,以释放出空间给下一笔数据(亦即,根文件系统数据)使用。

简要归纳本发明,在本发明的应用于电视的软件更新方法,透过在电视端才进行数据填充,即可以在兼顾下载时间及所需要的存储器空间的情形下完成更新映像文件的下载以及更新电视软件的操作,故可以有效地解决先前技术中的问题。

以上所述仅为本发明的较佳实施例,凡依本发明权利要求所做的均等变化与修饰,皆应属本发明的涵盖范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1