技术领域
[0001] 本
发明涉及软件管理技术,特别涉及一种便于软件更新的方法及电子设备。
背景技术
[0002] 计算机或其它电子产品大多由处理器CPU、内部
存储器(如
硬盘)、内存和外部存储器(如SD
扩展卡)等组成,其中,内部存储器主要用于存放各种
固化后的程序和数据;内存主要用于暂时存放CPU中的运算数据及与硬盘等内部存储器交换的数据,具有存取速度快和断电后数据全部丢失的特点;外部存储器通常包括
软盘、光盘和存储卡等存储媒介,其特点是便于移动存储,可以随时更新其内部数据。
[0003] 传统计算机或电子产品都是直接从内部存储器启动内置程序,由于内部存储器中的数据主程序不容易被改动,因此具有较高的安全性,而且通常内部存储器的存储速度高于外部存储器,因此,从内部存储器运行程序更快,也更稳定。
[0004] 然而,上述
现有技术中,电子产品的内部存储器往往不能像外部存储器一样可以方便地与外界进行数据交换,而是保持出厂时的数据或程序版本。当用户需要对某一主程序进行更新时,往往需要做很复杂的工作(如刷机),甚至不能对其进行更新,这就极大地限制了数码产品的功能拓展和
硬件的充分利用,不能满足用户的需要。
发明内容
[0005] 本发明的主要目的在于,提供一种便于软件更新的方法及电子设备,以便随时更新所需要的主程序。
[0006] 为达到上述发明目的,本发明采用以下技术方案。
[0007] 本发明所提供的便于软件更新的方法,包括以下步骤:
[0008] 判断外部存储器中是否存在主程序;
[0009] 当外部存储器中存在主程序时,从外部存储器中运行主程序。
[0010] 优选地,在所述从外部存储器中运行主程序前,还包括以下步骤:
[0011] 提示用户选择从外部存储器或内部存储器中运行主程序。
[0012] 优选地,所述从外部存储器中运行主程序的步骤包括:
[0013] 当用户选择从外部存储器运行主程序时,从外部存储器中运行主程序;否则,从内部存储器中运行主程序。
[0014] 优选地,还包括以下步骤:
[0015] 当外部存储器中不存在主程序时,从内部存储器中运行主程序。
[0016] 本发明所提供的电子设备,包括:内部存储器和外部存储器,还包括:
[0017] 判断模
块,用于判断外部存储器中是否存在主程序,和
[0018] 第一执行模块,用于当外部存储器中存在主程序时,从外部存储器中运行主程序。
[0019] 优选地,还包括:
[0020] 选择识别模块,用于提示用户选择从外部存储器或内部存储器中运行主程序。
[0021] 优选地,所述第一执行模块还用于:
[0022] 当用户选择从外部存储器运行主程序时,从外部存储器中运行主程序;否则,从内部存储器中运行主程序。
[0023] 优选地,还包括:
[0024] 第二执行模块,用于当外部存储器中不存在主程序时,从内部存储器中运行主程序。
[0025] 优选地,所述电子设备包括支持存储卡的手机、GPS、MP3、MP4、
数码相机或电子辞典。
[0026] 本发明在检测到内部存储器和外部存储器中均存在主程序时,可提示用户选择从内部存储器或外部存储器中运行主程序;当外部存储器中不存在主程序时,则自动从内部存储器中运行主程序。如此便可方便用户按其所需选择运行主程序的方式,以满足其节省运行时间、提高安全性和
稳定性的要求,或满足其使用新版本主程序以体验其新增功能的要求,非常人性化。
附图说明
[0027] 图1是本发明的一个
实施例中便于软件更新的方法的流程示意图;
[0028] 图2是本发明的另一实施例中便于软件更新的方法的流程示意图;
[0029] 图3是本发明的一个实施例中电子设备的结构示意图;
[0030] 图4是本发明的另一实施例中电子设备的结构示意图。
[0031] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
[0032] 以下结合附图及具体实施例进一步详细说明本发明的功能特点及原理,以便更直观地理解其发明实质。
[0033] 图1是本发明的一个实施例中便于软件更新的方法的流程示意图。
[0034] 参照图1,软件更新的方法的步骤包括:
[0035] S101:判断外部存储器中是否存在主程序;
[0036] S102:当外部存储器中存在主程序时,从外部存储器中运行主程序。
[0037] 其中,在步骤S101中,判断外部存储器中是否存在主程序的方法可以是:
[0038] 设置一个与主程序相对应的Mini Loader前置程序,将其保存在内部存储器中。当运行Mini Loader前置程序时,其可自行查找主程序,从而判断出外部存储器中是否存在主程序。
[0039] 在步骤S102中,当外部存储器中存在主程序时,运行外部存储器中的主程序。
[0040] 本实施例通过从外部存储器中运行主程序的方法,等效于对原有内部存储器中的主程序进行更新或升级,这是因为:
[0041] 通常地,内部存储器中的数据为最原始的数据和版本,其不能方便地、随时地进行下载更新。当某个主程序出现新版本时,新版本的新增功能不可获得,除非采用复杂的技术手段,而这是用户所难以接受的。本实施例所述方案中,只需将最新版本的主程序下载到外部存储器中,通过运行MiniLoader前置程序为主程序提供硬件引导,建立内存空间的映射图,从而为运行该主程序提供合适的硬件环境,新版本的主程序则可以正常从外部存储器中运行,从而实现了主程序的更新或升级,继而享受其带来的新功能。
[0042] 图2是本发明的另一实施例中便于软件更新的方法的流程示意图。
[0043] 请参阅图2,本实施例所述软件更新的方法包括以下步骤:
[0044] S201:判断外部存储器中是否存在主程序;
[0045] S202:提示用户选择从外部存储器或内部存储器中运行主程序,若用户选择从外部存储器中运行主程序,则进入步骤S203;否则,进入步骤204;
[0046] S203:从外部存储器中运行主程序;
[0047] S204:从内部存储器中运行主程序。
[0048] 其中,在上述各步骤中,步骤S201与步骤S101的过程是一致的,此处不再赘述。
[0049] 在步骤S202中,Mini Loader前置程序运行后,当判断出外部存储器中存在主程序时,会要求用户选择是从外部存储器还是从内部存储器中运行主程序。
[0050] 在步骤S203中,当用户选择从外部存储器中运行主程序时,将主程序加载至内存并在内存中运行。
[0051] 在步骤S204中,当用户选择从内部存储器中运行主程序时,将主程序加载至内存并在内存中运行。
[0052] 本实施例在检测到外部存储器中存在主程序时,由Mini Loader前置程序提示用户选择是从外部存储器还是从内部存储器中运行主程序,然后根据用户的选择自动运行主程序。采用的方案的目的可以是:
[0053] 当外部存储器中装有主程序,而用户之前已经从外部存储器中运行过该主程序,或基于某些其它因素的考虑,不想从外部存储器中运行该主程序,而是想直接从内部存储器中运行时,可以选择从内部存储器中运行。
[0054] 上述其它因素包括:
[0055] 外部存储器中的主程序为新版本,而用户已经体验过其新增功能后,暂时不想使用新版本的主程序,或
[0056] 外部存储器中的主程序为新版本,但对硬件要求较高或运行时间过长时,用户不想使用该新版本的主程序,或
[0057] 用户担心外部存储器中的主程序被病毒侵入,基于安全考虑,暂时不想运行该主程序,等等。
[0058] 当存在上述情况时,用户就可以选择从内部存储器中运行主程序,以节约运行时间和提高安全性。
[0059] 图3是本发明的一个实施例中电子设备的结构示意图。
[0060] 参照图3,该电子设备1包括判断模块10和第一执行模块20。判断模块10用于判断外部存储器中是否存在主程序;第一执行模块20用于当外部存储器中存在主程序时,从外部存储器中运行主程序,所述主程序包括系统程序或应用程序。
[0061] 本实施例所述电子设备通过从外部存储器中运行主程序的方法,等效于对内部存储器中的原有主程序进行更新或升级。
[0062] 图4是本发明的另一实施例中电子设备的结构示意图。
[0063] 参照图4,本实施例的电子设备1包括判断模块10、第一执行模块20、选择识别模块30和第二执行模块40。其中,
[0064] 判断模块10用于判断其外部存储器中是否存在主程序;
[0065] 第一执行模块20用于当外部存储器中存在主程序时,从外部存储器中运行主程序;
[0066] 选择识别模块30用于提示用户选择从其外部存储器或内部存储器中运行主程序;
[0067] 第二执行模块40用于当外部存储器中不存在主程序时,从其内部存储器中运行主程序。
[0068] 下面以Mini Loader前置程序为例,详细说明其实施过程。
[0069] Mini Loader前置程序是主程序运行前的一个小程序,可以初始化硬件设备,建立内存空间的映射图,从而将主程序的硬件环境带到一个合适的状态,以便为主程序的运行准备正确的环境。
[0070] 需要运行主程序前,将Mini Loader前置程序打开。Mini Loader前置程序运行后,自动判断电子设备的外部存储器(如存储卡)中是否存在主程序。当外部存储器中存在主程序时,提示用户选择是从外部存储器还是从内部存储器(如Nand flash存储器)运行主程序。若用户选择从外部存储器中运行主程序,则电子设备将该主程序从外部存储器加载到内存(如SDRAM或DDR内存),然后在内存中运行;若用户选择的是从内部存储器中运行主程序,则将主程序从内部存储器加载到内存,然后在内存中运行。若外部存储器中不存在主程序,则自动从内部存储器中运行主程序。
[0071] 本实施例所述电子设备1可为支持移动存储功能的手机、GPS、MP3、MP4、数码相机或电子辞典等,主程序可通过网上下载或U盘复制的方式读入电子设备的内部存储器中,使其保持最新或最佳的版本,便于用户使用。当用户想使用新版本时,可选择从存储卡中运行主程序;当用户不想使用新版本或基于其它原因不想使用该新版本主程序时,可选择从电子设备的内部存储器(如Nand flash存储器)中运行主程序;当存储卡中的主程序被用户删除时,电子设备自行从内部存储器中找到主程序并运行。
[0072] 以上所述主要是针对主程序为应用程序时的情况,实际上,主程序还可以是系统程序,包括
固件(担任着一个数码产品最
基础、最底层工作的软件称之为固件)。此时,本实施例的电子设备1可通过运行存储卡上的主程序来更新其固件,其作用相当于通常所说的“刷新固件”或称“刷机”。但与传统的“刷机”不同的是,本实施例所述的电子设备1是通过运行存储卡上的固件程序来实现固件的更新的,而传统的“刷机”是直接对存储在内部存储器中的固件进行
修改或更新。而且,传统的“刷机”具有较大的
风险,且通常不可逆转。而本实施例的电子设备1刷新固件的方式不存在任何风险,也可以方便还原到原始固件,因此容易被用户广泛接受,方便用户及时更新电子设备1的厂商推出的最新版本的固件等系统程序。
[0073] 以上所述仅为本发明的优选实施例,并非因此限制其
专利范围,凡是利用本发明
说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。