著录项信息
专利名称 | 电子设备系统启动方法和电子设备 |
申请号 | CN201410362377.1 | 申请日期 | 2014-07-25 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2014-11-26 | 公开/公告号 | CN104166561A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F9/445 | IPC分类号 | G;0;6;F;9;/;4;4;5查看分类表>
|
申请人 | 深圳市江波龙电子有限公司 | 申请人地址 | 广东省深圳市南山区高新技术产业园区科发8号金融基地1栋5楼E、F
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 深圳市大迈科技有限公司 | 当前权利人 | 深圳市大迈科技有限公司 |
发明人 | 姜虎;许吉明 |
代理机构 | 广州华进联合专利商标代理有限公司 | 代理人 | 胡海斌 |
摘要
本发明提供了一种电子设备系统启动方法,所述方法包括:运行引导程序,并通过所述引导程序从电子设备的存储介质获取启动状态标志位信息;根据所述启动状态标志位信息判断前一次启动电子设备系统是否成功;若是,则通过所述引导程序置所述启动状态标志位信息为初始值,从所述存储介质启动电子设备系统并根据本次启动结果修改所述启动状态标志位信息;若否,则从所述存储介质启动电子设备备份系统。本发明提供的电子设备系统启动方法可以保证即使电子设备系统损坏也能够进入备份系统而正常工作。本发明还提供了一种电子设备。
1.一种电子设备系统启动方法,所述方法包括:
运行引导程序,并通过所述引导程序从电子设备的存储介质获取启动状态标志位信息;
根据所述启动状态标志位信息判断前一次启动电子设备系统是否成功;
若是,则通过所述引导程序置所述启动状态标志位信息为初始值,启动电子设备系统的内核,当启动内核成功时修改启动状态标志位信息为第一预设标志信息;启动内核成功后,继续加载电子设备系统的文件系统,当加载文件系统成功时,则将启动状态标志位信息从第一预设标志信息修改为第二预设标志信息;
若否,则从所述存储介质启动电子设备备份系统。
2.根据权利要求1所述的方法,其特征在于,当启动所述电子设备系统成功时,自动或者响应于接收到的固件升级请求而获取升级固件,并根据所述升级固件对所述电子设备系统进行固件升级;
或者,
当启动所述电子设备备份系统后,自动或者响应于接收到的固件升级请求而获取升级固件,并根据所述升级固件对所述电子设备系统进行固件升级。
3.根据权利要求2所述的方法,其特征在于,所述自动或者响应于接收到的固件升级请求而获取升级固件,包括:
响应于接收到的固件升级请求,获取通过网页上传的升级固件;或者,
自动或者响应于接收到的固件升级请求,获取所述存储介质中的备份固件作为升级固件;或者,
自动或者响应于接收到的固件升级请求,从与所述电子设备连接的外接存储设备获取升级固件。
4.一种电子设备,其特征在于,包括:
引导模块,用于运行引导程序,并通过所述引导程序从电子设备的存储介质获取启动状态标志位信息;
判断模块,用于根据所述启动状态标志位信息判断前一次启动电子设备系统是否成功;
第一判断结果处理模块,用于若判定前一次启动电子设备系统成功,则通过所述引导程序置所述启动状态标志位信息为初始值,启动电子设备系统的内核,当启动内核成功时修改启动状态标志位信息为第一预设标志信息;启动内核成功后,继续加载电子设备系统的文件系统,当加载文件系统成功时,则将启动状态标志位信息从第一预设标志信息修改为第二预设标志信息;
第二判断结果处理模块,用于若判定前一次启动电子设备系统失败,则从所述存储介质启动电子设备备份系统。
5.根据权利要求4所述的电子设备,其特征在于,还包括固件升级模块;
所述固件升级模块用于当启动所述电子设备系统成功时,自动或者响应于接收到的固件升级请求而获取升级固件,并根据所述升级固件对所述电子设备系统进行固件升级;
或者,
所述固件升级模块用于当启动所述电子设备备份系统后,自动或者响应于接收到的固件升级请求而获取升级固件,并根据所述升级固件对所述电子设备系统进行固件升级。
6.根据权利要求5所述的电子设备,其特征在于,所述固件升级模块还用于响应于接收到的固件升级请求,获取通过网页上传的升级固件;或者,所述固件升级模块还用于自动或者响应于接收到的固件升级请求,获取所述存储介质中的备份固件作为升级固件;或者,所述固件升级模块还用于自动或者响应于接收到的固件升级请求,从与所述电子设备连接的外接存储设备获取升级固件。
电子设备系统启动方法和电子设备\n技术领域\n[0001] 本发明涉及电子设备技术领域,特别是涉及一种电子设备系统启动方法和电子设备。\n背景技术\n[0002] 传统的电子设备,比如路由器,其应用越来越丰富,很多用户会主动采用固件升级的方式来升级电子设备系统,从而让电子设备的功能更全面,性能更稳定。然而,采用固件升级的方式升级电子设备系统时,往往会因为供电不稳定、断电或者是其它非法内存操作等因素而导致电子设备系统被破坏,使得电子设备不能够正常使用。\n[0003] 当电子设备系统被破坏后,通常需要返厂维修。当然对于设置有网络接口的路由器来说,用户可以使用计算机有线连接路由器,通过计算机有线设置静态IP(Internet Protocol,互联网协议)地址来对路由器进行固件升级,但该方法的便捷性不强,需要用户具备一定的计算机使用技能;况且并非所有电子设备都设置有网络接口,该方法通用性不强。\n发明内容\n[0004] 基于此,有必要针对目前电子设备会因电子设备系统被破坏而无法使用的问题,提供一种电子设备系统启动方法和电子设备。\n[0005] 一种电子设备系统启动方法,所述方法包括:\n[0006] 运行引导程序,并通过所述引导程序从电子设备的存储介质获取启动状态标志位信息;\n[0007] 根据所述启动状态标志位信息判断前一次启动电子设备系统是否成功;\n[0008] 若是,则通过所述引导程序置所述启动状态标志位信息为初始值,从所述存储介质启动电子设备系统并根据本次启动结果修改所述启动状态标志位信息;\n[0009] 若否,则从所述存储介质启动电子设备备份系统。\n[0010] 一种电子设备,包括:\n[0011] 引导模块,用于运行引导程序,并通过所述引导程序从电子设备的存储介质获取启动状态标志位信息;\n[0012] 判断模块,用于根据所述启动状态标志位信息判断前一次启动电子设备系统是否成功;\n[0013] 第一判断结果处理模块,用于若判定前一次启动电子设备系统成功,则通过所述引导程序置所述启动状态标志位信息为初始值,从所述存储介质启动电子设备系统并根据本次启动结果修改所述启动状态标志位信息;\n[0014] 第二判断结果处理模块,用于若判定前一次启动电子设备系统失败,则从所述存储介质启动电子设备备份系统。\n[0015] 上述电子设备系统启动方法和电子设备,先通过运行的引导程序获取启动状态标志位信息,根据该启动状态标志位信息来判断前一次启动电子设备系统是否成功,从而可以检查出电子设备系统是否损坏。当判定前一次启动失败时就启动电子设备备份系统,这样可以保证即使电子设备系统损坏也能够进入备份系统而正常工作。而当判定前一次启动成功时,则通过引导程序置所述启动状态标志位信息为初始值,再进行本次启动电子设备系统的操作,并根据本次启动结果修改启动状态标志位信息,便于下次启动电子设备系统时使用,保证后续使用中电子设备一直能够采用该电子设备系统启动方法来保证其正常工作。\n附图说明\n[0016] 图1为一个实施例中电子设备系统启动方法的流程示意图;\n[0017] 图2为一个实施例中从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息的步骤的流程示意图;\n[0018] 图3为一个实施例中电子设备的结构框图;\n[0019] 图4为图3中的第一判断结果处理模块的一个实施例的结构框图;\n[0020] 图5为另一个实施例中电子设备的结构框图。\n具体实施方式\n[0021] 为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。\n[0022] 如图1所示,在一个实施例中,提供了一种电子设备系统启动方法,这里的电子设备包括但不限于路由器、手机、电视、电视盒子、机顶盒、电子书阅读器、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)或MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、POS终端、车载电脑等采用固件升级方式的电子设备。这里的电子设备系统则是指驱动电子设备正常工作的软件系统。该电子设备系统启动方法具体包括如下步骤:\n[0023] 步骤102,运行引导程序,并通过引导程序从电子设备的存储介质获取启动状态标志位信息。\n[0024] 引导程序是用于引导电子设备系统启动的程序,可用的引导程序有UBOOT、Boot Loader等。比如对于路由器来说,其启动过程为:运行引导程序UBOOT,启动内核(kernel),加载文件系统;其中启动内核和加载文件系统则是启动电子设备系统的过程。若出现加载文件系统失败的情况,则路由器只能进入引导程序UBOOT,无法进入电子设备系统的内核,或者停留在内核里而无法进入文件系统,从而使得路由器不能正常工作。\n[0025] 电子设备在接通电源后,先运行引导程序,从而通过该引导程序从电子设备的存储介质获取启动状态标志位信息。具体地,启动状态标志位信息用于表示一次启动电子设备系统的过程是否成功,这里用于表示前一次启动电子设备系统是否成功。启动状态标志位信息存放在电子设备的存储介质的某一预设地址区间内,该预设区间是预先设置的标志位分区,可由用户自行设置,专门用于存放该启动状态标志位信息。\n[0026] 其中,电子设备的存储介质可为闪存(Flash Memory),比如NOR类型、或NAND类型的闪存等。优选为NOR类型的闪存,因为启动状态标志位信息所占存储空间小且需要反复擦写,NOR类型的闪存的操作以字节为单位,相比采用块擦写的NAND类型的闪存寿命更长。\n[0027] 步骤104,根据启动状态标志位信息判断前一次启动电子设备系统是否成功。若判定成功则执行步骤106,若判定失败则执行步骤108。\n[0028] 具体地,可将获取的启动状态标识信息与表示启动成功的预设启动状态标识信息比较。若比较结果为两者一致则判定前一次启动电子设备系统成功;相反若比较结果为两者不一致,则判定前一次启动电子设备系统启动失败。这里前一次是指相对于本次执行该电子设备系统启动方法之前的一次电子设备系统启动操作。\n[0029] 步骤106,通过引导程序置启动状态标志位信息为初始值,从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息。\n[0030] 经判断,前一次启动电子设备系统成功,此时则通过引导程序置启动状态标志位信息为初始值,该初始值不是表示启动成功的预设启动状态标识信息。该初始值用于表示运行引导程序成功;同时若启动电子设备系统不成功,则可以保留该初始值,这样在下次执行该电子设备系统启动方法时获取的启动状态标志位信息就是该初始值,从而下次会判定本次启动电子设备系统失败而执行步骤108。这样可以保证该电子设备系统启动方法在每次需要启动电子设备系统时都可以连续作用。\n[0031] 电子设备从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息。具体地,电子设备通过引导程序从存储介质中用于存储电子设备系统对应的系统固件的地址处读取数据从而启动电子设备系统;在启动电子设备系统成功后,电子设备会将存储介质中的启动状态标志位信息从初始值修改为表示启动成功的预设启动状态标识信息。若启动电子设备失败,则电子设备可保留启动状态标志位信息的初始值,或者将其从初始值修改为表示启动失败的预设启动状态标识信息。\n[0032] 步骤108,从存储介质启动电子设备备份系统。\n[0033] 具体地,在电子设备的存储介质中除了存放有对应电子设备系统的系统固件外,还存放有对应电子设备备份系统的备份固件,这在电子设备的生产阶段制作固件时实现。\n该备份固件可与上述系统固件相同,或者是具备固件升级功能的简化固件。当判定前一次启动电子设备系统失败后,步骤108具体包括:从存储介质中用于存放备份固件的地址处读取数据从而启动电子设备备份系统。这样电子设备进入了电子设备备份系统。\n[0034] 电子设备在生产时考虑到后续固件升级的因素,其存储空间足够大,除了可以存放原始的系统固件外,还可以存放备份固件而不会增加生产成本。以电子设备为路由器为例,若其电子设备系统为OpenWrt系统(一种嵌入式的基于Linux的系统),因其包括的应用的多少不同,系统固件大小为4~16M(兆字节)不等。厂家在选择存储介质容量时,会根据系统固件的大小来选择。为了压缩成本,一般小于4M的系统固件会采用4M容量的存储介质,而大于4M且小于8M的系统固件就会使用8M容量的存储介质,类似地大于8M且小于16M的固件就会选择16M容量的存储介质,这就使得路由器的存储介质剩余一部分存储空间,如大于8M的系统固件需要使用16M的存储介质,此时剩余的空间一般会大于4M,4M的空间足够存放一个完整的具备固件升级功能的OpenWrt备份系统。优选地,存储介质中存放的备份固件是只读的,这样可以保证备份固件不被破坏,只要电子设备能够运行引导程序就至少能够进入电子设备备份系统,保证电子设备能够正常工作。\n[0035] 上述电子设备系统启动方法,先通过运行的引导程序获取启动状态标志位信息,根据该启动状态标志位信息来判断前一次启动电子设备系统是否成功,从而可以检查出电子设备系统是否损坏。当判定前一次启动失败时就启动电子设备备份系统,这样可以保证即使电子设备系统损坏也能够进入备份系统而正常工作。而当判定前一次启动成功时,则通过引导程序置启动状态标志位信息为初始值,再进行本次启动电子设备系统的操作,并根据本次启动结果修改启动状态标志位信息,便于下次启动电子设备系统时使用,保证后续使用中电子设备一直能够采用该电子设备系统启动方法来保证其正常工作。\n[0036] 上述电子设备系统启动方法可以应用到第二次以及以后任意次的电子设备系统的启动。在一个实施例中,可在生产电子设备时将存储介质中的启动状态标志位信息设定为表示启动成功的预设启动状态标识信息。这样本实施例中的电子设备系统启动方法就可以应用到包括首次在内的任意次的电子设备系统的启动。\n[0037] 在另一个实施例中,在步骤102之前,电子设备在首次开启而运行引导程序时直接通过引导程序置启动状态标志位信息为初始值,并从存储介质启动电子设备系统并根据该次启动结果修改启动状态标志位信息。或者在生产电子设备时将存储介质中的启动状态标志位信息设定为初始值,则在步骤102之前,电子设备在首次开启而运行引导程序时直接从存储介质启动电子设备系统并根据该次启动结果修改启动状态标志位信息。本实施例中的电子设备系统启动方法也可以应用到包括首次在内的任意次的电子设备系统的启动。\n[0038] 在一个实施例中,上述从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息的步骤,具体包括:分阶段启动电子设备系统,并分别根据每一阶段的启动结果修改启动状态标志位信息。\n[0039] 具体地,电子设备系统是可以分阶段启动的,这样在每一阶段启动结束时,若该阶段启动成功,则将启动状态标志位信息修改为表示该阶段启动成功的预设启动状态标识信息;若该阶段启动失败,则可不修改启动状态标志位信息或者将启动状态标志位信息修改为表示该阶段启动失败的预设启动状态标识信息。然后再进行下一阶段启动,继续根据下一阶段的启动结果修改启动状态标志位信息,直至所有启动阶段结束。\n[0040] 本实施例中,步骤104具体为:将获取的启动状态标识信息与表示最后阶段启动成功的预设启动状态标识信息比较;若一致则判定前一次启动电子设备系统成功;若不一致,则判定前一次启动电子设备系统启动失败。\n[0041] 本实施例中,电子设备系统分阶段启动并根据每一阶段的启动结果修改启动状态标志位信息,这样便于定位问题,有助于分析出到底电子设备系统的哪一阶段启动发生了问题。\n[0042] 如图2所示,在一个实施例中,上述从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息的步骤,或者分阶段启动电子设备系统,并分别根据每一阶段的启动结果修改启动状态标志位信息的步骤,具体包括如下步骤:\n[0043] 步骤202,启动电子设备系统的内核,当启动内核成功时修改启动状态标志位信息为第一预设标志信息。\n[0044] 对于路由器这样的电子设备来说,其运行引导程序后,再分两个阶段启动电子设备系统,依次为启动电子设备系统的内核以及加载电子设备系统的文件系统两个阶段,这里的电子设备系统则指该内核和文件系统。若启动内核成功,则将标志位分区中的启动状态标志位信息从初始值修改为第一预设标志信息,该第一预设标志信息表示该次启动内核成功。\n[0045] 步骤204,加载电子设备系统的文件系统,当加载文件系统成功时修改启动状态标志位信息为第二预设标志信息。\n[0046] 电子设备在启动内核成功后,会继续加载电子设备系统的文件系统来完成电子设备系统的启动,这里加载电子设备系统的文件系统是启动电子设备系统的最后阶段。当加载文件系统成功时,则将标志位分区中的启动状态标志位信息从第一预设标志信息修改为第二预设标志信息,该第二预设标志信息表示该次加载文件系统成功。\n[0047] 本实施例中,步骤104具体为:将获取的启动状态标识信息与第二预设标志信息比较;若一致则判定前一次启动电子设备系统成功;若不一致,则判定前一次启动电子设备系统启动失败。\n[0048] 其中初始值、第一预设标志信息以及第二预设标志信息分别为不同的值,且可由用户自定义。比如初始值可为“success”,第一预设标志信息可为“success1”,第二预设标志信息可为“success2”。\n[0049] 本实施例中,电子设备启动内核和加载文件系统的两个启动阶段,分别根据每一阶段的启动结果修改启动状态标志位信息,这样便于定位问题,有助于分析出到底电子设备系统的哪一阶段启动发生了问题。\n[0050] 在一个实施例中,该电子设备系统启动方法还包括:当执行步骤106而启动电子设备系统成功时,自动或者响应于接收到的固件升级请求而获取升级固件,并根据升级固件对电子设备系统进行固件升级。\n[0051] 具体地,当电子设备系统启动成功时电子设备系统能够正常工作,但此时可能电子设备系统版本较低或者功能较少,无法满足用户使用需求,用户可以主动对电子设备系统进行固件升级。电子设备可以设置专门用于触发固件升级请求的按钮,用户按压该按钮就可以触发固件升级请求;或者电子设备可以通过与电子设备连接的显示设备提供网页或者界面,用户操作该网页或者界面从而触发固件升级请求。电子设备接收到该固件升级请求,响应于该固件升级请求而获取升级固件,从而根据该升级固件对电子设备系统进行固件升级。这里升级固件是指用于对电子设备系统进行固件升级的固件。这里的固件升级可以是对电子设备的内核和文件系统的升级,则升级固件可以是用于升级的内核和文件系统。或者电子设备可以自动检测是否存在版本号高于当前的电子设备系统对应的系统固件的版本号的升级固件,当检测到时自动获取该升级固件,从而据以对电子设备系统进行固件升级。\n[0052] 在一个实施例中,该电子设备系统启动方法还包括:当执行步骤108而启动电子设备备份系统后,自动或者响应于接收到的固件升级请求而获取升级固件,并根据升级固件对电子设备系统进行固件升级。\n[0053] 具体地,当判定前一次启动电子设备系统失败后而使电子设备启动电子设备备份系统后,电子设备可自动获取升级固件从而根据该升级固件对电子设备系统进行固件升级。或者电子设备可以在启动电子设备备份系统后发出提示,提示用户电子设备系统损坏需要进行固件升级。由用户根据该提示操作电子设备而触发固件升级请求,电子设备则在接收到该固件升级请求后,响应于该固件升级请求而获取升级固件,并根据该升级固件对电子设备系统进行固件升级。\n[0054] 上述实施例中,在电子设备系统正常启动后可以根据用户需求而对电子设备系统进行固件升级,而当电子设备系统损坏而进入电子设备备份系统后,可以自动或者在用户触发下对电子设备系统进行固件升级操作,使其损坏的电子设备系统恢复正常。\n[0055] 在一个实施例中,上述实施例中自动或者响应于接收到的固件升级请求而获取升级固件的步骤,具体包括:响应于接收到的固件升级请求,获取通过网页上传的升级固件;\n或者,自动或者响应于接收到的固件升级请求,获取存储介质中的备份固件作为升级固件;\n或者,自动或者响应于接收到的固件升级请求,从与电子设备连接的外接存储设备获取升级固件。\n[0056] 具体地,比如路由器这样具有网络功能的电子设备可以与计算机连接,包括直接连接或者网络连接,用户可以通过计算机访问电子设备提供的网页,从而通过该网页将升级固件上传给电子设备。电子设备则获取到上传的升级固件,从而用该升级固件替换掉电子设备的存储介质中存储的系统固件,从而实现对电子设备系统的固件升级。\n[0057] 电子设备还可以预先存储有备份固件,此时获取该备份固件作为升级固件,从而用该升级固件替换掉电子设备的存储介质中存储的系统固件,以实现对电子设备系统的固件升级。这里的备份固件可以与上述实施例中电子设备备份系统对应的备份固件相同或相异。\n[0058] 电子设备还可以与外接存储设备连接,比如通过USB(Universal Serial Bus,通用串行总线)接口连接,外接存储设备比如可以是优盘或者硬盘等。电子设备通过扫描外接存储设备,具体可以扫描外接存储设备中文件名为预设文件名的文件而获取到升级固件,或者扫描文件夹名为预设文件夹名下的文件而获取到升级固件。\n[0059] 本实施例中,电子设备自动或者响应于接收到的固件升级请求,可通过多种方式获取升级固件对电子设备系统进行固件升级,使得电子设备系统可以更容易实现固件升级,提高操作便利性。\n[0060] 在一个实施例中,步骤104具体为:将获取的启动状态标识信息与第二预设标志信息比较;若一致则判定前一次启动电子设备系统成功;若不一致,则判定前一次启动电子设备系统启动失败。则在步骤108之后,电子设备还可以判断获取的启动状态标志位信息是否与第一预设标志信息一致,若一致则可以获取只包含文件系统的升级固件对电子设备系统进行固件升级,若不一致则可以获取包含内核和文件系统的完整升级固件对电子设备系统进行固件升级。本实施例可以仅对损坏的部分系统固件进行固件升级,可以提高启动效率。\n本实施例中要求只包含文件系统的升级固件中的应用与内核中的底层驱动没有关联,则可以只升级文件系统而不升级内核。\n[0061] 在一个实施例中,电子设备为路由器,其文件系统是主流路由器固件dd-wrt系统,tomato系统或者openwrt系统。\n[0062] 如图3所示,在一个实施例中,提供了一种电子设备,用于实现上述各实施例的电子设备系统启动方法,该电子设备包括但不限于路由器、手机、电视、电视盒子、机顶盒、电子书阅读器、MP3或MP4播放器、POS终端、车载电脑等。其中,该电子设备包括引导模块302、判断模块304、第一判断结果处理模块306和第二判断结果处理模块308。\n[0063] 引导模块302,用于运行引导程序,并通过引导程序从电子设备的存储介质获取启动状态标志位信息。\n[0064] 电子设备在接通电源后,引导模块302用于先运行引导程序,从而通过该引导程序从电子设备的存储介质获取启动状态标志位信息。具体地,启动状态标志位信息用于表示一次启动电子设备系统的过程是否成功,这里用于表示前一次启动电子设备系统是否成功。启动状态标志位信息存放在电子设备的存储介质的某一预设地址区间内,该预设区间是预先设置的标志位分区,可由用户自行设置,专门用于存放该启动状态标志位信息。\n[0065] 其中,电子设备的存储介质可为闪存(Flash Memory),比如NOR类型、或NAND类型的闪存等。优选为NOR类型的闪存,因为启动状态标志位信息所占存储空间小且需要反复擦写,NOR类型的闪存的操作以字节为单位,相比采用块擦写的NAND类型的闪存寿命更长。\n[0066] 判断模块304,用于根据启动状态标志位信息判断前一次启动电子设备系统是否成功。\n[0067] 具体地,判断模块304可用于将获取的启动状态标识信息与表示启动成功的预设启动状态标识信息比较。若判断模块304判断结果为两者一致则判定前一次启动电子设备系统成功;相反若判断模块304判断结果为两者不一致,则判定前一次启动电子设备系统启动失败。这里前一次是指相对于本次执行该电子设备系统启动方法之前的一次电子设备系统启动操作。\n[0068] 第一判断结果处理模块306,用于若判定前一次启动电子设备系统成功,则通过引导程序置启动状态标志位信息为初始值,从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息。\n[0069] 判断模块304判定前一次启动电子设备系统成功,此时第一判断结果处理模块306则用于通过引导程序置启动状态标志位信息为初始值,该初始值不是表示启动成功的预设启动状态标识信息。该初始值用于表示运行引导程序成功;同时若启动电子设备系统不成功,则可以保留该初始值,这样在下次启动电子设备系统时获取的启动状态标志位信息就是该初始值,从而下次会判定本次启动电子设备系统失败而使第二判断结果处理模块308工作。这样可以保证每次需要启动电子设备系统时都可以使电子设备能够正常工作。\n[0070] 第一判断结果处理模块306用于从存储介质启动电子设备系统并根据本次启动结果修改启动状态标志位信息。具体地,第一判断结果处理模块306用于通过引导程序从存储介质中用于存储电子设备系统对应的系统固件的地址处读取数据从而启动电子设备系统;\n在启动电子设备系统成功后,第一判断结果处理模块306用于将存储介质中的启动状态标志位信息从初始值修改为表示启动成功的预设启动状态标识信息。若启动电子设备失败,则第一判断结果处理模块306可用于保留启动状态标志位信息的初始值,或者将其从初始值修改为表示启动失败的预设启动状态标识信息。\n[0071] 第二判断结果处理模块308,用于若判定前一次启动电子设备系统失败,则从存储介质启动电子设备备份系统。\n[0072] 具体地,在电子设备的存储介质中除了存放有对应电子设备系统的系统固件外,还存放有对应电子设备备份系统的备份固件,这在电子设备的生产阶段制作固件时实现。\n该备份固件可与上述系统固件相同,或者是具备固件升级功能的简化固件。当判定前一次启动电子设备系统失败后,第二判断结果处理模块308具体可用于从存储介质中用于存放备份固件的地址处读取数据从而启动电子设备备份系统。这样电子设备进入了电子设备备份系统。\n[0073] 电子设备在生产时考虑到后续固件升级的因素,其存储空间足够大,除了可以存放原始的系统固件外,还可以存放备份固件而不会增加生产成本。以电子设备为路由器为例,若其电子设备系统为OpenWrt系统,因其包括的应用的多少不同,系统固件大小为4~\n16M不等。厂家在选择存储介质容量时,会根据系统固件的大小来选择。为了压缩成本,一般小于4M的系统固件会采用4M容量的存储介质,而大于4M且小于8M的系统固件就会使用8M容量的存储介质,类似地大于8M且小于16M的固件就会选择16M容量的存储介质,这就使得路由器的存储介质剩余一部分存储空间,如大于8M的系统固件需要使用16M的存储介质,此时剩余的空间一般会大于4M,4M的空间足够存放一个完整的具备固件升级功能的OpenWrt备份系统。优选地,存储介质中存放的备份固件是只读的,这样可以保证备份固件不被破坏,只要电子设备能够运行引导程序就至少能够进入电子设备备份系统,保证电子设备能够正常工作。\n[0074] 上述电子设备,先通过运行的引导程序获取启动状态标志位信息,根据该启动状态标志位信息来判断前一次启动电子设备系统是否成功,从而可以检查出电子设备系统是否损坏。当判定前一次启动失败时就启动电子设备备份系统,这样可以保证即使电子设备系统损坏也能够进入备份系统而正常工作。而当判定前一次启动成功时,则通过引导程序置启动状态标志位信息为初始值,再进行本次启动电子设备系统的操作,并根据本次启动结果修改启动状态标志位信息,便于下次启动电子设备系统时使用,保证后续使用中电子设备一直能够采用该电子设备系统启动方法来保证其正常工作。\n[0075] 上述电子设备可以实现在第二次以及以后任意次的电子设备系统启动中都能够保证电子设备可以正常工作。在一个实施例中,可在生产电子设备时将存储介质中的启动状态标志位信息设定为表示启动成功的预设启动状态标识信息。这样本实施例中的电子设备就可以实现包括首次在内的任意次的电子设备系统的启动。\n[0076] 在另一个实施例中,引导模块302用于在首次开启而运行引导程序时直接通过引导程序置启动状态标志位信息为初始值,并从存储介质启动电子设备系统并根据该次启动结果修改启动状态标志位信息。或者在生产电子设备时将存储介质中的启动状态标志位信息设定为初始值,则引导模块302用于在首次开启而运行引导程序时直接从存储介质启动电子设备系统并根据该次启动结果修改启动状态标志位信息。本实施例中的电子设备就可以实现包括首次在内的任意次的电子设备系统的启动。\n[0077] 在一个实施例中,第一判断结果处理模块306还用于分阶段启动电子设备系统,并分别根据每一阶段的启动结果修改启动状态标志位信息。\n[0078] 具体地,电子设备系统是可以分阶段启动的,这样第一判断结果处理模块306用于在每一阶段启动结束时,若该阶段启动成功,则将启动状态标志位信息修改为表示该阶段启动成功的预设启动状态标识信息;若该阶段启动失败,则可不修改启动状态标志位信息或者将启动状态标志位信息修改为表示该阶段启动失败的预设启动状态标识信息。然后第一判断结果处理模块306用于再进行下一阶段启动,继续根据下一阶段的启动结果修改启动状态标志位信息,直至所有启动阶段结束。\n[0079] 本实施例中,判断模块304具体用于将获取的启动状态标识信息与表示最后阶段启动成功的预设启动状态标识信息比较;若一致则判定前一次启动电子设备系统成功;若不一致,则判定前一次启动电子设备系统启动失败。\n[0080] 本实施例中,电子设备系统分阶段启动并根据每一阶段的启动结果修改启动状态标志位信息,这样便于定位问题,有助于分析出到底电子设备系统的哪一阶段启动发生了问题。\n[0081] 如图4所示,在一个实施例中,第一判断结果处理模块306包括:内核启动模块306a和文件系统加载模块306b。\n[0082] 内核启动模块306a,用于启动电子设备系统的内核,当启动内核成功时修改启动状态标志位信息为第一预设标志信息。\n[0083] 对于路由器这样的电子设备来说,其运行引导程序后,再分两个阶段启动电子设备系统,依次为启动电子设备系统的内核以及加载电子设备系统的文件系统两个阶段,这里的电子设备系统则指该内核和文件系统。内核启动模块306a用于若启动内核成功,则将标志位分区中的启动状态标志位信息从初始值修改为第一预设标志信息,该第一预设标志信息表示该次启动内核成功。\n[0084] 文件系统加载模块306b,用于加载电子设备系统的文件系统,当加载文件系统成功时修改启动状态标志位信息为第二预设标志信息。\n[0085] 在内核启动模块306a启动内核成功后,文件系统加载模块306用于继续加载电子设备系统的文件系统来完成电子设备系统的启动,这里加载电子设备系统的文件系统是启动电子设备系统的最后阶段。文件系统加载模块306用于当加载文件系统成功时,则将标志位分区中的启动状态标志位信息从第一预设标志信息修改为第二预设标志信息,该第二预设标志信息表示该次加载文件系统成功。\n[0086] 本实施例中,判断模块304具体用于将获取的启动状态标识信息与第二预设标志信息比较;若一致则判定前一次启动电子设备系统成功;若不一致,则判定前一次启动电子设备系统启动失败。\n[0087] 其中初始值、第一预设标志信息以及第二预设标志信息分别为不同的值,且可由用户自定义。比如初始值可为“success”,第一预设标志信息可为“success1”,第二预设标志信息可为“success2”。\n[0088] 本实施例中,电子设备启动内核和加载文件系统的两个启动阶段,分别根据每一阶段的启动结果修改启动状态标志位信息,这样便于定位问题,有助于分析出到底电子设备系统的哪一阶段启动发生了问题。\n[0089] 如图5所示,在一个实施例中,该电子设备还包括固件升级模块310。\n[0090] 在一个实施例中,固件升级模块310用于当启动电子设备系统成功时,自动或者响应于接收到的固件升级请求而获取升级固件,并根据升级固件对电子设备系统进行固件升级。\n[0091] 具体地,当电子设备系统启动成功时电子设备系统能够正常工作,但此时可能电子设备系统版本较低或者功能较少,无法满足用户使用需求,用户可以主动对电子设备系统进行固件升级,或者固件升级模块310可以用于自动对电子设备系统进行固件升级。电子设备可以设置专门用于触发固件升级请求的按钮,用户按压该按钮就可以触发固件升级请求;或者电子设备可以通过与电子设备连接的显示设备提供网页或者界面,用户操作该网页或者界面从而触发固件升级请求。固件升级模块310用于接收到该固件升级请求,响应于该固件升级请求而获取升级固件,从而根据该升级固件对电子设备系统进行固件升级。这里升级固件是指用于对电子设备系统进行固件升级的固件。这里的固件升级可以是对电子设备的内核和文件系统的升级,则升级固件可以是用于升级的内核和文件系统。\n[0092] 在一个实施例中,固件升级模块310用于当启动电子设备备份系统后,自动或者响应于接收到的固件升级请求而获取升级固件,并根据升级固件对电子设备系统进行固件升级。\n[0093] 具体地,当判断模块304判定前一次启动电子设备系统失败后而使电子设备启动电子设备备份系统后,固件升级模块310可用于自动获取升级固件从而根据该升级固件对电子设备系统进行固件升级。或者固件升级模块310可用于在启动电子设备备份系统后发出提示,提示用户电子设备系统损坏需要进行固件升级。由用户根据该提示操作电子设备而触发固件升级请求,固件升级模块310则用于在接收到该固件升级请求后,响应于该固件升级请求而获取升级固件,并根据该升级固件对电子设备系统进行固件升级。或者固件升级模块310可以用于自动检测是否存在版本号高于当前的电子设备系统对应的系统固件的版本号的升级固件,当检测到时自动获取该升级固件,从而据以对电子设备系统进行固件升级。上述实施例中,在电子设备系统正常启动后可以根据用户需求而对电子设备系统进行固件升级,而当电子设备系统损坏而进入电子设备备份系统后,可以自动或者在用户触发下对电子设备系统进行固件升级操作,使其损坏的电子设备系统恢复正常。\n[0094] 在一个实施例中,固件升级模块310还用于响应于接收到的固件升级请求,获取通过网页上传的升级固件;或者,自动或者响应于接收到的固件升级请求,获取存储介质中的备份固件作为升级固件;或者,自动或者响应于接收到的固件升级请求,从与电子设备连接的外接存储设备获取升级固件。\n[0095] 具体地,比如路由器这样具有网络功能的电子设备可以与计算机连接,包括直接连接或者网络连接,用户可以通过计算机访问电子设备提供的网页,从而通过该网页将升级固件上传给电子设备。固件升级模块310则用于获取到上传的升级固件,从而用该升级固件替换掉电子设备的存储介质中存储的系统固件,从而实现对电子设备系统的固件升级。\n[0096] 电子设备还可以预先存储有备份固件,固件升级模块310用于获取该备份固件作为升级固件,从而用该升级固件替换掉电子设备的存储介质中存储的系统固件,以实现对电子设备系统的固件升级。这里的备份固件可以与上述实施例中电子设备备份系统对应的备份固件相同或相异。\n[0097] 电子设备还可以与外接存储设备连接,比如通过USB(Universal Serial Bus,通用串行总线)接口连接,外接存储设备比如可以是优盘或者硬盘等。固件升级模块310用于通过扫描外接存储设备,具体可以扫描外接存储设备中文件名为预设文件名的文件而获取到升级固件,或者扫描文件夹名为预设文件夹名下的文件而获取到升级固件。\n[0098] 本实施例中,电子设备响应于接收到的固件升级请求,可通过多种方式获取升级固件对电子设备系统进行固件升级,使得电子设备系统可以更容易实现固件升级,提高操作便利性。\n[0099] 在一个实施例中,判断模块304具体用于将获取的启动状态标识信息与第二预设标志信息比较;若一致则判定前一次启动电子设备系统成功;若不一致,则判定前一次启动电子设备系统启动失败。则固件升级模块310还可以用于判断获取的启动状态标志位信息是否与第一预设标志信息一致,若一致则固件升级模块310可以用于获取只包含文件系统的升级固件对电子设备系统进行固件升级,若不一致则固件升级模块310可以用于获取包含内核和文件系统的完整升级固件对电子设备系统进行固件升级。本实施例可以仅对损坏的部分系统固件进行固件升级,可以提高启动效率。本实施例中要求只包含文件系统的升级固件中的应用与内核中的底层驱动没有关联,则可以只升级文件系统而不升级内核。\n[0100] 在一个实施例中,电子设备为路由器,其文件系统是主流路由器固件dd-wrt系统,tomato系统或者openwrt系统。\n[0101] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
法律信息
- 2017-11-07
- 2016-06-01
专利申请权的转移
登记生效日: 2016.05.13
申请人由深圳市江波龙电子有限公司变更为深圳市大迈科技有限公司
地址由518057 广东省深圳市南山区科发路8号金融服务技术创新基地1栋8楼A、B、C、D、E、F1变更为518000 广东省深圳市南山区高新技术产业园区科发8号金融基地1栋5楼E、F
- 2014-12-24
实质审查的生效
IPC(主分类): G06F 9/445
专利申请号: 201410362377.1
申请日: 2014.07.25
- 2014-11-26
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2009-01-28
|
2008-09-12
| | |
2
| |
2014-04-30
|
2014-01-06
| | |
3
| |
2014-04-30
|
2014-01-09
| | |
4
| |
2014-01-01
|
2012-06-14
| | |
5
| |
2007-09-05
|
2006-03-02
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |