CN113220318A - 电机控制器的程序更新方法、装置及可读存储介质 - Google Patents
电机控制器的程序更新方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN113220318A CN113220318A CN202010072209.4A CN202010072209A CN113220318A CN 113220318 A CN113220318 A CN 113220318A CN 202010072209 A CN202010072209 A CN 202010072209A CN 113220318 A CN113220318 A CN 113220318A
- Authority
- CN
- China
- Prior art keywords
- application program
- motor controller
- software
- program
- updating
- 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 44
- 238000012795 verification Methods 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 13
- 230000006870 function Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000007789 sealing Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004026 adhesive bonding Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 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
本发明公开了一种电机控制器的程序更新方法、装置、系统及可读存储介质,通过在电机控制器上电后,运行应用程序前对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对应用程序进行更新。本发明在运行应用程序前就对应用程序进行完整性校验,若未通过完整性校验,则进入软件刷写模式以对应用程序进行更新,减少了因程序不完整致使应用程序无法运行的风险,减少了运行应用程序后无法使用诊断仪更新程序的风险,进而不需对电机控制器进行开盖更新或者使用特殊工具强刷,极大地提高了电机控制器软件的更新效率,节约了时间和成本,快速高效地完成了电机控制器软件的更新需求。
Description
技术领域
本发明涉及车辆控制技术领域,尤其涉及一种电机控制器的程序更新方法、装置及可读存储介质。
背景技术
在车辆电机控制器开发后期的装车调试以及车辆量产后,会发现电机控制器功能或性能问题需要及时完善,因此要对电机控制器的软件(应用程序)进行更新,以确保电机控制器功能齐全且性能可靠。而传统的电机控制器软件更新主要是使用诊断仪更新,如果诊断仪更新软件过程中出现外界干扰导致程序更新中断,会出现软件更新失败的情况,这会造成控制器中软件不完整,从而导致控制器无法正常工作且无法再使用诊断仪对软件进行更新,为了应对这种风险,需要提前设计有效的软件更新失败处理策略。
通常对软件更新失败导致软件不完整的处理策略有两种。一种是强刷软件,在上电过程利用特定工具向电机控制器循环发送强刷报文,使电机控制器进入软件刷写模式,这种方法的弊端是需要拔插蓄电池电源,并借助特定工具发送报文。另一种是电机控制器开盖后,使用芯片烧录工具进行软件烧录,该做法的弊端是当电机控制器已装车或销售后,需要把控制器从车辆上拆下才能开盖,且开盖后会破坏控制器的密封性,需要返厂进行打胶密封,耗时耗力。这两种方法都不能无法快速、高效地对电机控制器软件进行更新。
发明内容
本发明提供一种电机控制器的程序更新方法、装置及可读存储介质,以解决使用诊断仪对电机控制器的软件进行更新,更新失败后处理策略耗时长且低效的问题。
一种电机控制器的程序更新方法,所述方法包括:
在所述电机控制器上电后,运行应用程序前对所述电机控制器的应用程序进行完整性校验;
若所述电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对所述应用程序进行更新。
进一步地,所述电机控制器的启动装载程序Boot Loader包含有软件完整性校验模块,所述运行应用程序前对所述电机控制器的应用程序进行完整性校验,包括:
在运行所述Boot Loader时触发执行所述软件完整性校验模块,以对所述电机控制器的应用程序进行完整性校验。
进一步地,所述对所述电机控制器的应用程序进行完整性校验,包括:
获取所述Boot Loader中的校验码,并获取所述应用程序中的校验码;
将所述Boot Loader中的校验码和所述应用程序中的校验码进行匹配;
若所述Boot Loader中的校验码和所述应用程序中的校验码匹配,则确定所述电机控制器的应用程序通过完整性校验;
若所述Boot Loader中的校验码和所述应用程序中的校验码不匹配,则确定所述电机控制器的应用程序未通过完整性校验。
进一步地,所述对所述应用程序进行更新,包括:
判断所述电机控制器是否满足软件刷写条件;
若所述电机控制器满足软件刷写条件,则接收所述应用程序对应的软件更新信息;
根据所述软件更新信息更新所述应用程序,并在更新后的所述应用程序写入新的校验码,并将所述新的校验码写入所述Boot Loader中。
进一步地,所述根据所述软件更新信息更新所述应用程序,并在更新后的所述应用程序写入新的校验码,包括:
擦除所述电机控制器中所述应用程序;
将所述更新程序写入所述电机控制器得到更新后的应用程序;
在更新后的所述应用程序的预设地址段写入所述校验码。
进一步地,所述接收所述应用程序对应的软件更新信息,包括:
接收车辆设备发送的所述应用程序对应的软件更新信息;
或,接收诊断仪发送的所述应用程序对应的软件更新信息。
一种电机控制器的程序更新装置,包括:
校验模块,用于在所述电机控制器上电后,运行应用程序前对所述电机控制器的应用程序进行完整性校验;
刷写模块,用于若所述电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对所述应用程序进行更新。
进一步地,所述电机控制器的启动装载程序Boot Loader包含所述有软件完整性校验模块,所述运行应用程序前对所述电机控制器的应用程序进行完整性校验,包括:
在运行所述Boot Loader时触发执行所述软件完整性校验模块,以对所述电机控制器的应用程序进行完整性校验。
一种电机控制器的程序更新装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的电机控制器的程序更新方法的步骤。
一种可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述的电机控制器的程序更新方法的步骤。
上述一种电机控制器的程序更新方法、装置及可读存储介质,通过在电机控制器上电后,运行应用程序前对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对应用程序进行更新。本发明在运行应用程序前就对应用程序进行完整性校验,若应用程序未通过完整性校验,则进入软件刷写模式以对不完整的应用程序进行更新,减少了因应用程序不完整致使应用程序无法运行的风险,减少了运行应用程序后无法再使用诊断仪更新程序的风险,进而也不需对电机控制器进行开盖更新或者使用特殊工具进行强刷,极大地提高了电机控制器软件的更新效率,节约了时间和人工成本,快速高效地完成了电机控制器软件的更新需求,提高用户满意度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中电机控制器的程序更新方法的流程示意图;
图2是本发明实施例中电机控制器的程序更新方法步骤S10的实现流程示意图;
图3是本发明实施例中电机控制器的程序更新方法步骤S10的实现流程示意图;
图4是本发明实施例中电机控制器的程序更新装置的一结构示意图;
图5是本发明实施例中计电机控制器的程序更新装置的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例前提下所获得的所有其他实施例,都属于本发明保护的范围。
在一实施例中,如图1示,提供一种电机控制器的程序更新方法,具体包括如下步骤:
S10:在电机控制器上电后,运行应用程序前对电机控制器的应用程序进行完整性校验。
电机控制器上电,进行硬件初始化后,在运行电机控制器的应用程序前,需要对电机控制器的应用程序进行完整性校验,以判断电机控制器的应用程序是否完整。
S20:若电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对应用程序进行更新。
在电机控制器上电后,在运行电机控制器的应用程序前,对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,表示应用程序不完整需要更新,则自动进入软件刷写模式以对应用程序进行更新。在进入软件刷写模式后,在合适的条件下可以使用诊断仪更新等方式对电机控制器的应用程序进行更新,以保证电机控制器的应用程序的符合用户需求。
本实施例中,通过在电机控制器上电后,运行应用程序前对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,则自动进入软件刷写模式以对应用程序进行更新。本发明在运行应用程序前就对应用程序进行完整性校验,若应用程序未通过完整性校验,则进入软件刷写模式以对不完整的应用程序进行更新,减少了因应用程序不完整致使应用程序无法运行的风险,减少了运行应用程序后无法再使用诊断仪更新程序的风险,进而也不需对电机控制器进行开盖更新或者使用特殊工具进行强刷,极大地提高了电机控制器软件的更新效率,节约了时间和人工成本,快速高效地完成了电机控制器软件的更新需求,提高用户满意度。
在一实施例中,电机控制器的启动装载程序Boot Loader包含有软件完整性校验模块。步骤S10中,即运行应用程序前对电机控制器的应用程序进行完整性校验,具体包括如下步骤:
S101:在运行Boot Loader时触发执行软件完整性校验模块,以对电机控制器的应用程序进行完整性校验。
在电机控制器上电,并进行硬件初始化后,包含有软件完整性校验模块的启动装载程序Boot Loader自动运行,在运行Boot Loader过程中,会自动触发执行软件完整性校验模块,软件完整性校验模块对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,表示应用程序不完整需要更新,则进入软件刷写模式以对应用程序进行更新。
由于Boot Loader本身的特性,Boot Loader是在电机控制器上电后第一个运行的程序,因此,Boot Loader的运行在电机控制器的应用程序前,因此Boot Loader中的软件完整性校验模块对电机控制器的应用程序进行完整性校验也在应用程序运行之前。
本实施例中,电机控制器的启动装载程序Boot Loader包含有软件完整性校验模块,通过在运行Boot Loader时触发执行软件完整性校验模块,以对电机控制器的应用程序进行完整性校验;将软件完整性校验模块加入到Boot Loader中,利用Boot Loader为电机控制器上电后第一个运行程序的特性,来达到在运行应用程序前就对电机控制器的应用程序进行完整性校验的目的,以便后续在应用程序未通过完整性校验时,进入软件刷写模式,从而对不完整的应用程序进行更新,减少使应用程序无法运行的风险和运行应用程序后无法再使用诊断仪更新程序的风险,极大地提高了电机控制器软件的更新效率,节约了时间和人工成本,快速高效地完成了电机控制器软件的更新需求,提高用户满意度。
在一实施例中,电机控制器的启动装载程序Boot Loader包含有软件完整性校验模块,在运行Boot Loader时触发执行软件完整性校验模块,如图2所示,步骤S10中,即对电机控制器的应用程序进行完整性校验,具体包括如下步骤:
S11:获取Boot Loader中的校验码,并获取应用程序中的校验码。
在电机控制器上电,进行硬件初始化后,包含有软件完整性校验模块的启动装载程序Boot Loader自动运行,Boot Loader运行的过程中,会自动触发执行软件完整性校验模块,从而获取Boot Loader中的校验码,并获取应用程序中的校验码。其中,Boot Loader中的校验码和应用程序中的校验码对应。
例如,电机控制器上电,进行硬件初始化后,运行Boot Loader程序时,会读取应用程序最后256个字节的校验码,获取Boot Loader中的校验码。
S12:将Boot Loader中的校验码和应用程序中的校验码进行匹配。
在获取Boot Loader中的校验码和应用程序中的校验码之后,将Boot Loader中的校验码和应用程序中的校验码进行匹配。
例如,本发明实施例会读取应用程序最后256个字节的校验码,获取Boot Loader中的校验码,并将两组校验码进行匹配。
S13:若Boot Loader中的校验码和应用程序中的校验码匹配,则确定电机控制器的应用程序通过完整性校验。
在本发明实施例中,将Boot Loader中的校验码和应用程序中的校验码进行匹配,若Boot Loader中的校验码和应用程序中的校验码匹配,则确定电机控制器的应用程序通过完整性校验,表示上一次应用程序更新成功,电机控制器的应用程序完整可以使用,则电机控制器的应用程序正常运行。
例如,将两组校验码进行匹配,发现Boot Loader中的校验码和应用程序中的校验码匹配,则确定电机控制器的应用程序通过完整性校验,表示上一次应用程序更新成功,电机控制器的应用程序完整可以使用,将应用程序的完整状态标志位置标志为1,电机控制器的应用程序操作界面直接跳转至应用程序的app界面。
S14:若Boot Loader中的校验码和应用程序中的校验码不匹配,则确定电机控制器的应用程序未通过完整性校验。
将Boot Loader中的校验码和应用程序中的校验码进行匹配,若Boot Loader中的校验码和应用程序中的校验码不匹配,则确定电机控制器的应用程序未通过完整性校验,表示上一次应用程序更新失败,则自动进入软件刷写模式,以便后续对应用程序进行更新。
例如,将两组校验码进行匹配,发现Boot Loader中的校验码和应用程序中的校验码不匹配,则确定电机控制器的应用程序未通过完整性校验,表示上一次应用程序更新失败,电机控制器的应用程序不完整不可使用,将应用程序的完整状态标志位置标志为0,则跳转至软件刷写模式,以便后续满足刷写模式的条件下,对应用程序进行更新。
其中,在电机控制器第一次上电时,Boot Loader中的校验码和应用程序中的校验码为出厂设置的校验码,电机控制器第二次上电之后,随着用户对电机控制器应用程序的更新,校验码会发生变化,每一次更新后的校验码不同。
本实施例中,应用程序最后256个字节的校验码为示例性说明,在其他实施例中,电机控制器应用程序的校验码还可以是应用程序最后其他数量的字节,其中,其他数量为256的倍数,例如,应用程序的校验码为应用程序最后512个字节的校验码,在此不再赘述。
本实施例中,通过获取Boot Loader中的校验码,并获取应用程序中的校验码,将Boot Loader中的校验码和应用程序中的校验码进行匹配,若Boot Loader中的校验码和应用程序中的校验码匹配,则确定电机控制器的应用程序通过完整性校验;若Boot Loader中的校验码和应用程序中的校验码不匹配,则确定电机控制器的应用程序未通过完整性校验。本实施例中,在电机控制器上电后运行应用程序前,通过获取并匹配Boot Loader中的校验码和应用程序中的校验码,来实现对电机控制器的应用程序进行软件完整性校验,匹配校验码的方式高效且准确性高,能快速地对电机控制器的应用程序进行完整性校验,确定应用程序是否完整,为后续应用程序的快速、高效更新提供了基础。
在一实施例中,若电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对应用程序进行更新。如图3所示,步骤S20中,即对所述应用程序进行更新,具体包括如下步骤:
S21:判断电机控制器是否满足软件刷写条件。
在电机控制器上电后,在运行电机控制器的应用程序前,对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,表示应用程序不完整需要更新,则自动进入软件刷写模式以对应用程序进行更新。
在自动进入软件刷写模式后,对应用程序进行更新前,需要判断电机控制器是否满足软件刷写条件。若电机控制器不满足软件刷写条件,则不对应用程序进行更新。例如,若车辆处于高速运行的状态中,则电机控制器不满足软件刷写条件,不对应用程序进行更新。
S22:若电机控制器满足软件刷写条件,则接收应用程序对应的软件更新信息。
若判断电机控制器满足软件刷写条件,则接收应用程序对应的软件更新信息。软件更新信息用于更新未能通过完整性检验的应用程序。
例如,若车辆运行状态为静止未上高压状态,判断电机控制器满足软件刷写条件,则接收应用程序对应的软件更新信息。软件更新信息用于更新未能通过完整性检验的应用程序。
在一实施例中,软件更新信息中包括此次更新的校验码。
本实施例中,车辆处于静止未上高压状态满足软件刷写条件我示例性说明,在其他实施例中,软件刷写条件还有其他情况,在此不再赘述。
S23:根据软件更新信息更新应用程序,并在更新后的应用程序写入新的校验码,并将新的校验码写入Boot Loader中。
接收应用程序对应的软件更新信息之后,根据接收到的软件更新信息对应用程序进行更新,并在更新后的应用程序写入新的校验码,并将新的校验码写入Boot Loader中,以便于电机控制器重新上电后,根据新的校验码对应用程序进行软件完整性校验。
本实施例中,通过判断电机控制器是否满足软件刷写条件,当电机控制器满足软件刷写条件时,接收应用程序对应的软件更新信息,根据软件更新信息更新应用程序,在更新后的应用程序写入新的校验码,并将新的校验码写入Boot Loader中,通过在满足刷写条件时,在每一次电机控制器的应用程序更新时都写入新的校验码,并同步将新的校验码写入Boot Loader,以便于在电机控制器重新上电运行应用程序前,根据新的校验码对电机控制器的应用程序进行软件完整性校验,减少了Boot Loader中校验码与应用程序的校验码无法一一对应的可能性,提高了软件完整性校验的效率和准确性,能快速地对电机控制器的应用程序进行完整性校验,为后续应用程序的快速、高效更新提供了基础。
进一步地,在一实施例中,根据软件更新信息更新应用程序,并在更新后的应用程序写入新的校验码,包括:
S231:擦除电机控制器中应用程序。
接收应用程序对应的软件更新信息之后,擦除电机控制器中未通过软件完整性校验的应用程序。
S232:将更新程序写入电机控制器得到更新后的应用程序。
在擦除电机控制器中未通过软件完整性校验的应用程序之后,将接收到的软件更新信息中的更新程序写入电机控制器中,得到更新后的应用程序。
S233:在更新后的应用程序的预设地址段写入新的校验码。
在更新后的应用程序的预设地址段中写入新的校验码,新的校验码可以根据软件更新信息确定,也可以由用户自行设定。
例如,预设地址段为应用程序地址段的最后,在更新后的应用程序地址段的最后256个字节中写入校验码,并将新的验证码写入Boot Loader。
本实施例中,应用程序地址段最后256个字节的校验码为示例性说明,在其他实施例中,电机控制器应用程序的校验码还可以是应用程序最后地址段其他数量的字节,其中,其他数量为256的倍数,例如,应用程序的校验码为应用程序地址段最后512个字节的校验码,在此不再赘述。
本实施例中,接收应用程序对应的软件更新信息之后,通过擦除电机控制器中应用程序,将更新程序写入电机控制器得到更新后的应用程序,在更新后的应用程序的预设地址段写入新的校验码,将未通过软件完整性校验的应用程序完全擦除,将更新程序写入后,还将新的验证码写入到程序中且不影响更新后的应用程序的完整性,保证了更新后应用程序的完整性,为后续应用程序的快速、高效校验和更新提供了基础。
进一步地,在一实施例中,若电机控制器的应用程序未通过完整性校验,则自动进入软件刷写模式,进入软件刷写模式后,若电机控制器满足软件刷写条件,所述接收应用程序对应的软件更新信息,具体包括:
S221:接收车辆设备发送的应用程序对应的软件更新信息。
若电机控制器的应用程序未通过完整性校验,则自动进入软件刷写模式。进入软件刷写模式后,车辆设备预先接收远程服务器通过网络发送的应用程序对应的软件更新信息,当电机控制器满足软件刷写条件时,接收车辆设备通过can网络发送的应用程序对应的软件更新信息。
例如,进入软件刷写模式后,车载终端预先接收远程服务器通过网络发送的应用程序对应的软件更新信息,当电机控制器满足软件刷写条件时,接收车载终端通过CAN网络发送的对应的软件更新信息。
或者,
S222:接收诊断仪发送的应用程序对应的软件更新信息。
若电机控制器的应用程序未通过完整性校验,则自动进入软件刷写模式。进入软件刷写模式后,若电机控制器满足软件刷写条件,用户或检修人员将诊断仪与电机控制器进行连接,电机控制器软件更新装置收诊断仪发送过来的应用程序对应的软件更新信息。
本实施例中,车载终端为示例性说明,在其他实施例中,车辆设备还可以是其他设备,在此不再赘述。
本实施例中,若电机控制器的应用程序未通过完整性校验,则自动进入软件刷写模式,若电机控制器满足软件刷写条件,通过接收车辆设备发送的应用程序对应的软件更新信息或者接收车辆设备发送的应用程序对应的软件更新信息,以便后续根据接收的软件更新信息对应用程序进行更新,减少了运行应用程序后无法再使用诊断仪更新程序的风险,进而也不需对电机控制器进行开盖更新或者使用特殊工具进行强刷,极大地提高了电机控制器软件的更新效率,节约了时间和人工成本。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种电机控制器的程序更新装置,该电机控制器的程序更新装置与上述实施例中电机控制器的程序更新方法一一对应。如图4所示,该电机控制器的程序更新装置包括校验模块401和刷写模块402,各功能模块详细说明如下:
软件完整性校验模块,用于在电机控制器上电后,运行应用程序前对电机控制器的应用程序进行完整性校验。
刷写模块,用于若电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对应用程序进行更新。
在一实施例中,提供一种电机控制器的程序更新装置,包括:电机控制器的启动装载程序Boot Loader包含有软件完整性校验模块,运行应用程序前对电机控制器的应用程序进行完整性校验,包括:
在运行Boot Loader时触发执行软件完整性校验模块,以对电机控制器的应用程序进行完整性校验。
在电机控制器上电,并进行硬件初始化后,包含有软件完整性校验模块的启动装载程序Boot Loader自动运行,在运行Boot Loader过程中,会自动触发执行软件完整性校验模块,软件完整性校验模块对电机控制器的应用程序进行完整性校验,若电机控制器的应用程序未通过完整性校验,表示应用程序不完整需要更新,则进入软件刷写模式以对应用程序进行更新。
关于电机控制器的程序更新装置的具体限定可以参见上文中对于电机控制器的程序更新方法的限定,在此不再赘述。上述电机控制器的程序更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种电机控制器的程序更新装置,该电机控制器的程序更新装置可以是一种电机控制器,其内部结构图可以如图5所示。该电机控制器的程序更新装置包括通过系统总线连接的处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序。其中,该电机控制器的程序更新装置的处理器用于提供计算和控制能力。该电机控制器的程序更新装置的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机程序被处理器执行时以实现一种电机控制器的程序更新方法。
在一个实施例中,提供了一种可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上文所述的电机控制器的程序更新方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域普通技术人员应当理解:其依然可对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种电机控制器的程序更新方法,其特征在于,所述方法包括:
在所述电机控制器上电后,运行应用程序前对所述电机控制器的应用程序进行完整性校验;
若所述电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对所述应用程序进行更新。
2.如权利要求1所述的电机控制器的程序更新方法,其特征在于,所述电机控制器的启动装载程序Boot Loader包含有软件完整性校验模块,所述运行应用程序前对所述电机控制器的应用程序进行完整性校验,包括:
在运行所述Boot Loader时触发执行所述软件完整性校验模块,以对所述电机控制器的应用程序进行完整性校验。
3.如权利要求2所述的电机控制器的程序更新方法,其特征在于,所述对所述电机控制器的应用程序进行完整性校验,包括:
获取所述Boot Loader中的校验码,并获取所述应用程序中的校验码;
将所述Boot Loader中的校验码和所述应用程序中的校验码进行匹配;
若所述Boot Loader中的校验码和所述应用程序中的校验码匹配,则确定所述电机控制器的应用程序通过完整性校验;
若所述Boot Loader中的校验码和所述应用程序中的校验码不匹配,则确定所述电机控制器的应用程序未通过完整性校验。
4.如权利要求1-3任一项所述的电机控制器的程序更新方法,其特征在于,所述对所述应用程序进行更新,包括:
判断所述电机控制器是否满足软件刷写条件;
若所述电机控制器满足软件刷写条件,则接收所述应用程序对应的软件更新信息;
根据所述软件更新信息更新所述应用程序,并在更新后的所述应用程序写入新的校验码,并将所述新的校验码写入所述Boot Loader中。
5.如权利要求4所述的电机控制器的程序更新方法,其特征在于,所述根据所述软件更新信息更新所述应用程序,并在更新后的所述应用程序写入新的校验码,包括:
擦除所述电机控制器中所述应用程序;
将所述更新程序写入所述电机控制器得到更新后的应用程序;
在更新后的所述应用程序的预设地址段写入所述校验码。
6.如权利要求4所述的电机控制器的程序更新方法,其特征在于,所述接收所述应用程序对应的软件更新信息,包括:
接收车辆设备发送的所述应用程序对应的软件更新信息;
或,接收诊断仪发送的所述应用程序对应的软件更新信息。
7.一种电机控制器的程序更新装置,其特征在于,包括:
软件完整性校验模块,用于在所述电机控制器上电后,运行应用程序前对所述电机控制器的应用程序进行完整性校验;
刷写模块,用于若所述电机控制器的应用程序未通过完整性校验,则进入软件刷写模式以对所述应用程序进行更新。
8.如权利要求7所述的电机控制器的程序更新装置,其特征在于,包括:所述电机控制器的启动装载程序Boot Loader包含所述软件完整性校验模块,所述运行应用程序前对所述电机控制器的应用程序进行完整性校验,包括:
在运行所述Boot Loader时触发执行所述软件完整性校验模块,以对所述电机控制器的应用程序进行完整性校验。
9.一种电机控制器的程序更新装置,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至6任一项所述电机控制器的程序更新方法的步骤。
10.一种可读存储介质,所述可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至6任一项所述电机控制器的程序更新方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072209.4A CN113220318A (zh) | 2020-01-21 | 2020-01-21 | 电机控制器的程序更新方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010072209.4A CN113220318A (zh) | 2020-01-21 | 2020-01-21 | 电机控制器的程序更新方法、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113220318A true CN113220318A (zh) | 2021-08-06 |
Family
ID=77085666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010072209.4A Pending CN113220318A (zh) | 2020-01-21 | 2020-01-21 | 电机控制器的程序更新方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220318A (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369153A (zh) * | 2008-08-13 | 2009-02-18 | 奇瑞汽车股份有限公司 | 汽车电子控制器软件can线烧写的控制方法 |
CN102023884A (zh) * | 2010-11-25 | 2011-04-20 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式系统开发程序校验码自动生成的方法 |
CN102364891A (zh) * | 2011-09-13 | 2012-02-29 | 杭州华三通信技术有限公司 | 嵌入式以太网设备升级软件的方法及嵌入式以太网设备 |
CN103984340A (zh) * | 2014-05-21 | 2014-08-13 | 安徽江淮汽车股份有限公司 | 一种变速箱控制单元的软件刷写方法 |
CN107301042A (zh) * | 2017-06-06 | 2017-10-27 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
CN107402847A (zh) * | 2017-07-28 | 2017-11-28 | 安徽江淮汽车集团股份有限公司 | 一种整车控制器软件的远程升级方法及系统 |
CN107450518A (zh) * | 2017-08-16 | 2017-12-08 | 北京车和家信息技术有限责任公司 | 一种基于车载以太网构架的程序升级装置及其控制方法 |
CN108111336A (zh) * | 2017-12-05 | 2018-06-01 | 宁波三星医疗电气股份有限公司 | 一种电力线载波通信模块程序启动、升级与切换方法 |
CN108647040A (zh) * | 2018-05-10 | 2018-10-12 | 上海纳恩汽车技术有限公司 | 一种基于PEPS系统的Bootloader架构及刷写方法 |
CN109189461A (zh) * | 2018-11-27 | 2019-01-11 | 上海辛格林纳新时达电机有限公司 | 电梯控制系统的程序升级方法和电梯控制系统及电梯设备 |
CN109673009A (zh) * | 2018-11-13 | 2019-04-23 | 浙江合众新能源汽车有限公司 | 一种vcu软件空中升级方法及装置 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110389778A (zh) * | 2019-07-19 | 2019-10-29 | 苏州浪潮智能科技有限公司 | 一种异构加速平台的mcu固件升级方法及相关装置 |
-
2020
- 2020-01-21 CN CN202010072209.4A patent/CN113220318A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101369153A (zh) * | 2008-08-13 | 2009-02-18 | 奇瑞汽车股份有限公司 | 汽车电子控制器软件can线烧写的控制方法 |
CN102023884A (zh) * | 2010-11-25 | 2011-04-20 | 深圳市科陆电子科技股份有限公司 | 一种嵌入式系统开发程序校验码自动生成的方法 |
CN102364891A (zh) * | 2011-09-13 | 2012-02-29 | 杭州华三通信技术有限公司 | 嵌入式以太网设备升级软件的方法及嵌入式以太网设备 |
CN103984340A (zh) * | 2014-05-21 | 2014-08-13 | 安徽江淮汽车股份有限公司 | 一种变速箱控制单元的软件刷写方法 |
CN107301042A (zh) * | 2017-06-06 | 2017-10-27 | 北京航天自动控制研究所 | 一种带自检功能的SoC应用程序引导方法 |
CN107402847A (zh) * | 2017-07-28 | 2017-11-28 | 安徽江淮汽车集团股份有限公司 | 一种整车控制器软件的远程升级方法及系统 |
CN107450518A (zh) * | 2017-08-16 | 2017-12-08 | 北京车和家信息技术有限责任公司 | 一种基于车载以太网构架的程序升级装置及其控制方法 |
CN108111336A (zh) * | 2017-12-05 | 2018-06-01 | 宁波三星医疗电气股份有限公司 | 一种电力线载波通信模块程序启动、升级与切换方法 |
CN108647040A (zh) * | 2018-05-10 | 2018-10-12 | 上海纳恩汽车技术有限公司 | 一种基于PEPS系统的Bootloader架构及刷写方法 |
CN109673009A (zh) * | 2018-11-13 | 2019-04-23 | 浙江合众新能源汽车有限公司 | 一种vcu软件空中升级方法及装置 |
CN109189461A (zh) * | 2018-11-27 | 2019-01-11 | 上海辛格林纳新时达电机有限公司 | 电梯控制系统的程序升级方法和电梯控制系统及电梯设备 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110389778A (zh) * | 2019-07-19 | 2019-10-29 | 苏州浪潮智能科技有限公司 | 一种异构加速平台的mcu固件升级方法及相关装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110231952B (zh) | 一种ecu程序备份及循环升级控制方法及装置 | |
RU2142168C1 (ru) | Способ полного перепрограммирования стираемой энергонезависимой памяти | |
CN111309364A (zh) | 芯片程序的升级方法、装置及存储介质 | |
CN107239411B (zh) | 一种车载控制器内存管理方法及系统 | |
CN111240720A (zh) | 引导程序升级方法、装置及存储介质 | |
KR20000023497A (ko) | 플래시 메모리를 구비한 마이크로컴퓨터 및 플래시메모리에 프로그램을 저장하는 방법 | |
CN102135922A (zh) | 应用程序的刷新方法和系统 | |
CN105760165B (zh) | 一种mcu自我备份加载刷新的方法 | |
CN113110891B (zh) | 固态硬盘的固件加载方法、装置、计算机设备及存储介质 | |
CN112000358B (zh) | 充电桩的升级方法与智能充电桩 | |
US20020059569A1 (en) | Microcomputer and method for rewriting data on flash memory | |
CN111026417A (zh) | 一种嵌入式设备的升级方法及嵌入式设备 | |
CN113867750A (zh) | 一种soc处理器软件在线升级方法 | |
CN108170456B (zh) | 电子设备的固件升级方法及装置 | |
CN113918197A (zh) | 一种固件升级方法、系统、存储介质及设备 | |
CN113220318A (zh) | 电机控制器的程序更新方法、装置及可读存储介质 | |
CN114553764B (zh) | 汽车网关路由配置系统 | |
CN113114730B (zh) | 升级方法、装置、终端设备及存储介质 | |
CN114443403A (zh) | 一种寄存器功能覆盖组的生成方法、装置、设备及存储介质 | |
CN109814888B (zh) | NandFlash控制器EFUSE代替方法及装置 | |
CN111090542A (zh) | 基于异常掉电的异常块识别方法、装置及计算机设备 | |
US8019931B2 (en) | Method and control unit for operating a non-volatile memory, in particular for use in motor vehicles | |
CN111918278A (zh) | 空中下载升级校验方法、装置、介质和智能终端设备 | |
CN110795275A (zh) | 基于异常掉电过程中的异常块识别方法和装置 | |
CN114518834B (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20211230 Address after: 511400 No.36 Longying Road, Shilou Town, Panyu District, Guangzhou City, Guangdong Province Applicant after: GAC AION New Energy Vehicle Co.,Ltd. Address before: 510030 23 building, Cheng Yue mansion 448-458, Dongfeng Middle Road, Yuexiu District, Guangzhou, Guangdong. Applicant before: GUANGZHOU AUTOMOBILE GROUP Co.,Ltd. |