CN111061500A - bootloader程序的更新方法及更新装置 - Google Patents
bootloader程序的更新方法及更新装置 Download PDFInfo
- Publication number
- CN111061500A CN111061500A CN201911419611.9A CN201911419611A CN111061500A CN 111061500 A CN111061500 A CN 111061500A CN 201911419611 A CN201911419611 A CN 201911419611A CN 111061500 A CN111061500 A CN 111061500A
- Authority
- CN
- China
- Prior art keywords
- program
- updating
- update
- bootloader
- bootloader program
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 230000009191 jumping Effects 0.000 claims abstract description 16
- 238000012795 verification Methods 0.000 claims description 56
- 238000012790 confirmation Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 abstract description 15
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 239000000463 material Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请提出一种启动装载bootloader程序的更新方法,其中,控制器中存储有bootloader程序和用于更新bootloader程序的更新程序,方法包括:在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令;如果检测到更新指令,跳入更新程序;执行更新程序,由更新程序对bootloader程序进行更新。本申请中,可以对预设时间内是是否有针对bootloader程序的更新指令进行检测,并在检测到更新指令后,跳入并执行更新程序,由更新程序对bootloader程序进行更新,使得本申请提出的启动装载bootloader程序的更新方法能够利用软件对bootloader进行在线更新,无需拆卸控制器并连接外置的调试器,解决了现有启动装载bootloader程序的更新方法中存在的bootloader程序更新过程耗时久、成本高、效率低的技术问题。
Description
技术领域
本申请涉及车辆控制技术领域,尤其涉及一种启动装载bootloader程序的更新方法、bootloader程序的更新装置。
背景技术
一个完整的控制器包括硬件、底层软件、应用层软件三部分。控制器开发调试过程中,需要多次将应用层程序烧写到芯片中,启动装载bootloader程序可以实现控制器程序的在线刷写,通过CAN总线更新应用层程序。通常,在控制器的调试和维护过程中,往往会对bootloader程序有更新需求。
在现阶段的相关技术中,通常需要拆卸控制器,并将其与外置的调试器相连接,以对bootloader程序进行更新。
但是,在相关技术中,依赖将控制器拆卸并与调试器相连接作为对bootloader程序进行更新的唯一手段,使得bootloader程序的更新方法存在更新过程耗时久、成本高、效率低的技术问题。
发明内容
本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本申请的第一个目的在于提出一种bootloader程序的更新方法,以实现解决现有技术中依赖将控制器拆卸并与调试器相连接作为对bootloader程序进行更新的唯一手段,使得bootloader程序的更新方法存在更新过程耗时久、成本高、效率低的技术问题。
本申请的第二个目的在于提出一种bootloader程序的更新装置。
本申请的第三个目的在于提出一种整车控制器。
本申请的第四个目的在于提出一种车辆。
本申请的第五个目的在于提出一种电子设备。
本申请的第六个目的在于提出一种计算机可读存储介质。
为达上述目的,本申请第一方面实施例提出了一种bootloader程序的更新方法,其特征在于,控制器中存储有bootloader程序和用于更新所述bootloader程序的更新程序,包括以下步骤:在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令;如果检测到所述更新指令,跳入所述更新程序;执行所述更新程序,由所述更新程序对所述bootloader程序进行更新。
根据本申请的一个实施例,所述控制器中还存储有用于对承载所述控制器的目标设备进行控制的应用程序,所述方法还包括:如果未检测到所述更新指令,跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
根据本申请的一个实施例,所述由所述更新程序对所述bootloader程序进行更新,包括:擦除所述bootloader程序所在的存储区域内的数据;接收上位机下发的bootloader程序的更新数据包;将所述更新数据包中的数据写入所述存储区域内。
根据本申请的一个实施例,所述接收上位机下发的bootloader程序的更新数据包之前,还包括:在所述更新程序将所述存储区域内的数据擦除成功后,向所述上位机上报擦除成功的指示信息。
根据本申请的一个实施例,所述由所述更新程序擦除所述bootloader程序所在的存储区域内的数据之前,还包括:向所述上位机反馈所述更新程序接收到所述更新指令的确认信息。
根据本申请的一个实施例,所述将所述更新数据包中的数据写入所述存储区域内,包括:从所述更新数据包中提取第一验证信息;根据所述更新数据包生成第二验证信息;对所述第一验证信息和所述第二验证信息进行一致性判定,如果所述第一验证信息和所述第二验证信息一致,将所述更新数据包中的数据写入所述存储区域内。
根据本申请的一个实施例,所述将所述更新数据包中的数据写入所述存储区域内之后,还包括:从所述更新程序跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
本申请第一方面实施例提供了bootloader程序的更新方法,可以对预设时间内是是否有针对bootloader程序的更新指令进行检测,并在检测到更新指令后,跳入并执行更新程序,由更新程序对bootloader程序进行更新,使得本申请提出的bootloader程序的更新方法能够利用软件对bootloader进行在线更新,无需拆卸控制器并连接外置的调试器,解决了现有bootloader程序的更新方法中存在的bootloader程序更新过程耗时久、成本高、效率低的技术问题。
为达上述目的,本申请第二方面实施例提出了一种bootloader程序的更新装置,包括:指令检测模块、跳转模块和更新模块,其中,所述更新模块中存储有用于更新bootloader程序的更新程序;所述bootloader程序存储在所述更新装置的指定存储空间内;所述指令检测模块,用于在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令;所述跳转模块,用于在检测到所述更新指令后,控制从所述bootloader程序跳入所述更新模块;所述更新模块,用于执行内部存储的所述更新程序,由所述更新程序对所述bootloader程序进行更新。
根据本申请的一个实施例,跳转模块,用于:如果未检测到所述更新指令,跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
根据本申请的一个实施例,更新模块,用于:擦除所述bootloader程序所在的存储区域内的数据;接收上位机下发的bootloader程序的更新数据包;将所述更新数据包中的数据写入所述存储区域内。
根据本申请的一个实施例,更新模块,用于:在所述更新程序将所述存储区域内的数据擦除成功后,向所述上位机上报擦除成功的指示信息。
根据本申请的一个实施例,更新模块,用于:向所述上位机反馈所述更新程序接收到所述更新指令的确认信息。
根据本申请的一个实施例,更新模块,用于:从所述更新数据包中提取第一验证信息;根据所述更新数据包生成第二验证信息;对所述第一验证信息和所述第二验证信息进行一致性判定,如果所述第一验证信息和所述第二验证信息一致,将所述更新数据包中的数据写入所述存储区域内。
根据本申请的一个实施例,跳转模块,用于:从所述更新程序跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
本申请第二方面实施例提供了一种bootloader程序的更新装置,可以对预设时间内是是否有针对bootloader程序的更新指令进行检测,并在检测到更新指令后,跳入并执行更新程序,由更新程序对bootloader程序进行更新,使得本申请提出的bootloader程序的更新方法能够利用软件对bootloader进行在线更新,无需拆卸控制器并连接外置的调试器,解决了现有bootloader程序的更新方法中存在的bootloader程序更新过程耗时久、成本高、效率低的技术问题。
为达上述目的,本申请第三方面实施例提出了一种整车控制器,包括:本发明第二方面实施例提供的bootloader程序的更新装置。
为达上述目的,本申请第四方面实施例提出了一种车辆,包括:本发明第三方面实施例提供的整车控制器。
为达上述目的,本申请第五方面实施例提出了一种电子设备,包括:存储器、处理器;其中,所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于实现本发明第一方面实施例提供的bootloader程序的更新方法。
为达上述目的,本申请第六方面实施例提出了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明第一方面实施例提供的bootloader程序的更新方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种bootloader程序的更新方法的流程图;
图2为本申请实施例提供的另一种bootloader程序的更新方法的流程图;
图3为本申请实施例提供的另一种bootloader程序的更新方法的流程图;
图4为本申请实施例提供的另一种bootloader程序的更新方法的流程图;
图5为本申请实施例提供的另一种bootloader程序的更新方法的流程图;
图6为本申请实施例提供的一种bootloader程序的更新装置的结构示意图;
图7为本申请实施例提供的一种整车控制器的结构示意图;
图8为本申请实施例提供的一种车辆的结构示意图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
下面参考附图描述本申请实施例的bootloader程序的更新方法、bootloader程序的更新装置。
图1为本申请实施例提出了一种bootloader程序的更新方法的流程图。如图1所示,具体包括以下步骤:
S101、在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令。
其中,预设时间可以根据实际情况进行设定。
可选地,控制器可以读取上位机下发的针对bootloader程序的更新指令。其中,用户可以通过上位机的操作面板等手动输入方式或者通过语音、移动终端等远程输入方式,向上位机输入针对bootloader程序的更新指令。需要说明的是,一般情况下在需要对bootloader程序进行更新时,上位机可以主动对bootloader程序的更新数据进行检测,当检测到更新数据后就可以主动在控制器上电后,向控制器bootloader程序的更新指令。
S102、如果检测到更新指令,跳入更新程序。
需要说明的是,本申请中,控制器中预先存储有bootloader程序、用于更新bootloader程序的更新程序。在检测到更新指令后,可以控制跳转至更新程序,以对bootloader程序进行更新。
S103、执行更新程序,由更新程序对bootloader程序进行更新。
可选地,在跳入更新程序后,可以控制更新程序向控制器反馈接收到更新指令的确认信息,控制器接收该确认信息,并将其反馈至上位机。
进一步地,在向上位机发送确认指令后,更新程序可以将更新数据写入bootloader程序所在的存储区域内,以实现更新程序对bootloader程序的更新。
由此,本申请实施例提供的bootloader程序的更新方法,可以对预设时间内是是否有针对bootloader程序的更新指令进行检测,并在检测到更新指令后,跳入并执行更新程序,由更新程序对bootloader程序进行更新,使得本申请提出的bootloader程序的更新方法能够利用软件对bootloader进行在线更新,无需拆卸控制器并连接外置的调试器,解决了现有bootloader程序的更新方法中存在的bootloader程序更新过程耗时久、成本高、效率低的技术问题。
进一步地,如果未检测到更新指令,则可以控制跳入控制器内正常的应用程序内,并执行应用程序以对目标设备进行控制。
作为一种可能的实现方式,如图2所示,具体包括以下步骤:
S201、在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令。
S202、如果检测到更新指令,跳入更新程序。
S203、执行更新程序,由更新程序对bootloader程序进行更新。
S204、如果未检测到更新指令,跳入控制器内的应用程序内。
S205、执行应用程序以对目标设备进行控制。
可选地,如果未检测到更新指令,说明当前无需对bootloader程序进行更新,则可以控制跳入应用程序,并执行应用程序。
需要说明的是,关于步骤S201~S205的介绍可参见上述实施例中的相关记载,此处不再赘述。
需要说明的是,在更新程序对bootloader程序进行更新之前,bootloader程序所在的存储区域内存储有上一次更新时写入的数据,当前bootloader程序处于非可写入状态。因此,在试图通过更新程序对bootloader程序进行更新时,可以首先擦除bootloader程序所在的存储区域内原有的数据,在确定擦除完成后,在将此次更新过程中获取到的更新数据包中的数据写入bootloader程序所在的存储区域中。
作为一种可能的实现方式,如图3所示,具体包括以下步骤:
S301、擦除bootloader程序所在的存储区域内的数据。
需要说明的是,本申请中在更新过程中,需要执行更新程序,通过更新程序擦除bootloader程序所在的存储区域内的数据,同时可以对数据擦除操作是否成功进行识别。
可选地,如果识别存储区域内的数据擦除成功,则可以向控制器发送擦除成功的指示信息,控制器接收到该指示信息后,再将该指示信息上报给上位机;反之,则控制更新程序继续执行数据擦除操作,直至确定数据擦除成功为止。
可选地,在更新程序擦除bootloader程序所在的存储区域内的数据时,可以由控制器对数据擦除操作进行监控。可以控制更新程序在擦除数据的同时,向控制器发送对数据擦除操作的监控指示信息,控制器接收到该监控指示信息后,可以对更新程序的数据擦除操作进行监控。如果识别存储区域内的数据擦除成功,则可以控制更新程序停止擦除,同时向上位机上报擦除成功的指示信息;反之,则继续实时对更新程序的数据擦除操作进行监控,直至确定数据擦除成功为止。
S302、接收上位机下发的bootloader程序的更新数据包。
可选地,在上位机接收到擦除成功的指示信息后,可以自动下发bootloader程序的更新数据包至控制器。控制器接收到更新数据包之后,将该更新数据包下发至更新程序中,更新程序接收该更新数据包。
S303、将更新数据包中的数据写入存储区域内。
可选地,在更新程序接收到此次更新过程中获取到的更新数据包后,可以从更新数据包中提取出更新数据,并将该数据写入bootloader程序所在的存储区域内。
进一步地,为了确保能够将bootloader程序可用的数据成功写入存储区域内,在接收到更新数据包后,可以对更新数据进行识别。作为一种可能的实现方式,如图4所示,具体包括以下步骤:
S401、从更新数据包中提取第一验证信息。
需要说明的是,更新程序接收到的更新数据包中包括:更新数据和第一验证信息。其中,第一验证信息用于检验更新数据的可靠性。
S402、根据更新数据包生成第二验证信息。
需要说明的是,在对更新数据包的可靠性进行识别时,可以选择累加和校验、异或校验、循环冗余校验等任意方式。其中,验证方式可以根据实际情况进行选择。例如,可以选择累加和校验算法(checksum)。
S403、对第一验证信息和第二验证信息进行一致性判定。
可选地,在获取到第一验证信息和第二验证信息后,可以对第一验证信息和第二验证信息进行一致性判定。如果第一验证信息和第二验证信息一致,说明第一验证信息和第二验证信息验证成功,则可以执行步骤S404;如果第一验证信息和第二验证信息不一致,说明第一验证信息和第二验证信息验证不成功,则可以执行步骤S405。
举例来说,当上位机试图发送16进制验证信息41 00 42时,可以在所发送的验证信息的末尾发送字节的累加和,0x41+0+0x42=0x83,此时实际发送的验证信息为41 00 4283,即言,更新程序收到的更新数据包中的第一验证信息为41 00 42 83。在更新程序收到更新数据包之后可以对更新数据包进行分析。可选地,可以将第一验证信息中的0x83放在一边,重新计算字节41 00 42,得到第二验证信息。
进一步地,可以将第一验证码与第二验证码进行一致性判定,如果第一验证信息和第二验证信息一致,说明更新程序接受到的更新数据包可靠,则可以执行步骤S404;如果第一验证信息和第二验证信息不一致,说明更新程序接受到的更新数据包不可靠,则可以执行步骤S405。
S404、将更新数据包中的数据写入存储区域内。
S405、控制更新程序向控制器反馈故障提醒。
由此,本申请能够在接收到更新数据包后,从更新包中提取第一验证信息,根据更新数据包生成第二验证信息,然后根据获取到的第一验证信息和第二验证信息,对两者进行一致性判定,并在确定第一验证信息和第二验证信息一致后,将更新数据包中的数据写入存储区域内,确保了能够将bootloader程序可用的数据成功写入存储区域内。
进一步地,在将更新数据包中的数据写入存储区域内之后,可以控制更新程序向控制器发送更新完成的指示信息,控制器在接收到该指示信息后,可以控制从更新程序跳入控制器内的应用程序内,并执行应用程序以对目标设备进行控制,使得本申请提出的bootloader程序的更新方法更加智能。
为了实现上述实施例,如图5所示,本申请提出了一种bootloader程序的更新方法的流程图,具体包括以下步骤:
S501、在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令。
S502、如果检测到更新指令,跳入并执行更新程序。
S503、如果未检测到更新指令,跳入控制器内的应用程序内,执行应用程序以对目标设备进行控制。
S504、擦除bootloader程序所在的存储区域内的数据。
S505、接收上位机下发的bootloader程序的更新数据包。
S506、从更新数据包中提取第一验证信息。
S507、根据更新数据包生成第二验证信息。
S508、对第一验证信息和第二验证信息进行一致性判定。
S509、将更新数据包中的数据写入存储区域内。
S510、控制更新程序向控制器反馈故障提醒。
需要说明的是,关于步骤S501~S510的介绍可参见上述实施例中的相关记载,此处不再赘述。
由此,本申请可以对预设时间内是是否有针对bootloader程序的更新指令进行检测,并在检测到更新指令后,跳入并执行更新程序,由更新程序对bootloader程序进行更新,使得本申请提出的bootloader程序的更新方法能够利用软件对bootloader进行在线更新,无需拆卸控制器并连接外置的调试器,解决了现有bootloader程序的更新方法中存在的bootloader程序更新过程耗时久、成本高、效率低的技术问题。
图6为本申请实施例的bootloader程序的更新装置的结构示意图。如图6所示,本申请实施例的bootloader程序的更新装置100,包括:指令检测模块11、跳转模块12和更新模块13,其中,所述更新模块13中存储有用于更新bootloader程序的更新程序;所述bootloader程序存储在所述更新装置的指定存储空间内;所述指令检测模块11,用于:在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令;所述跳转模块12,用于:在检测到所述更新指令后,控制从所述bootloader程序跳入所述更新模块;所述更新模块13,用于:执行内部存储的所述更新程序,由所述更新程序对所述bootloader程序进行更新。
其中,所述跳转模块12,还用于:如果未检测到所述更新指令,跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
进一步地,所述更新模块13,还用于:擦除所述bootloader程序所在的存储区域内的数据;接收上位机下发的bootloader程序的更新数据包;将所述更新数据包中的数据写入所述存储区域内。
进一步地,所述更新模块13,还用于:在所述更新程序将所述存储区域内的数据擦除成功后,向所述上位机上报擦除成功的指示信息。
进一步地,所述更新模块13,还用于:向所述上位机反馈所述更新程序接收到所述更新指令的确认信息。
进一步地,本申请提出的bootloader程序的更新装置还包括,验证模块14,用于:从所述更新数据包中提取第一验证信息;根据所述更新数据包生成第二验证信息;对所述第一验证信息和所述第二验证信息进行一致性判定,如果所述第一验证信息和所述第二验证信息一致,将所述更新数据包中的数据写入所述存储区域内。
进一步地,所述跳转模块12,还用于:从所述更新程序跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
需要说明的是,前述bootloader程序的更新方法实施例的解释说明也适用于本实施例的bootloader程序的更新装置,此处不再赘述。
由此,本申请可以对预设时间内是是否有针对bootloader程序的更新指令进行检测,并在检测到更新指令后,跳入并执行更新程序,由更新程序对bootloader程序进行更新,使得本申请提出的bootloader程序的更新方法能够利用软件对bootloader进行在线更新,无需拆卸控制器并连接外置的调试器,解决了现有bootloader程序的更新方法中存在的bootloader程序更新过程耗时久、成本高、效率低的技术问题。
为了实现上述实施例,本申请还提出了一种整车控制器200,如图7所示,包括bootloader程序的更新装置100,实现前述的bootloader程序的更新方法。
为了实现上述实施例,本申请还提出了一种车辆300,如图8所示,包括整车控制器200,实现前述的bootloader程序的更新方法。
为了实现上述实施例,本申请还提出了一种电子设备400,如图9所示,包括存储器41、处理器42及存储在存储器41上并可在处理器42上运行的计算机程序,处理器执行程序时,实现前述的bootloader程序的更新方法。
为了实现上述实施例,本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的bootloader程序的更新方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种启动装载bootloader程序的更新方法,其特征在于,控制器中存储有bootloader程序和用于更新所述bootloader程序的更新程序,所述方法包括以下步骤:
在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令;
如果检测到所述更新指令,跳入所述更新程序;
执行所述更新程序,由所述更新程序对所述bootloader程序进行更新。
2.根据权利要求1所述的方法,其特征在于,所述控制器中还存储有用于对承载所述控制器的目标设备进行控制的应用程序,所述方法还包括:
如果未检测到所述更新指令,跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
3.根据权利要求1所述的方法,其特征在于,所述由所述更新程序对所述bootloader程序进行更新,包括:
擦除所述bootloader程序所在的存储区域内的数据;
接收上位机下发的bootloader程序的更新数据包;
将所述更新数据包中的数据写入所述存储区域内。
4.根据权利要求3所述的方法,其特征在于,所述接收上位机下发的bootloader程序的更新数据包之前,还包括:
在所述更新程序将所述存储区域内的数据擦除成功后,向所述上位机上报擦除成功的指示信息。
5.根据权利要求3所述的方法,其特征在于,所述由所述更新程序擦除所述bootloader程序所在的存储区域内的数据之前,还包括:
向所述上位机反馈所述更新程序接收到所述更新指令的确认信息。
6.根据权利要求3所述的方法,其特征在于,所述将所述更新数据包中的数据写入所述存储区域内,包括:
从所述更新数据包中提取第一验证信息;
根据所述更新数据包生成第二验证信息;
对所述第一验证信息和所述第二验证信息进行一致性判定,如果所述第一验证信息和所述第二验证信息一致,将所述更新数据包中的数据写入所述存储区域内。
7.根据权利要求3所述的方法,其特征在于,所述将所述更新数据包中的数据写入所述存储区域内之后,还包括:
从所述更新程序跳入所述控制器内的所述应用程序内,并执行所述应用程序以对所述目标设备进行控制。
8.一种bootloader程序的更新装置,其特征在于,包括:
指令检测模块、跳转模块和更新模块,其中,所述更新模块中存储有用于更新bootloader程序的更新程序;所述bootloader程序存储在所述更新装置的指定存储空间内;
所述指令检测模块,用于在控制器上电后检测预设时间内是否有针对bootloader程序的更新指令;
所述跳转模块,用于在检测到所述更新指令后,控制从所述bootloader程序跳入所述更新模块;
所述更新模块,用于执行内部存储的所述更新程序,由所述更新程序对所述bootloader程序进行更新。
9.一种整车控制器,其特征在于,包括:如权利要求8所述的bootloader程序的更新装置。
10.一种车辆,其特征在于,包括:如权利要求9所述的整车控制器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911419611.9A CN111061500A (zh) | 2019-12-31 | 2019-12-31 | bootloader程序的更新方法及更新装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911419611.9A CN111061500A (zh) | 2019-12-31 | 2019-12-31 | bootloader程序的更新方法及更新装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111061500A true CN111061500A (zh) | 2020-04-24 |
Family
ID=70305935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911419611.9A Pending CN111061500A (zh) | 2019-12-31 | 2019-12-31 | bootloader程序的更新方法及更新装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061500A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111831310A (zh) * | 2020-07-17 | 2020-10-27 | 北京经纬恒润科技有限公司 | 一种软件更新方法及系统 |
CN112612528A (zh) * | 2020-12-30 | 2021-04-06 | 卡斯柯信号有限公司 | 一种基于Bootloader的系统软件选择性启动和远程更新方法 |
CN113568629A (zh) * | 2020-04-28 | 2021-10-29 | 中车株洲电力机车研究所有限公司 | 基于can的软件升级方法、装置、计算机设备和存储介质 |
CN114253567A (zh) * | 2020-09-21 | 2022-03-29 | 北京海博思创科技股份有限公司 | 程序更新方法、装置和设备 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294511A (zh) * | 2013-05-31 | 2013-09-11 | 哈尔滨工业大学 | 基于CAN总线的bootloader软件的升级方法 |
CN103744712A (zh) * | 2014-01-28 | 2014-04-23 | 北京经纬恒润科技有限公司 | 一种应用程序的更新方法及装置 |
CN104360877A (zh) * | 2014-10-24 | 2015-02-18 | 同济大学 | 基于Bootloader自更新的ECU固件更新方法 |
CN105677388A (zh) * | 2015-12-31 | 2016-06-15 | 清华大学苏州汽车研究院(吴江) | 电动汽车电机控制器的固件更新方法 |
CN106201640A (zh) * | 2016-09-19 | 2016-12-07 | 杭州迪普科技有限公司 | 一种升级BootLoader程序的方法及装置 |
CN106406955A (zh) * | 2016-09-22 | 2017-02-15 | 深圳市金溢科技股份有限公司 | RSU设备bootloader程序升级的方法、装置 |
CN108920196A (zh) * | 2018-06-28 | 2018-11-30 | 国机智骏(北京)汽车科技有限公司 | 整车控制器启动装载升级方法、装置、整车控制器及车辆 |
CN109933348A (zh) * | 2019-01-21 | 2019-06-25 | 宁波普瑞均胜汽车电子有限公司 | 一种电子控制单元中Bootloader的更新方法和装置 |
-
2019
- 2019-12-31 CN CN201911419611.9A patent/CN111061500A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103294511A (zh) * | 2013-05-31 | 2013-09-11 | 哈尔滨工业大学 | 基于CAN总线的bootloader软件的升级方法 |
CN103744712A (zh) * | 2014-01-28 | 2014-04-23 | 北京经纬恒润科技有限公司 | 一种应用程序的更新方法及装置 |
CN104360877A (zh) * | 2014-10-24 | 2015-02-18 | 同济大学 | 基于Bootloader自更新的ECU固件更新方法 |
CN105677388A (zh) * | 2015-12-31 | 2016-06-15 | 清华大学苏州汽车研究院(吴江) | 电动汽车电机控制器的固件更新方法 |
CN106201640A (zh) * | 2016-09-19 | 2016-12-07 | 杭州迪普科技有限公司 | 一种升级BootLoader程序的方法及装置 |
CN106406955A (zh) * | 2016-09-22 | 2017-02-15 | 深圳市金溢科技股份有限公司 | RSU设备bootloader程序升级的方法、装置 |
CN108920196A (zh) * | 2018-06-28 | 2018-11-30 | 国机智骏(北京)汽车科技有限公司 | 整车控制器启动装载升级方法、装置、整车控制器及车辆 |
CN109933348A (zh) * | 2019-01-21 | 2019-06-25 | 宁波普瑞均胜汽车电子有限公司 | 一种电子控制单元中Bootloader的更新方法和装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568629A (zh) * | 2020-04-28 | 2021-10-29 | 中车株洲电力机车研究所有限公司 | 基于can的软件升级方法、装置、计算机设备和存储介质 |
CN111831310A (zh) * | 2020-07-17 | 2020-10-27 | 北京经纬恒润科技有限公司 | 一种软件更新方法及系统 |
CN111831310B (zh) * | 2020-07-17 | 2024-06-04 | 北京经纬恒润科技股份有限公司 | 一种软件更新方法及系统 |
CN114253567A (zh) * | 2020-09-21 | 2022-03-29 | 北京海博思创科技股份有限公司 | 程序更新方法、装置和设备 |
CN112612528A (zh) * | 2020-12-30 | 2021-04-06 | 卡斯柯信号有限公司 | 一种基于Bootloader的系统软件选择性启动和远程更新方法 |
CN112612528B (zh) * | 2020-12-30 | 2022-08-02 | 卡斯柯信号有限公司 | 一种基于Bootloader的系统软件选择性启动和远程更新方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061500A (zh) | bootloader程序的更新方法及更新装置 | |
CN109358887B (zh) | 一种单片机程序的在线升级方法、装置及系统 | |
CN110134415A (zh) | 一种控制器及其软件升级方法和装置 | |
US20080046780A1 (en) | Nonvolatile memory | |
US20080201342A1 (en) | Data storage device management system and method | |
CN106547653B (zh) | 计算机系统故障状态检测方法、装置及系统 | |
EP1615132A2 (en) | Method and Apparatus for Booting a System | |
US8667348B2 (en) | Data writing method for non-volatile memory module and memory controller and memory storage apparatus using the same | |
CN105468384A (zh) | 车载控制器的烧写系统、方法、服务器和烧写终端 | |
CN105760191A (zh) | 嵌入式系统设备程序烧写量产方法 | |
CN109597635A (zh) | 一种主控程序安全引导升级方法、嵌入式设备及存储器 | |
US20070250254A1 (en) | On-vehicle control apparatus | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN110555006A (zh) | 日志记录方法、电池管理系统、车辆及电子设备 | |
CN112650518A (zh) | Dsp程序在线升级方法 | |
US7590793B2 (en) | Data access controlling method in flash memory and data access controlling program | |
US8788238B2 (en) | System and method for testing power supplies of server | |
CN110457058A (zh) | 控制节点在线升级方法、装置、上位机、系统及电子设备 | |
JP2006244269A (ja) | 設備管理装置、プログラム更新システム、設備管理プログラム更新方法、起動プログラム、および設備管理プログラム | |
CN112445670B (zh) | 一种eMMC测试方法和装置 | |
CN110196730B (zh) | 应用程序的热补丁管理方法、装置和存储介质 | |
CN112394965A (zh) | 电池管理系统升级和运行方法,控制器,电池管理系统及存储介质 | |
CN108549539A (zh) | 一种进行设备远程升级的方法及装置 | |
CN110781031B (zh) | 控制器数据恢复方法、装置、控制器及汽车 | |
CN108920210A (zh) | 一种加载存储控制软件的方法、系统及相关组件 |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 1008, Shenye logistics building, No. 2088, Baoan North Road, Sungang street, Luohu District, Shenzhen City, Guangdong Province Applicant after: Baoneng Automobile Group Co.,Ltd. Address before: 518000 Shenye Logistics Building 1088, 2088 Baoan North Road, Shaanggang Street, Luohu District, Shenzhen City, Guangdong Province Applicant before: BAONENG AUTOMOBILE Co.,Ltd. |
|
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20200424 |