专利名称:电子产品的软件升级方法
技术领域:
本发明涉及软件升级技术领域,特别涉及一种电子产品的软件升级方法。
背景技术:
目前很多电子产品,尤其是有带操作系统的智能电子产品,包括电视、平板电脑、 手机等,都经常会涉及到软件升级,而很多时候升级是由用户自己完成而升级的,自动化,易用化却经常被人们所忽视。经常有使用PC机上的专门工具进行升级,并且还要预装一些驱动程序,并且一些智能电子产品经常还会有几个部分的程序,比如说引导程序 (Bootloader)、主程序、设置数据等等。经常每一种升级软件要烧录到不同的存储设备中, 此外还要采用不同的方式,导致一次完整的升级可能会用到好几种升级方法,这些都不适合工厂生产和用户自己升级产品的实践。因此,有必要对软件升级的易用性和功能性进行改善。
发明内容
本发明的发明目的在于提供一种电子产品的软件升级方法,以克服现有技术中存在的问题。具体地,本发明实施例提供的一种电子产品的软件升级方法,其包括步骤检测存储有自动升级脚本的非易失性存储器,并在检测到非易失性存储器后根据非易失性存储器中存储的自动升级脚本的内容确定升级方式;以及在确定升级方式后根据非易失性存储器中存储的升级文件进行软件升级。在本发明实施例中,上述的软件升级方法例如还包括步骤在检测存储有自动升级脚本的非易失性存储器的步骤之前,将非易失性存储器插入处于关机状态下的电子产品的外置存储器接口并使电子产品开机。再者,在确定升级方式后根据非易失性存储器中存储的升级文件进行软件升级的步骤执行完成后,还可包括步骤自电子产品的外置存储器接口移除非易失性存储器并使电子产品重新开机。在本发明实施例中,上述的软件升级方法中,升级方式例如选自引导程序升级与系统升级之一。当确定升级方式为引导程序升级时,根据非易失性存储器中存储的升级文件进行软件升级的步骤可包括检测非易失性存储器的文件系统是否为预设格式(例如 FAT32格式);以及当检测到非易失性存储器的文件系统为预设格式,则依序将存储在非易失性存储器中的升级文件中的引导程序升级文件读入电子产品的内存、检测电子产品的引导程序存储器并擦除引导程序存储器、以及将存储在非易失性存储器中的引导程序升级文件写入到引导程序存储器以实现软件升级。而当确定升级方式为系统升级时,根据非易失性存储器中存储的升级文件进行软件升级的步骤可依序包括将系统恢复程序自上述非易失性存储器或电子产品原有的非易失性存储器读入电子产品的内存供系统升级之用、记录升级文件中的系统恢复程序升级配置脚本中的指令、以及安装升级文件中的系统升级包。 此外,还可以在安装升级文件中的系统升级包后,电子产品重启以利用升级文件中的引导程序环境配置文件进行系统升级后的初始化。在本发明实施例中,上述软件升级方法中的在检测到非易失性存储器后根据非易失性存储器中存储的自动升级脚本的内容确定升级方式的步骤例如包括执行自动升级脚本中的命令行以查找并判断是否存在该命令行中指定的升级用文件,其中该升级用文件决定升级方式。在本发明的实施例中,上述的非易失性存储器例如为闪存卡(例如各种类型的SD 卡、MMC卡等)。其中SD卡为安全数码卡(Secure Digital Memory Card)的简称,MMC卡为多媒体卡(MultiMedia Card)的简称。在本发明上述实施例中,电子产品上电启动后,先检测非易失性存储器及其存储的内容,再根据非易失性存储器卡中的自动升级脚本内容指示选择何种升级方式,并自动实施升级;其主要优点是能够提供一种统一操作的开机自动升级方法,可以根据需要升级的部分进行分别升级,节省时间。如此,可方便对电子产品尤其是对成批电子产品进行统一升级的操作,对操作者来说其相当于一种黑匣子操作,不需要了解非易失性存储器内升级用文件是什么,电子产品哪些程序需要升级,可以方便直接地对产品完成升级过程。上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段, 而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。
图I为本发明实施例的一种电子产品的软件升级方法的流程图。图2为图I所示引导程序升级的一种具体步骤流程图。图3为图I所示系统升级的一种具体步骤流程图。
具体实施例方式为更进一步阐述本发明为达成预定发明目的所采取的技术手段及功效,以下结合附图及较佳实施例,对依据本发明提出的电子产品的软件升级方法其具体实施方式
、方法、步骤及功效,详细说明如后。有关本发明的前述及其他技术内容、特点及功效,在以下配合参考图式的较佳实施例详细说明中将可清楚的呈现。通过具体实施方式
的说明,当可对本发明为达成预定目的所采取的技术手段及功效得以更加深入且具体的了解,然而所附图式仅是提供参考与说明之用,并非用来对本发明加以限制。本发明实施例主要是通过在电子产品上电启动后,先检测非易失性存储器及其存储的内容,再根据非易失性存储器卡中的自动升级脚本内容指示选择何种升级方式,并自动实施升级;其主要优点是能够提供一种统一操作的开机自动升级方法,可以根据需要升级的部分进行分别升级,节省时间。本发明实施例提出的电子产品的自动升级方法可应用于各种便携式智能终端例如平板电脑、手机等,或者其他智能电子产品例如智能电视等。具体地,请参阅图1,其为本发明实施例的一种电子产品的软件升级方法的流程图。在图I中,首先如步骤Sll所述将存储有自动升级脚本及升级文件的非易失性存储器插入关机的电子产品的外置存储器接口 ;其中,非易失性存储器例如为闪存卡,其是利用闪存(Flash Memory)技术达到存储电子信息的存储器,断电后数据也不会丢失,例如为各种类型的SD卡、MMC卡等。相应地,外置存储器接口例如为SD卡槽等。在步骤Sll之后,如步骤S12所述使电子产品开机,如此电子产品可以上电启动以检测插入其外置存储器接口的非易失性存储器并可执行存储在非易失性存储器中的自动升级脚本。接着,如步骤S13所述根据自动升级脚本确定何种升级方式以进行软件升级。可以理解的是,不同内容的自动升级脚本会代表不同的升级方式,例如在执行自动升级脚本后,会确定后续升级方式为引导程序(Bootloader)升级或者是系统升级,如果确定后续升级方式为引导程序升级,则执行步骤S14a,如果确定后续升级方式为系统升级,则相应地执行步骤S14b。其中,步骤S14a及步骤S14b的具体步骤将结合图2及图3在后续进行详细说明。另外,需要说明的是本实施例中的自动升级脚本例如是一段包含多个命令行的程序代码,用来判断找到哪种升级用文件,即后续用哪种升级方式进行自动升级;而非易失性存储器中存储有哪种自动升级脚本等升级用文件则可由电子产品厂商或者售后服务人员或者用户实现拷贝到非易失性存储器中,这些升级用文件是由厂商根据对电子产品的升级换代改进而给出的,有可能在非易失性存储器中仅存储一种升级用文件(引导程序升级用文件或系统升级用文件),也有可能两种升级用文件均存在,这时即进行引导程序升级也进行系统程序升级,此时只需将引导程序升级也进行系统程序升级做优先权设定即可。之后,如步骤S15所述电子产品升级完成后,则通常电子产品会自动关机。使用者可以如步骤S17所示移除易失性存储器,也即断开非易失性存储器与电子产品的外置存储器接口之间的连接。最后,如步骤S18所述电子产品开机。在此需要说明的是,电子产品开机可以是在升级完成并关机后的自动开机,或者是使用者触发电子产品的电源按钮来使电子产品开机。请参阅图2,其为图I所示引导程序升级的一种具体步骤流程图。在图2中,当电子产品检测非易失性存储器并执行非易失性存储器中存储的自动升级脚本后确定后续升级方式为引导程序升级,则依序执行以下步骤S141、S143、S145及S147。首先,检测非易失性存储器中的文件系统是否为预设格式(步骤S141);当检测到非易失性存储器的文件系统为预设格式,则将存储在非易失性存储器中的升级文件中的引导程序升级文件读入电子产品的内存(步骤S143);之后,则检测电子产品的引导程序存储器并擦除引导程序存储器 (步骤S145),并将存储在非易失性存储器中的引导程序升级文件写入到电子产品的引导程序存储器(S147)以实现电子产品的引导程序升级。下面将以非易失性存储器为SD卡为列说明引导程序升级的一种实例以便于理解,但本发明并不以此为限。在此,对引导程序进行升级实际上是对引导程序环境变量的升级,引导程序升级过程无屏幕提示信息,启动例如会增加40秒,电子产品的系统会正常启动,而引导程序的升级则是在下一次开机生效。具体地,首先准备好引导程序升级用自动升级脚本及升级文件并存储至SD卡内;在此,自动升级脚本例如是文件aml_autoscript,升级文件例如是引导程序升级文件M280-u-boot. bin,且引导程序升级文件的内容包括引导程序环境变量。当SD卡插入电子产品的SD卡槽内,电子产品上电启动后会检测SD卡内的自动升级脚本aml_autoscript并执行自动升级脚本aml_autoscript中的命令行以查找并判断SD卡内是否存在命令行中指定的升级用文件例如引导程序升级文件M280-u-boot. bin,如果能找到引导程序升级文件M280-u-boot. bin,则确定后续升级方式为引导程序升级。之后,当电子产品检测SD卡的文件系统是FAT32格式(预设格式的一种举例)且SD卡内存储有引导程序升级文件M280-u_boot. bin,则通过串口输出信息“Update uboot from SD card”,将SD卡存储的引导程序升级文件M280-u-boot. bin读取到电子产品的物理内存 0x82000000。之后,电子产品探测其串行闪存(SPI Flash,一种引导程序存储器)并擦除串行闪存从O开始的长度为0x40000的区域。最后,将从内存地址0x82000000开始、长度为0X3e000的引导程序升级文件中的数据写到串行闪存从地址O开始的位置,并输出信息 “Update end”。另一方面,如果在SD卡内未找到引导程序升级文件M280-u_boot. bin,则通过串口输出信息“No found M280-u-boot.bin”。请参阅图3,其为图I所示系统升级的一种具体步骤流程图。在图3中,当电子产品检测非易失性存储器并执行非易失性存储器中存储的自动升级脚本后确定升级方式为系统升级,则大致依序执行以下步骤S142、S144及S147。首先,电子产品将系统恢复程序自非易失性存储器或电子产品原有的非易失性存储器读入电子产品的内存供系统升级之用 (步骤S142);之后,电子产品记录升级文件中的系统恢复程序升级配置脚本中的指令(步骤S144),并安装升级文件中的系统升级包(步骤S146),进而实现系统升级。下面将以非易失性存储器为SD卡为列说明系统升级的一种实例以便于理解,但本发明并不以此为限。首先准备好引导程序升级用自动升级脚本及升级文件并存储至SD 卡内;在此,自动升级脚本例如是文件aml_autoscript,升级文件例如包括系统恢复程序升级配置脚本factory_update_param. ami、系统升级包M280_update. zip及引导程序环境配置文件M280-u-boot_env. bin. vl。其中,系统恢复程序升级配置脚本factory_update_ param. ami里面可以修改系统升级包的名称。当SD卡插入电子产品的SD卡槽内,电子产品上电后会检测SD卡内的自动升级脚本aml_autoscript并执行自动升级脚本aml_autoscript中的命令行以查找并判断SD 卡内或电子产品原有的非易失性存储器内是否存在命令行中指定的升级用文件例如系统恢复程序M280_recovery,如果能找到系统恢复程序M280_recovery,则确定后续升级方式为系统升级。之后,如果检测到插入SD卡槽内的SD卡存储有系统恢复程序M280_ recovery并且是FAT32格式,则从SD卡将系统恢复程序M280_recovery载入到内存地址 0x82000000。如果在插入SD卡槽内的SD卡中没有检测到系统恢复程序M280_recovery, 列出电子产品原有的非易失性存储器的列表信息,并从原有的非易失性存储器之一的起始地址为0x4000000、大小为4000000的区域载入系统内核程序到内存起始地址0x82000000 中,从内存地址0x82000000引导操作系统内核,也就是自动升级脚本aml_autoscript会把系统恢复程序M280_recovery作为虚拟磁盘读取到内存。之后,系统恢复程序M280_recovery会先把系统恢复程序升级配置脚本factory_ update_param. ami里面的指令例如写到/cache/recovery目录下名为command的文件里面;然后就开始安装系统升级包M280_update. zip 了。最后,在安装完成系统升级包M280_ update, zip后,电子产品的系统重启会用到引导程序环境配置文件M280-u-boot_env. bin. vl,来进行系统升级后的初始化。由上述实施例可知本发明实施例提供的一种电子产品自动升级方法,可根据电子产品需要实现自动升级,方便了对电子产品尤其是对成批电子产品进行统一升级的操作,不但对于售后服务人员而且对于用户来说,相当于一种黑匣子操作,不需要了解非易失性存储器内升级用文件是什么,电子产品哪些程序需要升级,可以方便直接的对产品完成升级过程。 以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
权利要求
1.一种电子产品的软件升级方法,其特征在于包括步骤检测存储有自动升级脚本的非易失性存储器,并在检测到该非易失性存储器后根据该非易失性存储器中存储的该自动升级脚本的内容确定升级方式;以及在确定升级方式后根据该非易失性存储器中存储的升级文件进行软件升级。
2.如权利要求I所述的电子产品的软件升级方法,其特征在于,在检测存储有自动升级脚本的非易失性存储器的步骤之前,更包括步骤将该非易失性存储器插入处于关机状态下的该电子产品的外置存储器接口,并使该电子产品开机。
3.如权利要求2所述的电子产品的软件升级方法,其特征在于,在确定升级方式后根据该非易失性存储器中存储的升级文件进行软件升级的步骤执行完成后,更包括步骤自该电子产品的该外置存储器接口移除该非易失性存储器,并使该电子产品重新开机。
4.如权利要求I所述的电子产品的软件升级方法,其特征在于,该升级方式选自引导程序升级与系统升级之一。
5.如权利要求4所述的电子产品的软件升级方法,其特征在于,当确定该升级方式为引导程序升级时,根据该非易失性存储器中存储的该升级文件进行软件升级的步骤包括检测该非易失性存储器的文件系统是否为预设格式;以及当检测到该非易失性存储器的文件系统为预设格式将存储在该非易失性存储器中的该升级文件中的引导程序升级文件读入该电子产品的内存;检测该电子产品的弓I导程序存储器并擦除该引导程序存储器;以及将存储在该非易失性存储器中的该引导程序升级文件写入到该引导程序存储器以实现软件升级。
6.如权利要求5所述的电子产品的软件升级方法,其特征在于,该预设格式为FAT32格式。
7.如权利要求4所述的电子产品的软件升级方法,其特征在于,当确定该升级方式为系统升级时,根据该非易失性存储器中存储的该升级文件进行软件升级的步骤依序包括将系统恢复程序自该非易失性存储器或该电子产品原有的非易失性存储器读入该电子产品的内存供系统升级之用;记录该升级文件中的系统恢复程序升级配置脚本中的指令;以及安装该升级文件中的系统升级包。
8.如权利要求7所述的电子产品的软件升级方法,其特征在于,在安装该升级文件中的系统升级包的步骤之后,还包括步骤该电子产品重启后利用该升级文件中的引导程序环境配置文件进行系统升级后的初始化。
9.如权利要求I所述的电子产品的软件升级方法,其特征在于,在检测到该非易失性存储器后根据该非易失性存储器中存储的该自动升级脚本的内容确定升级方式的步骤包括执行该自动升级脚本中的命令行以查找并判断是否存在该命令行中指定的升级用文件,其中该升级用文件决定该升级方式。
10.如权利要求I所述的电子产品的软件升级方法,其特征在于,该非易失性存储器为闪存卡。
全文摘要
本发明涉及一种电子产品的软件升级方法,其包括步骤检测存储有自动升级脚本的非易失性存储器,并在检测到非易失性存储器后根据非易失性存储器中存储的自动升级脚本的内容确定升级方式;以及在确定升级方式后根据非易失性存储器中存储的升级文件进行软件升级。本发明通过在电子产品上电启动后,先检测非易失性存储器及其存储的内容,再根据非易失性存储器卡中的自动升级脚本内容指示选择何种升级方式,并自动实施升级;其主要优点是能够提供一种统一操作的开机自动升级方法,可以根据需要升级的部分进行分别升级,节省时间。
文档编号G06F9/445GK102609290SQ201210035839
公开日2012年7月25日 申请日期2012年2月17日 优先权日2012年2月17日
发明者李文安, 毕强 申请人:青岛海信电器股份有限公司