固件强制升级的系统及其固件的强制升级方法

文档序号:6333073阅读:571来源:国知局

专利名称::固件强制升级的系统及其固件的强制升级方法
技术领域
:本发明涉及一种系统,特别是涉及一种固件强制升级的系统及其固件的强制升级方法。
背景技术
:固件(Firmware)是存储在可擦除只读存储器(EraseableReadOnlyMemory,简称ER0M)或可擦除可编程只读存储器(ErasableProgrammableReadOnlyMemory,简称EPR0M)中的程序,通俗的理解就是“固化的软件”。固件担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。对于独立可操作的电子产品,固件一般指它的操作系统(“担任着一个数码产品最基础、最底层工作的软件才可以称之为固件”,这和操作系统的定义很一致)。比如日本SONY开发的多功能掌机(PlayStationPortable,简称PSP)的固件,就是指PSP的操作系统;同理,IPHONE的固件也是其操作系统;路由器的固件就是路由器的操作系统;MP4的固件就是MP4的操作系统。固件升级,有时也称固件刷新,刷写,重写,烧录或刷机,是指把新的固件写入可擦除可编程只读存储器中,代替原有的固件的过程。片上系统(SystemonaChip,简称S0C)是指在一个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行集成的技术,用于特定目的的单片集成电路。所谓完整的系统一般包括中央处理器(CentralProcessingUnit,简称CPU),具有静止存取功能的内存(StaticRAM,简称SRAM),多媒体处理器和必要的接口控制器等。片上系统(SOC)由于集成了大量的控制器,芯片面积小,加上必要的内存,显示设备,输入设备,就可成为一个消费类电子产品,如移动电话,移动上网设备,MP4,MP3和高清播放器等。片上系统的固件一般存储于外部的存储介质上,如NORFlash存储器件,NANDFlash存储器件等。片上系统(SOC)的固件存放于外部非易失性存储器中。片上系统有一片上存储空间事先固化了特定的代码称为启动模块(BootModule)。当系统上电时,中央处理器会执行这片启动模块(BootModule),启动模块(BootModule)会从外部非易失性存储器中读入固件并将其执行以完成该电子设备的操作。如果外部非易失性存储器中无固件,特定的启动模块(BootModule)会引导系统从其它方式来进行生产或升级,如通用串行总线USB生产方式和存储卡生产方式。存储于外部非易失性存储器中的固件,如果有损坏,则整个系统不能正常操作,有可能连任何显示信息都不可见,俗称掉码。这种情况主要由以下几种原因产生一种是原始固件不完善,存在错误,在特定操作下,固件代码被修改;另一种是用户在电子设备上安装应用程序,此应用程序不完善,在特定的情况下此应用程序修改了固件区代码,造成固件区损坏;另一种是用户升级固件时,异常掉电造成升级过程不完整,下次重新上电时,不能正常启动和操作。由于固件区代码损害或不完整,该电子设备在上电后进入了不确定状态,不能与外部设备进行通信,如不能用个人电脑通过通用串行总线(UniversalSerialBus,简称USB)访问该电子设备或用该电子设备访问外部的存储卡。此时用户不能通过个人电脑或外部的存储卡重新对该电子设备进行升级以恢复被损害或不完整的固件。用户只能将该电子设备返回给工厂或送到特定的维修点,专业维修人员打开电子设备重新进行升级。等维修完毕,才能返回给用户。
发明内容本发明的目的在于提供一种固件强制升级的系统,使普通用户在包括该系统的电子设备的固件损坏或不完整的情况下能自行强制升级固件而不必拿到维修点或返回工厂进行重新升级。上述目的通过下述技术方案实现一种固件强制升级的系统,其特征在于包括运行单元和信息接入端;所述运行单元包括中央处理器和只读内存,所述只读内存包括启动模块;所述启动模块与信息接入端连接;所述启动模块用于识别通过信息接入端输入的外部信息,进而确定所述运行单元将进入的不同工作模式。上述目的还可以通过下述技术方案进一步完善。固件强制升级的系统还包括外部信息源,所述外部信息源输出的外部信息输入到信息接入端;所述外部信息源输出的外部信息包括两种,分别是外部信息一和外部信息--;所述运行单元的工作模式包括两种工作模式,分别是正常启动模式和升级模式;所述外部信息源输出的两种外部信息与所述运行单元的两种工作模式对应所述启动模块识别出所述外部信息源输出的是外部信息一时,所述启动模块确定所述运行单元将进入正常启动模式;所述启动模块识别出所述外部信息源输出的是外部信息二时,所述启动模块确定所述运行单元将进入升级模式。本发明还提供一种固件强制升级的系统固件的强制升级方法,其特征在于所述固件强制升级的系统包括运行单元,非易失性存储器,信息接入端和外部信息源,所述运行单元与所述非易失性存储器连接;所述运行单元包括中央处理器和只读内存,所述只读内存包括启动模块,所述外部信息源通过信息接入端与所述启动模块连接;所述固件强制升级的系统还包括存储于非易失性存储器中的固件;所述外部信息源输出的外部信息输入到信息接入端;所述外部信息源输出的外部信息包括两种,分别是外部信息一和外部信息二;所述启动模块用于识别所述外部信息;用于引导所述运行单元正常启动,运行所述固件;还用于引导所述运行单元进行固件升级;所述运行单元的工作模式包括两种工作模式,分别是正常启动模式和升级模式;所述外部信息的两种外部信息与所述运行单元的两种工作模式对应将所述外部信息源输出是外部信息一,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息一,确定所述运行单元将进入正常启动模式所述启动模块引导所述运行单元正常启动,运行所述固件;将所述外部信息源输出是外部信息二,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述运行单元将进入升级模式所述启动模块引导所述运行单元进行固件升级。上述目的还可以通过下述技术方案进一步完善。所述固件强制升级的系统固件的强制升级方法,包括如下步骤设置所述外部信息源输出是外部信息二,并将所述运行单元上电。所述固件强制升级的系统在所述启动模块引导所述运行单元正常启动,运行所述固件时,所述固件错误或不完整导致所述运行单元进入正常启动模式却无法正常启动时;所述固件强制升级的系统固件的强制升级方法,按照如下步骤进行将所述运行单元断电,并设置所述外部信息源输出是外部信息二;将所述运行单元上电。本发明的有益效果是当固件被损害或固件不完整时,能使普通用户很方便地重新升级固件,而无需返回工厂或拿到特定的维修点进行维修,大大减少了普通用户维修该电子设备的时间,同时降低了厂家和用户的维修成本。图1是现有技术的片上系统启动过程的示意图;图2是本发明的固件强制升级的系统的一个实施例的结构示意图;图3是实现本发明的固件强制升级的系统固件的强制升级方法的流程图;图4是本发明的固件强制升级的系统的另一个实施例的结构示意图。具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明固件强制升级的系统及其固件的强制升级方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。现有技术的片上系统包括固化在片上系统内部的中央处理器(CPU)和只读内存(Read-OnlyMemory,简称ROM),位于片上系统外部的非易失性存储器;其中,只读内存中固化有启动模块(BootModule),启动模块是事先设计好且后期是无法修改的。片上系统还包括固件,固件存储于片上系统外部的非易失性存储器中,包括引导模块和其他模块。如图1所示,现有技术中片上系统启动过程如下当现有技术中的片上系统上电后,步骤1启动模块会运行起来,即启动模块会被中央处理器装载到其内部的随机存取存储器(randomaccessmemory简称RAM)中进行运行;步骤2:运行的启动模块会读取固件的引导模块并对引导模块进行检查,该检查规则是事先设计好的;可以通过事先设计好的规则进行检查;步骤3如果对引导模块的检查结果正确,说明是合法的引导模块,中央处理器执行这个引导模块,把其它代码一步步装载进来,完成该片上系统的启动,即片上系统正常启动;如果检查结果错误,说明引导模块错误或是未升级过的系统,启动模块会引导到通用串行总线(USB)进行升级。这时用户可通过带有通用串行总线(USB)接口的个人电脑与片上系统进行通信,进而利用厂家提供的软件和工具对包括片上系统进行升级。即在固件的引导模块和其他模块都合法、完整时,片上系统正常启动;在固件中的引导模块错误或是未升级过的系统,对包括该片上系统的电子设备进行升级。还有一种情况固件的引导模块合法,但是固件有损坏或不完整(即固件的其他模块有损坏或不完整);片上系统既不正常启动,也不升级;即片上系统无法知道当前的状态,进而片上系统会进入到一个不确定的状态。用户无法对包括该片上系统的电子设备进行正确操作,此时用户不能通过个人电脑或外部的存储卡重新对包括该片上系统的电子设备进行升级以恢复被损害或不完整的固件。用户只能将该包括该片上系统的电子设备返回给工厂或送到特定的维修点,专业维修人员打开包括该片上系统的电子设备重新进行升级。等维修完毕,才能返回给用户。本发明的固件强制升级的系统解决这种固件中的引导模块合法,其他模块有损坏或不完整(系统进入到一个不确定的状态)的情况下,现有技术中用户无法通过个人电脑或外部的存储卡重新对该包括该系统的电子设备进行升级以恢复被损害或不完整的固件的问题。实施例一本发明的固件强制升级的系统,包括运行单元,非易失性存储器,信息接入端和外部信息源,所述运行单元与所述非易失性存储器连接;所述运行单元包括中央处理器和只读内存,所述只读内存包括启动模块,所述外部信息源通过信息接入端与所述启动模块连接;所述固件强制升级的系统还包括存储于非易失性存储器中的固件;所述外部信息源输出的外部信息输入到信息接入端;所述外部信息源输出的外部信息包括两种,分别是外部信息一和外部信息二;所述启动模块用于识别所述外部信息;用于引导所述运行单元正常启动,运行所述固件;还用于引导所述运行单元进行固件升级;所述运行单元的工作模式包括两种工作模式,分别是正常启动模式和升级模式;所述外部信息的两种外部信息与所述运行单元的两种工作模式对应将所述外部信息源输出是外部信息一,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息一,确定所述运行单元将进入正常启动模式所述启动模块引导所述运行单元正常启动,运行所述固件;将所述外部信息源输出是外部信息二,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述运行单元将进入升级模式所述启动模块引导所述运行单元进行固件升级。实施例二如图2所示,本实施例与实施例一的固件强制升级的系统的区别在于在本实施例中运行单元采用片上系统(SystemonaChip,简称S0C),中央处理器(CPU)和只读内存(Read-OnlyMemory,简称ROM)固化在片上系统内部;其他与实施例一中相同。下面具体说明本实施例的固件强制升级的系统的工作过程。在所述外部信息源输出是外部信息一,并将所述片上系统上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息一,确定所述片上系统将进入正常启动模式所述启动模块引导所述片上系统正常启动,运行所述固件。此时,可能出现两种情况情况1在所述启动模块引导所述片上系统正常启动,运行所述固件时,所述固件正确,所述片上系统进入正常启动模式且正常启动。情况2在所述启动模块引导所述片上系统正常启动,运行所述固件时,所述固件错误或不完整导致所述片上系统进入正常启动模式却无法正常启动;此时需要对固件进行强制升级,步骤如下将所述片上系统断电,并设置所述外部信息源输出是外部信息二;将所述片上系统上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述片上系统将进入升级模式所述启动模块引导所述片上系统进行固件升级。在实际应用固件强制升级的系统时,如果需要对固件强制升级的系统的固件进行升级(即固件强制升级的系统固件的强制升级方法),按照如下步骤进行如图3所示;设置所述外部信息源输出是外部信息二,并将所述片上系统上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述片上系统将进入升级模式所述启动模块引导所述片上系统进行固件升级。现有技术中,片上系统如果要升级成功,需要固件的引导模块和其他模块都合法完整才能实现。对于本发明的固件强制升级的系统而言,只要需要对其进行固件升级,可以直接通过改变所述信息源输出来实现,完全可以不考虑固件是否合法和完整。因此,在本发明的固件强制升级的系统的固件出现任何问题后,都可以通过改变所述信息源输出来实现固件升级。本发明的固件强制升级的系统的固件被损害或不完整时,无需返回工厂或拿到特定的维修点进行维修,普通用户很方便地重新对固件升级;大大减少了普通用户维修该电子设备的时间,同时降低了厂家和用户的维修成本。如果需要正常启动固件强制升级的系统,按照如下步骤进行如图3所示;设置所述外部信息源输出是外部信息一,并将所述片上系统上电。所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息一,确定所述片上系统将进入正常启动模式所述启动模块引导所述片上系统正常启动,运行所述固件。所述固件强制升级的系统在所述启动模块引导所述片上系统正常启动,运行所述固件,但所述固件错误或不完整导致所述片上系统进入正常启动模式却无法正常启动时;需要对固件强制升级的系统固件进行强制升级(即固件强制升级的系统固件的强制升级方法),按照如下步骤进行将所述片上系统断电,并设置所述外部信息源输出是外部信息二;将所述片上系统上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述片上系统将进入升级模式所述启动模块引导所述片上系统进行固件升级。作为一种可实施的方式,所述信息接入端是引脚,所述外部信息源输出的两种外部信息是人为控制的高电平或低电平,所述启动模块用于识别高低电平。如图2所示,该引脚通过一个按键与一个上拉电阻与高电平相连,同时引脚与电源地相连,电源地为低电平。平常状态该按键处于断开状态,该引脚为低电平。只有该按键被按下时,该引脚与高电平连通,该引脚为高电平。约定引脚的低电平,片上系统将进入正常启动模式;则引脚的高电平,片上系统将进入升级模式。当用户需升级固件时,首先先让包括固件强制升级的系统的电子设备处于断电状态。一直按下该按键,随后给包括固件强制升级的系统的电子设备上电。当电子设备上电后,所述启动模块由中央处理器装载运行;启动模块检查该引脚状态。引脚的状态为高电平,确定片上系统将进入升级模式,通过有通用串行总线(USB)接口的个人电脑或外部的存储卡给该电子设备的固件进行升级。只有在该电子设备刚开始上电时,才会检查该引脚的状态。因此在包括固件强制升级的系统的电子设备上电时,不按下该按键,电子设备可进行正常启动;当该电子设备正常启动后,按不按该按键,都不会影响该电子设备的正常操作。一般情况下,电子设备都有外部的存储卡插槽用来插入外部存储卡来扩充其容量。例如有安全数码卡/多媒体(SecureDigitalMemory/MultiMediaCard,简称SD/MMC)存储卡,记忆棒/记忆长棒(MemoryStick/MemoryStickPro,简称MS/MSpro)存储卡,)(D-PICTURE(简称)(D)卡等。这些存储卡可以用来存储用户数据。作为一种可实施的方式,如图4所示,所述外部信息接入端是外部存储卡插槽,所述外部信息源输出的两种外部信息是外部存储卡存有特定数据或不存有特定数据,写入的特定数据来确定片上系统将进入的工作模式。可事先在外部存储卡上写入特定的数据,以表明当电子设备上电后,需进行固件升级。具体操作过程如下可用厂家提供的个人计算机(PersonalComputer,简称PC)工具,事先在外部存储卡上写入特定的数据。把包括片上系统的电子设备断电,把事先准备好的外部存储卡插入该电子设备。当包括固件强制升级的系统的电子设备上电后,所述启动模块由中央处理器装载运行;启动模块检查外部存储卡上是否有特定的数据。这个特定数据是事先约定好的特定格式,启动模块能识别出是否为特定数据或用户数据。如果识别出是特定的数据,片上系统知道需升级固件,否则进行正常的启动。如果需升级固件,可通过两种方式进行,如果存储卡上有固件,可直接把存储卡的固件更新到电子设备的非易失性存储器中。如果存储卡上无固件,可通过带有通用串行总线(USB)接口的个人电脑对该包括片上系统的电子设备进行固件升级。最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。权利要求1.一种固件强制升级的系统,其特征在于包括运行单元和信息接入端;所述运行单元包括中央处理器和只读内存,所述只读内存包括启动模块;所述启动模块与信息接入端连接;所述启动模块用于识别通过信息接入端输入的外部信息,进而确定所述运行单元将进入的不同工作模式。2.根据权利要求1所述的固件强制升级的系统,其特征在于还包括外部信息源,所述外部信息源输出的外部信息输入到信息接入端;所述外部信息源输出的外部信息包括两种,分别是外部信息一和外部信息二;所述运行单元的工作模式包括两种工作模式,分别是正常启动模式和升级模式;所述外部信息源输出的两种外部信息与所述运行单元的两种工作模式对应所述启动模块识别出所述外部信息源输出的是外部信息一时,所述启动模块确定所述运行单元将进入正常启动模式;所述启动模块识别出所述外部信息源输出的是外部信息二时,所述启动模块确定所述运行单元将进入升级模式。3.根据权利要求2所述的固件强制升级的系统,其特征在于还包括非易失性存储器,所述非易失性存储器存储有固件;所述非易失性存储器与所述运行单元连接;所述启动模块还用于引导所述运行单元正常启动,运行所述固件;设置外部信息源输出的是外部信息一,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出的是外部信息一,确定所述运行单元将进入正常启动模式所述启动模块引导所述运行单元正常启动,运行所述固件。4.根据权利要求2所述的固件强制升级的系统,其特征在于还包括非易失性存储器,所述非易失性存储器存储有固件;所述非易失性存储器与所述运行单元连接;所述启动模块还用于引导所述运行单元进行固件升级;设置外部信息源输出的是外部信息二,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出的是外部信息二,确定所述运行单元将进入升级模式所述启动模块引导所述运行单元进行固件升级。5.根据权利要求4所述的固件强制升级的系统,其特征在于所述启动模块引导所述运行单元进行固件升级包括引导到通用串行总线USB进行固件升级或引导到外部的存储卡进行固件升级。6.根据权利要求3所述的固件强制升级的系统,其特征在于在所述启动模块引导所述运行单元正常启动,运行所述固件时,所述固件错误或不完整导致所述运行单元进入正常启动模式却无法正常启动时;将所述运行单元断电,并通过外力使所述外部信息源输出设置为外部信息二;并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述运行单元将进入升级模式所述启动模块引导所述运行单元进行固件升级。7.根据权利要求2所述的固件强制升级的系统,其特征在于所述信息接入端是引脚,所述外部信息源输出的两种外部信息是人为控制的高电平或低电平,所述启动模块用于识别高低电平。8.根据权利要求2所述的固件强制升级的系统,其特征在于所述信息接入端是外部存储卡插槽,所述外部信息源输出的两种外部信息是外部存储卡存有特定数据或不存有特定数据,所述启动模块用于识别外部存储卡是否存有所述特定数据。9.根据权利要求1所述的固件强制升级的系统,其特征在于所述运行单元是片上系统,所述中央处理器和只读内存固化在所述片上系统内部。10.一种固件强制升级的系统固件的强制升级方法,其特征在于所述固件强制升级的系统包括运行单元,非易失性存储器,信息接入端和外部信息源,所述运行单元与所述非易失性存储器连接;所述运行单元包括中央处理器和只读内存,所述只读内存包括启动模块,所述外部信息源通过信息接入端与所述启动模块连接;所述固件强制升级的系统还包括存储于非易失性存储器中的固件;所述外部信息源输出的外部信息输入到信息接入端;所述外部信息源输出的外部信息包括两种,分别是外部信息一和外部信息二;所述启动模块用于识别所述外部信息;用于引导所述运行单元正常启动,运行所述固件;还用于引导所述运行单元进行固件升级;所述运行单元的工作模式包括两种工作模式,分别是正常启动模式和升级模式;所述外部信息的两种外部信息与所述运行单元的两种工作模式对应将所述外部信息源输出是外部信息一,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息一,确定所述运行单元将进入正常启动模式所述启动模块引导所述运行单元正常启动,运行所述固件;将所述外部信息源输出是外部信息二,并将所述运行单元上电;所述启动模块由中央处理器装载运行;所述运行的启动模块识别出所述外部信息源输出是外部信息二,确定所述运行单元将进入升级模式所述启动模块引导所述运行单元进行固件升级。11.根据权利要求10所述的强制升级方法,其特征在于,所述固件强制升级的系统固件的强制升级方法,包括如下步骤设置所述外部信息源输出是外部信息二,并将所述运行单元上电。12.根据权利要求10或11所述的强制升级方法,其特征在于所述固件强制升级的系统在所述启动模块引导所述运行单元正常启动,运行所述固件时,所述固件错误或不完整导致所述运行单元进入正常启动模式却无法正常启动时;所述固件强制升级的系统固件的强制升级方法,按照如下步骤进行将所述运行单元断电,并设置所述外部信息源输出是外部信息二;将所述运行单元上电。全文摘要本发明公开了一种固件强制升级的系统及其强制升级方法,所述固件强制升级的系统包括运行单元和信息接入端;所述运行单元包括中央处理器和只读内存,所述只读内存包括启动模块;所述启动模块与信息接入端连接;所述启动模块用于识别通过信息接入端输入的外部信息,进而确定所述运行单元将进入的不同工作模式。所述外部信息是外部信息一时,所述运行单元将进入正常启动模式;所述外部信息是外部信息二时,所述运行单元将进入升级模式。本发明使普通用户在包括该系统的电子设备的固件损坏或不完整的情况下能自行强制升级固件而不必拿到维修点或返回工厂进行重新升级。文档编号G06F9/445GK102446101SQ20101029813公开日2012年5月9日申请日期2010年9月30日优先权日2010年9月30日发明者邢涛,黄官立申请人:珠海全志科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1