CN108628619B - 程序更新方法和装置 - Google Patents
程序更新方法和装置 Download PDFInfo
- Publication number
- CN108628619B CN108628619B CN201710171156.XA CN201710171156A CN108628619B CN 108628619 B CN108628619 B CN 108628619B CN 201710171156 A CN201710171156 A CN 201710171156A CN 108628619 B CN108628619 B CN 108628619B
- Authority
- CN
- China
- Prior art keywords
- program
- target board
- updating
- updated
- configuration file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Abstract
本发明提出一种程序更新方法和装置,该方法包括:从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件;根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序。本实施例中,通过外接的移动存储设备获取程序更新的配置文件,再根据配置文件中的配置信息利用引导加载程序完成目标板的程序更新,操作简单便捷,大大提高了程序更新的效率,降低成本。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种程序更新方法和装置。
背景技术
目前,通过软件工具和烧写器更新程序,需要把程序存储器从目标板上取下来放入烧写器中。烧写器通过通用串行总线(Universal Serial Bus,简称USB)、串口等方式连接到电脑,然后在电脑上运行自制或第三方的软件工具,把程序烧写到程序存储器中。烧写好程序后,再把程序存储器焊接到目标板上,才完成软件的更新操作。
另外,可以通过引导加载程序(Bootloader)更新程序,需要将目标板上的中央处理器(Central Processing Unit,CPU)通过USB、串口、网口等方式连接到电脑,然后在电脑上运行定制的或通用的软件,目标板上的CPU在运行Bootloader阶段时让其运行程序升级功能,电脑上运行的定制的或通用的软件把新版程序传送到目标板上的CPU,CPU同时把新版程序保存到程序存储器中,完成程序的更新。
上述程序更新方法中的通过烧写器更新程序,需要从目标板先拆下程序存储器,完成更新后再焊接到目标板上,容易损坏程序存储器和目标板的焊盘。而通过Bootloader更新程序时,需要与电脑连接,依赖电脑控制更新过程,使得程序更新的便捷性较差。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的一个目的在于提出一种程序更新方法,该方法通过外接的移动存储设备获取程序更新的配置文件,再根据配置文件中的配置信息利用引导加载程序完成目标板的程序更新,操作简单便捷,大大提高了程序更新的效率,降低成本。
本发明的另一个目的在于提出一种程序更新装置。
为达到上述目的,本发明第一方面实施例提出的程序更新方法,包括:
从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件;
根据所述配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序。
本发明第一方面实施例提出的程序更新方法,通过从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,再根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序,操作简单便捷,大大提高了程序更新的效率,降低成本。
可选地,作为第一方面的第一种可能的实现方式,所述根据所述配置文件中的配置信息,利用引导加载程序将所述目标板中的当前版本的第一程序更新到新版本的第二程序,包括:根据所述配置信息判断所述第一程序的版本号是否为可被更新的版本号;其中,所述配置信息中携带至少一个可被更新的版本号;如果判断结果为所述第一程序的版本号为可被更新的版本号,则根据所述配置信息判断所述目标板的标识是否携带在所述配置信息中;如果所述目标板的标识携带在所述配置信息中,则将所述第一程序升级到所述第二程序。
可选地,作为第一方面的第二种可能的实现方式,所述将所述第一程序升级到所述第二程序,包括:根据所述配置文件中所述第二程序的标识,从所述移动存储设备中获取到所述第二程序;对所述第二程序进行解密;利用解密后的所述第二程序更新所述第一程序。
可选地,作为第一方面的第三种可能的实现方式,所述利用解密后的所述第二程序更新所述第一程序,包括:将解密后的所述第二程序存储到所述目标板中程序存储器的第一位置;其中,所述目标板中的所述第一程序存储在所述程序存储器的第二位置;利用所述第一位置的起始地址修改所述目标板的程序起始地址,完成所述第一程序的更新。
可选地,作为第一方面的第四种可能的实现方式,所述的方法,还包括:在所述第一程序更新失败时,维持所述程序起始地址为所述第二位置的起始地址。
可选地,作为第一方面的第五种可能的实现方式,根据上述任一所述的方法,还包括:在所述配置文件的指定位置中记录已经更新完成的所述目标板的标识和所述第二程序的版本号。
可选地,作为第一方面的第六种可能的实现方式,所述从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,包括:在预设时长内检测所述目标板的移动存储设备插槽中是否外接有所述移动存储设备;如果检测到所述移动存储设备,根据所述配置文件的标识从所述移动存储设备中获取所述配置文件。
为达到上述目的,本发明第二方面实施例提出的程序更新装置,包括:
获取模块,用于从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件;
更新模块,用于根据所述配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序。
本发明第二方面实施例提出的程序更新装置,通过从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,再根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序,操作简单便捷,大大提高了程序更新的效率,降低成本。
可选地,作为第二方面的第一种可能的实现方式,所述更新模块,包括:第一判断单元,用于根据所述配置信息判断所述第一程序的版本号是否为可被更新的版本号;其中,所述配置信息中携带至少一个可被更新的版本号;第二判断单元,用于如果判断结果为所述第一程序的版本号为可被更新的版本号,则根据所述配置信息判断所述目标板的标识是否携带在所述配置信息中;更新单元,用于当所述目标板的标识携带在所述配置信息中时,则将所述第一程序升级到所述第二程序。
可选地,作为第二方面的第二种可能的实现方式,所述更新单元,包括:获取子单元,用于根据所述配置文件中所述第二程序的标识,从所述移动存储设备中获取到所述第二程序;解密子单元,用于对所述第二程序进行解密;更新子单元,用于利用解密后的所述第二程序更新所述第一程序。
可选地,作为第二方面的第三种可能的实现方式,所述更新子单元,具体用于将解密后的所述第二程序存储到所述目标板中程序存储器的第一位置,利用所述第一位置的起始地址修改所述目标板的程序起始地址,完成所述第一程序的更新;其中,所述目标板中的所述第一程序存储在所述程序存储器的第二位置。
可选地,作为第二方面的第四种可能的实现方式,所述的装置,还包括:更新子单元,还用于在所述第一程序更新失败时,维持所述程序起始地址为所述第二位置的起始地址。
可选地,作为第二方面的第五种可能的实现方式,所述更新模块,还包括:记录单元,用于在所述配置文件的指定位置中记录已经更新完成的所述目标板的标识和所述第二程序的版本号。
可选地,作为第二方面的第六种可能的实现方式,所述获取模块,具体用于在预设时长内检测所述目标板的移动存储设备插槽中是否外接有所述移动存储设备,如果检测到所述移动存储设备,根据所述配置文件的标识从所述移动存储设备中获取所述配置文件。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明实施例提出的一种程序更新方法的流程示意图;
图2是本发明实施例提出的另一种程序更新方法的流程示意图;
图3是本发明实施例提出的一种程序更新装置的结构示意图;
图4是本发明实施例提出的一种更新模块的结构示意图;
图5是本发明实施例提出的一种更新单元的结构示意图;
图6是本发明实施例提出的另一种更新模块的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的模块或具有相同或类似功能的模块。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。相反,本发明的实施例包括落入所附加权利要求书的精神和内涵范围内的所有变化、修改和等同物。
下面参考附图描述本发明实施例的程序更新方法和装置。
目前,主要通过存储器专用的软件工具和烧写器烧写(比如仿真器烧写)更新程序。
然而,在轻轨或者是地铁等行业中通过上述方法完成程序的更新,通常是用新的电路板,替换旧的电路板,整个更新过程工作量比较大,且需要更多的电路板,操作繁琐,效率低,成本高。
为了解决上述问题,本申请提出一种程序更新方法,通过外接的移动存储设备获取程序更新的配置文件,再根据配置文件中的配置信息利用引导加载程序完成目标板的程序更新,操作简单便捷,大大提高了程序更新的效率,降低成本。具体如下:
图1是本发明实施例提出的一种程序更新方法的流程示意图。
如图1所示,该程序更新方法包括以下步骤:
步骤101、从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件。
实际应用中,目标板可以设置不同的插槽与不同的设备进行外连接。本实施例中,待更新的目标板上设置有移动存储设备插槽。其中,移动存储设备有很多种,可以根据实际应用需要进行选择设置,比如U盘、移动硬盘等。
可以理解的是,移动存储设备预先存储用于程序更新的配置文件,可以通过很多种方式将用于程序更新的配置文件预先存储于移动存储设备中,比如通过电脑将配置文件拷贝到移动存储设备中,或者是通过无线通信(比如设置蓝牙功能的移动存储设备)等方式将配置文件传输至移动存储设备中等等。
具体地,需要对目标板进行更新时,直接将移动存储设备插入待更新的目标板的插槽上即两者能够建立连接且能够读取数据,由此,能够从移动存储设备获取用于程序更新的配置文件。
需要说明的是,配置文件的确定可以根据不同的目标板进行相对应的选取,以便能够完成相对应的程序更新。即不用的目标板其对应的配置信息不同,由此根据待更新的目标板选取相对应的配置文件。
步骤102、根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序。
具体地,在获取到配置文件后,能够根据配置文件中的配置信息,利用引导加载程序完成目标板中的程序更新。
可以理解的是,根据配置信息利用引导加载程序完成目标板中的程序更新的方式有很多种,可以根据需要进行选择设置。本实施例中,可以通过配置信息中的第一程序和第二程序两者的版本号的高低来确定。具体过程如下:作为一种实现形式,首先根据配置信息判断第一程序的版本号是否为可被更新的版本号,如果判断结果为第一程序的版本号为可被更新的版本号,则根据配置信息判断目标板的标识是否携带在配置信息中,如果目标板的标识携带在配置信息中,则将第一程序升级到第二程序。
需要说明的是,上述过程中,配置信息中携带至少一个可被更新的版本号。
本实施例提供的程序更新方法,通过从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,再根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序,操作简单便捷,大大提高了程序更新的效率,降低成本。
图2是本发明实施例提出的另一种程序更新方法的流程示意图。
步骤201,在预设时长内检测目标板的移动存储设备插槽中是否外接有移动存储设备。
步骤202,如果检测到移动存储设备,根据配置文件的标识从移动存储设备中获取配置文件。
需要说明的是,预设时长可以根据实际应用需要进行选择设置,比如3秒、5秒等。
具体地,在预设时长内检测到目标板的移动存储设备插槽中外接有移动存储设备,可以根据配置文件的标识从移动存储设备中获取配置文件。其中,配置文件的标识可以是用户根据需要设置的特定名字(比如字母、数字等及其组合)。
其中,作为一种实现形式,在预设时长内检测移动存储设备之前,需要将移动存储设备插入待更新的目标板的插槽后,重启系统,系统重启运行引导加载程序时,检测到移动存储设备,并根据配置文件的标识从移动存储设备中获取配置文件。
可以理解的是,移动存储设备中可以存储多个配置文件,因此需要根据配置文件的标识从而获取相对应的配置文件,以便快速根据配置信息完成程序更新,进一步提高程序更新的效率。
作为一种实现形式,可以通过写一文本配置文件,配置文件的名称根据需要进行命名,比如约定的文件名。配置文件中可以包括:第二程序(新程序)的标识、配置信息(第一程序的版本号、第二程序的版本号、目标板的标识)。
步骤203,根据配置信息判断第一程序的版本号是否为可被更新的版本号;其中,配置信息中携带至少一个可被更新的版本号。
步骤204,如果判断结果为第一程序的版本号为可被更新的版本号,则根据配置信息判断目标板的标识是否携带在配置信息中。
步骤205,如果目标板的标识携带在配置信息中,则根据配置文件中第二程序的标识,从移动存储设备中获取到第二程序,对第二程序进行解密,利用解密后的第二程序更新第一程序。
具体地,配置信息包括第一程序、第二程序及目标板的标识等。在实际应用中,对程序进行更新,既可以是利用版本号高的程序更新版本号低的程序,还可以是利用版本号低的程序更新版本号高的程序(针对需要将程序更新回原版本的情况等)。
为了本领域人员更加清楚上述描述过程,举例而言,配置信息中携带多个可被更新的版本号,比如可被更新的版本号的字段为“1.2.5-3.12.8,3.13.2”,目标板中的第一程序的版本号的字段为“1.2.5-3.12.8,2.10.8”,则可以将目标中的第一程序进行更新。或者是,目标板中的第一程序的版本号的字段为“1.2.5-3.12.8,3.13.5”,则还是可以将目标中的第一程序进行更新。
由此,只要根据配置信息能够确定第一程序的版本号为可被更新的版本号,就能够进行下一步根据配置信息判断目标板的标识是否携带在配置信息中。
为了更加清楚描述如何将第一程序更新到新版本的第二程序,下面以“版本号低的第一程序升级到版本号高的第二程序”为例说明如下:
具体地,首先需要确定第一程序和第二程序版本号的高低,即确定利用版本号高的程序更新版本号低的程序,根据配置信息判断第一程序的版本号是否低于第二程序的版本号,并在第一程序的版本号低于第二程序的版本号时进一步根据配置信息判断目标板的标识是否携带在配置信息中,并在目标板的标识携带在配置信息中时将第一程序升级到第二程序。
其中,根据配置信息判断第一程序的版本号是否低于第二程序的版本号的方式有很多种,作为一种实现形式:程序一般有自己的命名规则,可以有四部分组成,第一部分为主版本号,第二部分为次版本号,第三部分为修订版本号,第四部分为日期版本号加希腊字母版本号等,在进行版本号比较时可以先比较主版本,再比较次版本,再比较最后修订版本号等,每个都是比较第一个数字的大小,从而确定第一程序的版本号和第二程序版本号的高低。
需要说明的是,根据配置信息确定第一程序的版本号不为可被更新的版本号时,结束程序更新。
可以理解的是,为了进一步确保程序更新的安全性和准确性,配置信息中的目标板的标识,能够识别相对应的目标板,保证给目标板进行快速有效的程序更新。
为了进一步提高程序更新的安全性,将第二程序(即新程序)进行加密,根据配置文件中第二程序的标识,可以从移动存储设备中获取到第二程序(加密的),对第二程序进行解密后(解密后的第二程序可以保存在目标板的内存中),再利用解密后的第二程序更新第一程序(自动完成程序更新)。
其中,利用解密后的第二程序更新第一程序的方式有很多种,可以根据需要进行选择设置,举例而言,将程序存储器划分为两位置(第一位置和第二位置),在利用解密后的第二程序更新第一程序时,将解密后的第二程序存储到目标板中程序存储器的第一位置,目标板中的第一程序存储在程序存储器的第二位置,程序更新完成后,利用第一位置的起始地址修改目标板的程序起始地址,完成第一程序的更新。
需要说明的是,如果根据配置文件中第二程序的标识对加密的第二程序进行解密失败,结束程序更新。
其中,对第二程序进行加密的方式有很多种,可以根据实际应用需要进行选择设置,比如使用MD5加密、DES加密等。
步骤206,在配置文件的指定位置中记录已经更新完成的目标板的标识和第二程序的版本号。
步骤207,在第一程序更新失败时,维持程序起始地址为第二位置的起始地址。
具体地,程序更新完成后,引导加载程序自动在配置文件中的指定位置记录已经更新完成的目标板的标识和第二程序的版本号的内容段,即写入目标板的标识、第二程序(新程序)的版本号。
可以理解的是,程序更新完成后,移动存储设备的配置文件和第二程序(加密程序)仍保留在移动存储设备中,可以继续更新其它目标板的程序,进一步减低成本,提高效率。
需要说明的是,在第一程序更新失败时,维持程序起始地址为第二位置的起始地址。即运行的是第一程序(原程序),保证机器始终能够正常运行。由此,采用智能和自动的方法,能够安全地更新轻轨和地铁行业等中的程序的目的。
本实施例提供的程序更新方法,通过在预设时长内检测目标板的移动存储设备插槽中是否外接有移动存储设备,并在检测到移动存储设备时根据配置文件的标识从移动存储设备中获取配置文件,再根据配置信息判断第一程序的版本号为可被更新的版本号时根据配置信息判断目标板的标识是否携带在配置信息中,并在目标板的标识携带在配置信息中时根据配置文件中第二程序的标识,从移动存储设备中获取到第二程序,对第二程序进行解密,利用解密后的第二程序更新第一程序。由此,在软件更新过程中不需要拆卸目标板,程序和配置文件拷贝到移动存储设备后,不需要连接电脑和操作电脑,即可以更新任意数量的目标板的程序,更新程序时只需要插拔存储设备一个操作,操作简单便捷,大大提高了程序更新的效率、准确性和安全性,降低成本。
进一步地,将本申请的程序更新方法应用于轻轨和地铁行业等上,不需要拆卸设备,不需要更换目标板,方便的完成程序的更新。其中,采用加密技术,进一步保证了程序的安全和设备运行的安全。
为了实现上述实施例,本发明还提出一种程序更新装置。
图3是本发明实施例提出的一种程序更新装置的结构示意图。
如图3所示,该程序更新装置包括:获取模块11和更新模块12。
其中,获取模块11,用于从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,。
更新模块12,用于根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序。
进一步地,获取模块11,具体用于在预设时长内检测目标板的移动存储设备插槽中是否外接有移动存储设备,如果检测到移动存储设备,根据配置文件的标识从移动存储设备中获取配置文件。
图4是本发明实施例提出的一种更新模块的结构示意图。如图4所示,更新模块11包括:第一判断单元121、第二判断单元122、更新单元123。
其中,第一判断单元121,用于根据配置信息判断第一程序的版本号是否为可被更新的版本号;其中,配置信息中携带至少一个可被更新的版本号。
第二判断单元122,用于如果判断结果为第一程序的版本号为可被更新的版本号,则根据配置信息判断目标板的标识是否携带在配置信息中。
更新单元123,用于当目标板的标识携带在配置信息中时,则将第一程序升级到第二程序。
图5是本发明实施例提出的一种更新单元的结构示意图。如图5所示,更新单元123包括:获取子单元1231、解密子单元1232和更新子单元1233。
其中,获取子单元1231,用于根据配置文件中第二程序的标识,从移动存储设备中获取到第二程序。
解密子单元1232,用于对第二程序进行解密。
更新子单元1233,用于利用解密后的第二程序更新第一程序。
进一步地,更新子单元1233,具体用于将解密后的第二程序存储到目标板中程序存储器的第一位置,利用第一位置的起始地址修改目标板的程序起始地址,完成第一程序的更新。其中,目标板中的第一程序存储在程序存储器的第二位置。
进一步地,更新子单元1233,还用于在第一程序更新失败时,维持程序起始地址为第二位置的起始地址。
图6是本发明实施例提出的另一种更新模块的结构示意图。在如图4的基础上,更新模块12还包括:记录单元124。
其中,记录单元124,用于在配置文件的指定位置中记录已经更新完成的目标板的标识和第二程序的版本号。
需要说明的是,前述对程序更新方法实施例的解释说明也适用于本实施例的程序更新装置,此处不再赘述。
本实施例提供的程序更新方法,通过从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,再根据配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序,在软件更新过程中不需要拆卸目标板,程序和配置文件拷贝到移动存储设备后,不需要连接电脑和操作电脑,即可以更新任意数量的目标板的程序,更新程序时只需要插拔存储设备一个操作,操作简单便捷,大大提高了程序更新的效率、准确性和安全性,降低成本。
进一步地,将本申请的程序更新方法应用于轻轨和地铁行业等上,不需要拆卸设备,不需要更换目标板,方便的完成程序的更新。其中,采用加密技术,进一步保证了程序的安全和设备运行的安全。
需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义是两个或两个以上。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
应当理解,本发明的各部分模块或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (12)
1.一种程序更新方法,其特征在于,包括:
从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件;
根据所述配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序;其中,将所述目标板中的程序存储器划分为第一位置和第二位置,所述目标板中的所述第一程序存储在所述程序存储器的所述第二位置,在所述利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序时,将解密后的所述第二程序存储到所述程序存储器的所述第一位置,利用所述第一位置的起始地址修改所述目标板的程序起始地址,完成所述第一程序的更新。
2.根据权利要求1所述的方法,其特征在于,所述根据所述配置文件中的配置信息,利用引导加载程序将所述目标板中的当前版本的第一程序更新到新版本的第二程序,包括:
根据所述配置信息判断所述第一程序的版本号是否为可被更新的版本号;其中,所述配置信息中携带至少一个可被更新的版本号;
如果判断结果为所述第一程序的版本号为可被更新的版本号,则根据所述配置信息判断所述目标板的标识是否携带在所述配置信息中;
如果所述目标板的标识携带在所述配置信息中,则将所述第一程序升级到所述第二程序。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一程序升级到所述第二程序,包括:
根据所述配置文件中所述第二程序的标识,从所述移动存储设备中获取到所述第二程序;
对所述第二程序进行解密;
利用解密后的所述第二程序更新所述第一程序。
4.根据权利要求1所述的方法,其特征在于,还包括:
在所述第一程序更新失败时,维持所述程序起始地址为所述第二位置的起始地址。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
在所述配置文件的指定位置中记录已经更新完成的所述目标板的标识和所述第二程序的版本号。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件,包括:
在预设时长内检测所述目标板的移动存储设备插槽中是否外接有所述移动存储设备;
如果检测到所述移动存储设备,根据所述配置文件的标识从所述移动存储设备中获取所述配置文件。
7.一种程序更新装置,其特征在于,包括:
获取模块,用于从外接于待更新的目标板的移动存储设备获取用于程序更新的配置文件;
更新模块,用于根据所述配置文件中的配置信息,利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序,其中,将所述目标板中的程序存储器划分为第一位置和第二位置,所述目标板中的所述第一程序存储在所述程序存储器的所述第二位置,在所述利用引导加载程序将目标板中的当前版本的第一程序更新到新版本的第二程序时,将解密后的所述第二程序存储到所述程序存储器的所述第一位置,利用所述第一位置的起始地址修改所述目标板的程序起始地址,完成所述第一程序的更新。
8.根据权利要求7所述的装置,其特征在于,所述更新模块,包括:
第一判断单元,用于根据所述配置信息判断所述第一程序的版本号是否为可被更新的版本号;其中,所述配置信息中携带至少一个可被更新的版本号;
第二判断单元,用于如果判断结果为所述第一程序的版本号为可被更新的版本号,则根据所述配置信息判断所述目标板的标识是否携带在所述配置信息中;
更新单元,用于当所述目标板的标识携带在所述配置信息中时,则将所述第一程序升级到所述第二程序。
9.根据权利要求8所述的装置,其特征在于,所述更新单元,包括:
获取子单元,用于根据所述配置文件中所述第二程序的标识,从所述移动存储设备中获取到所述第二程序;
解密子单元,用于对所述第二程序进行解密;
更新子单元,用于利用解密后的所述第二程序更新所述第一程序。
10.根据权利要求7所述的装置,其特征在于,还包括:
更新子单元,还用于在所述第一程序更新失败时,维持所述程序起始地址为所述第二位置的起始地址。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述更新模块,还包括:
记录单元,用于在所述配置文件的指定位置中记录已经更新完成的所述目标板的标识和所述第二程序的版本号。
12.根据权利要求7-10任一项所述的装置,其特征在于,所述获取模块,具体用于在预设时长内检测所述目标板的移动存储设备插槽中是否外接有所述移动存储设备,如果检测到所述移动存储设备,根据所述配置文件的标识从所述移动存储设备中获取所述配置文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710171156.XA CN108628619B (zh) | 2017-03-21 | 2017-03-21 | 程序更新方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710171156.XA CN108628619B (zh) | 2017-03-21 | 2017-03-21 | 程序更新方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108628619A CN108628619A (zh) | 2018-10-09 |
CN108628619B true CN108628619B (zh) | 2020-11-06 |
Family
ID=63706451
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710171156.XA Active CN108628619B (zh) | 2017-03-21 | 2017-03-21 | 程序更新方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108628619B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324362A (zh) * | 2018-12-14 | 2020-06-23 | 北京宝沃汽车有限公司 | 车辆、车辆电控系统程序更新的方法和装置 |
CN111343026A (zh) * | 2020-03-09 | 2020-06-26 | 杭州迪普科技股份有限公司 | 电子设备及其配置导入方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102681857B (zh) * | 2011-03-07 | 2016-08-31 | 北京博创理想科技有限公司 | 一种实现车载软件系统修复或升级的方法、装置 |
CN103106092A (zh) * | 2013-02-18 | 2013-05-15 | 青岛海信宽带多媒体技术有限公司 | 终端设备中系统软件升级方法和装置 |
CN103995723B (zh) * | 2014-05-26 | 2018-08-03 | 惠州华阳通用电子有限公司 | 一种基于移动存储设备升级ivi系统固件的方法和装置 |
CN104331302B (zh) * | 2014-09-29 | 2018-10-02 | 华为技术有限公司 | 一种应用更新方法、移动终端和通信系统 |
KR101672956B1 (ko) * | 2015-08-21 | 2016-11-04 | 주식회사 유라코퍼레이션 | 전기 차량용 소프트웨어 설치 시스템 및 그 방법 |
-
2017
- 2017-03-21 CN CN201710171156.XA patent/CN108628619B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN108628619A (zh) | 2018-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101047457B (zh) | 数字广播处理装置及其引导装载器更新方法 | |
US7421573B2 (en) | Apparatus and method for updating firmware | |
CN107704282B (zh) | 一种应用于嵌入式系统的加载方法及装置 | |
CN104123199A (zh) | 应用程序的恢复方法、装置和移动终端 | |
US8397055B2 (en) | Method and system for post-build modification of firmware binaries to support different hardware configurations | |
CN103324507A (zh) | 一种终端预置应用程序更新的方法和装置 | |
CN102436388A (zh) | 嵌入式系统软件升级方法和装置 | |
CN109766105A (zh) | 驱动程序安装方法、装置、服务器及计算机可读存储介质 | |
CN105677388A (zh) | 电动汽车电机控制器的固件更新方法 | |
CN110543318A (zh) | 控制设备程序更新方法、装置、存储介质及控制设备 | |
CN101169729A (zh) | 嵌入式系统及其更新应用程序的方法 | |
CN105718281A (zh) | 一种触摸屏固件升级方法及装置 | |
CN101807152A (zh) | 自我验证选择只读存储器的基本输出入系统及其验证方法 | |
CN105760191A (zh) | 嵌入式系统设备程序烧写量产方法 | |
CN108628619B (zh) | 程序更新方法和装置 | |
CN105354059A (zh) | 空调系统的控制器的升级方法及装置 | |
CN102999349B (zh) | 一种软件升级方法 | |
CN110489959B (zh) | 烧录文件的保护方法、烧录方法、装置、存储介质及设备 | |
CN102609290A (zh) | 电子产品的软件升级方法 | |
CN105095006A (zh) | 一种软件安装失败的修复方法及装置 | |
CN105159714B (zh) | 一种pmic初始化方法和电子设备 | |
US10705827B2 (en) | Method for updating system information of a computer device | |
CN112394967B (zh) | 批量生产软件工具的电子装置、方法与计算机可读取媒体 | |
CN116048561A (zh) | 存储卡的固件升级方法、计算机设备及可读存储介质 | |
KR102005656B1 (ko) | 제어 시스템 및 프로그래머블 로직 컨트롤러 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |