CN114064095A - 车载软件的升级方法、车载控制器、车辆及存储介质 - Google Patents
车载软件的升级方法、车载控制器、车辆及存储介质 Download PDFInfo
- Publication number
- CN114064095A CN114064095A CN202010797765.8A CN202010797765A CN114064095A CN 114064095 A CN114064095 A CN 114064095A CN 202010797765 A CN202010797765 A CN 202010797765A CN 114064095 A CN114064095 A CN 114064095A
- Authority
- CN
- China
- Prior art keywords
- software
- sub
- storage area
- vehicle
- upgrading
- 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 43
- 238000004891 communication Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 6
- 101150053844 APP1 gene Proteins 0.000 description 5
- 101100189105 Homo sapiens PABPC4 gene Proteins 0.000 description 5
- 102100039424 Polyadenylate-binding protein 4 Human genes 0.000 description 5
- 101100055496 Arabidopsis thaliana APP2 gene Proteins 0.000 description 3
- 101100016250 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) GYL1 gene Proteins 0.000 description 3
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 235000019800 disodium phosphate Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012545 processing 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
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4406—Loading of operating system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4416—Network booting; Remote initial program loading [RIPL]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请实施例提供了一种车载软件的升级方法、车载控制器、车辆及存储介质。该车载软件的升级方法,包括:采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,将写入第一次的升级软件的子存储区域标记为工作区域;存储区域包括至少两个子存储区域,所有升级软件均包括第二引导加载程序;采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,当检测到初始化信号时,将写入第N次的升级软件的子存储区域标记为工作区域,并将其它各子存储区域都标记为非工作区域。本申请实施例实现了车辆可以在运行过程中进行车载软件的升级。
Description
技术领域
本申请涉及软件升级技术领域,具体而言,本申请涉及一种车载软件的升级方法、车载控制器、车辆及存储介质。
背景技术
目前,车载控制器的车载软件广泛用于车辆的控制中,基于CAN(Controller AreaNetwork,控制器局域网络)总线的引导加载程序BootLoader和结合UDS(Unifieddiagnostic services,统一诊断服务)为车载控制的车载软件的升级提供便利。
但是,目前车载软件的升级需要先擦除原有的车载软件,再将升级软件写入存储区域。那么,写入升级软件时就需要原有的车载软件处于非工作状态,即车辆需要处于非运行的安全状态,例如停车、车辆档位不在前进挡。如果车辆在运行状态,就需要停下来进行车载软件的升级,从而妨碍了车辆的正常运行。
发明内容
本申请针对现有方式的缺点,提出一种车载软件的升级方法、车载控制器、车辆及存储介质,用于解决现有技术存在的需车辆停止运行才能进行车载软件升级的技术问题。
第一方面,本申请实施例提供一种车载软件的升级方法,包括:
采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,将写入第一次的升级软件的子存储区域标记为工作区域;存储区域包括至少两个子存储区域,所有升级软件均包括第二引导加载程序,标记为工作区域的子存储区域中升级软件作为车载软件控制车辆的运行;
采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,N为大于1的正整数;当检测到初始化信号时,将写入第N次的升级软件的子存储区域标记为工作区域,将其它各子存储区域都标记为非工作区域。
在一个可能的实现方式中,采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域之前,还包括:
将存储区域划分为至少两个子存储区域;每个子存储区域用于存储升级软件。
在一个可能的实现方式中,将存储区域划分为至少两个子存储区域,包括:
确定存储区域是否存在原始车载软件;
若存储区域存在原始车载软件,将原始车载软件所在区域作为一个子存储区域,将其余存储区域划分为至少一个子存储区域;
若存储区域不存在原始车载软件,则将存储区域划分为至少两个子存储区域。
在一个可能的实现方式中,采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,包括:
确定待写入第一次的升级软件的子存储区域;
若待写入第一次的升级软件的子存储区域存在原始车载软件,则擦除原始车载软件,将第一次的升级软件写入待写入第一次的升级软件的子存储区域;
若待写入第一次的升级软件的子存储区域不存在原始车载软件,将第一次的升级软件写入待写入第一次的升级软件的子存储区域。
在一个可能的实现方式中,确定待写入第一次的升级软件的子存储区域,包括:
若子存储区域存在原始车载软件,将该子存储区域作为第一次的升级软件待写入的子存储区域;
若子存储区域不存在原始车载软件,选取任一子存储区域作为第一次的升级软件待写入的子存储区域。
在一个可能的实现方式中,采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,包括:
确定待写入第N次的升级软件的子存储区域;
采用标记为工作区域的子存储区域的升级软件的第二引导加载程序,将第N次的升级软件写入待写入第N次的升级软件的子存储区域。
第二方面,本申请实施例还提供一种车载软件的升级装置,包括:
第一升级模块,用于采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,将写入第一次的升级软件的子存储区域标记为工作区域;存储区域包括至少两个子存储区域,所有升级软件均包括第二引导加载程序,标记为工作区域的子存储区域中升级软件作为车载软件控制车辆的运行;
第二升级模块,用于采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,当检测到初始化信号时,将写入第N次的升级软件的子存储区域标记为工作区域,并将其它各子存储区域都标记为非工作区域。
第三方面,本申请实施例又提供一种车载控制器,包括:
通信单元,用于与上位机通信连接,接收上位机发送的升级软件;
处理器;
存储器,与处理器电连接,包括保留区域和存储区域,存储区域包括至少两个子存储区域;
保留区域配置用于存储第一引导加载程序,第一引导加载程序在由处理器执行时,将第一次的升级软件写入一个子存储区域;所有升级软件均包括第二引导加载程序;将写入第一次的升级软件的子存储区域标记为工作区域;标记为工作区域的子存储区域中升级软件作为车载软件控制车辆的运行;
任一子存储区域中的升级软件的第二引导加载程序,在由处理器执行时,将第N次的升级软件写入任一未标记为工作区域的子存储区域;N为大于1的正整数;当检测到初始化信号时,将写入第N次的升级软件的子存储区域标记为工作区域,并将其它各子存储区域都标记为非工作区域。
第四方面,本申请实施例再提供一种车辆,包括:如第三方面的车载控制器。
第五方面,本申请实施例还提供一种计算机可读存储介质,计算机存储介质用于存储计算机指令,当计算机指令在计算机上运行时,实现如第一方面的车载软件的升级方法。
本申请实施例提供的技术方案带来的有益技术效果包括:
本申请实施例的存储区域包括至少两个子存储区域,可以采用第二引导加载程序将最新的升级软件写入未标记为工作区域的子存储区域,也就是将最新的升级软件写入处于非工作状态的子存储区域,标记为工作区域的子存储区域的升级软件作为车载软件处于工作状态,可以正常控制车辆的运行。因此,本申请实施例的车载软件的升级过程,不影响车辆的正常运行,车辆可以在运行过程中进行车载软件的升级,不会带来安全隐患。
本申请实施例的车载控制器可以与上位机通信连接,接收上位机发送的升级软件,不需要远程下载升级软件,降低了远程升级对车辆运行的干扰和带来的安全隐患的风险。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例提供的一种车载控制器的结构示意图;
图2为本申请实施例提供的一种车载软件的升级方法的流程图;
图3为本申请实施例提供的另一种车载软件的升级方法的流程图;
图4为本申请实施例提供的一种车载控制器的存储器的结构示意图;
图5为本申请实施例提供的一种车载软件的升级装置的结构示意图;
图6为本申请实施例提供的另一种车载软件的升级装置的结构示意图。
具体实施方式
下面详细描述本申请,本申请的实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的部件或具有相同或类似功能的部件。此外,如果已知技术的详细描述对于示出的本申请的特征是不必要的,则将其省略。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
首先对本申请涉及的几个名词进行介绍和解释:
BootLoader:引导加载程序,在操作系统内核运行之前运行,可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境,应用于嵌入式操作系统。
本申请实施例提供一种车载控制器,参见图1所示,该车载控制器100包括:通信单元110、处理器120和存储器130。
通信单元110,用于与上位机通信连接,接收上位机发送的升级软件。
存储器130,与处理器120电连接,包括保留区域131和存储区域132,存储区域132包括至少两个子存储区域1321。
保留区域131配置用于存储第一引导加载程序1311,第一引导加载程序在由处理器120执行时,将第一次的升级软件写入一个子存储区域1321;所有升级软件均包括第二引导加载程序;将写入第一次的升级软件的子存储区域1321标记为工作区域,标记为工作区域的子存储区域1321中升级软件作为车载软件控制车辆的运行;
任一子存储区域1321中的升级软件的第二引导加载程序,在由处理器120执行时,将第N次的升级软件写入任一未标记为工作区域的子存储区域1321,N为大于1的正整数;当检测到初始化信号时,将写入第N次的升级软件的子存储区域1321标记为工作区域,并将其它各子存储区域1321都标记为非工作区域。
具体地,位于工作区域的升级软件作为车载软件控制车辆的运行,位于非工作区域的升级软件处于非工作状态。
可选地,通过上位机直接存储或下载后存储升级软件,再通过通信单元110与车载控制器100通信连接,将升级软件发送到车载控制器100,从而不需要远程下载升级软件,降低了远程升级对车辆运行的干扰和带来安全隐患的风险。
可选地,处理器120可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field-Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器120也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
可选地,存储器130还配置有至少一个程序,至少一个程序被配置为由处理器120执行时,实现本申请任一实施例的车载软件的升级方法,本申请实施例的车载软件的升级方法将在下文中具体介绍。
基于同一发明构思,本申请实施例提供一种车辆,包括:如本申请任一实施例的车载控制器。
基于同一发明构思,本申请实施例提供一种车载软件的升级方法,应用于如图1所示的车载控制器100,参见图2所示,该车载软件的升级方法,包括如下步骤:
S201、采用第一引导加载程序,将第一次的升级软件写入存储区域132的一个子存储区域1321,将写入第一次的升级软件的子存储区域1321标记为工作区域;存储区域132包括至少两个子存储区域1321,所有升级软件均包括第二引导加载程序,标记为工作区域的子存储区域1321中升级软件作为车载软件控制车辆的运行。
可选地,处理器120采用第一引导加载程序,将第一次的升级软件写入存储区域132的一个子存储区域1321,将写入第一次的升级软件的子存储区域1321标记为工作区域。
可选地,标记为工作区域的子存储区域1321中升级软件作为车载软件,需要进行车辆控制的时候,运行标记为工作区域的子存储区域1321中升级软件,该升级软件处于工作状态。
可选地,将写入第一次的升级软件的子存储区域1321标记为工作区域时,将其他各子存储区域1321标记为非工作区域。
在一些实施例中,采用第一引导加载程序,将第一次的升级软件写入存储区域132的一个子存储区域1321之前,还包括:
将存储区域132划分为至少两个子存储区域1321;每个子存储区域1321用于存储升级软件。
在一些实施例中,将存储区域132划分为至少两个子存储区域1321,包括:
确定存储区域132是否存在原始车载软件;
若存储区域132存在原始车载软件,则将原始车载软件所在区域作为一个子存储区域1321,将其余存储区域132划分为至少一个子存储区域1321。
若存储区域132不存在原始车载软件,则将存储区域132划分为至少两个子存储区域1321。
可选地,原始车载软件可以有或没有第二引导加载程序。
在一些实施例中,采用第一引导加载程序,将第一次的升级软件写入存储区域132的一个子存储区域1321,包括:
确定待写入第一次的升级软件的子存储区域1321。
若待写入第一次的升级软件的子存储区域1321存在原始车载软件,则擦除原始车载软件,将第一次的升级软件写入待写入第一次的升级软件的子存储区域1321。
若待写入第一次的升级软件的子存储区域1321不存在原始车载软件,则将第一次的升级软件写入待写入第一次的升级软件的子存储区域1321。
在一些实施例中,确定待写入第一次的升级软件的子存储区域1321,包括:
若子存储区域1321存在原始车载软件,则将该子存储区域1321作为第一次的升级软件待写入的子存储区域1321。
若子存储区域1321不存在原始车载软件,则选取任一子存储区域1321作为第一次的升级软件待写入的子存储区域1321。
S202、车载控制器100采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域1321,当检测到初始化信号时,将写入第N次的升级软件的子存储区域1321标记为工作区域,并将其它各子存储区域1321都标记为非工作区域。
具体地,其它各子存储区域1321都标记为非工作区域,使得只有一个子存储区域1321被标记为工作区域,用于控制车辆的运行。
可选地,当车载控制器100处于休眠状态并被唤醒时,车载控制器100检测到初始化信号,例如:车辆处于停止状态或车辆档位不在前进挡,被重新启动前行时,车载控制器100会检测到初始化信号,将写入第N次的升级软件的子存储区域1321标记为工作区域,也就是最新的升级软件作为车载软件,控制车辆的运行。这样,便于车辆运行过程中,已有的车载软件一直控制车辆的运行,当新的升级软件写完成后,在下一次需要车载软件控制车辆运行时,才切换为新的升级软件,进一步保障车辆运行的安全性。
在一些实施例中,采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域1321,包括:
确定待写入第N次的升级软件的子存储区域1321。
采用标记为工作区域的子存储区域1321的升级软件的第二引导加载程序,将第N次的升级软件写入待写入第N次的升级软件的子存储区域1321。
可选地,待写入第N次的升级软件的子存储区域1321为一个未标记为工作区域的子存储区域。此时,标记为工作区域的子存储区域1321为写入第N-1次的升级软件的子存储区域1321,待写入第N次的升级软件的子存储区域1321为除了写入第N-1次的升级软件的子存储区域1321的其他子存储区域1321。
可选地,确定待写入第N次的升级软件的子存储区域1321,包括:选取任一未标记为工作区域的子存储区域1321,作为待写入第N次的升级软件的子存储区域1321。
可选地,确定待写入第N次的升级软件的子存储区域1321,包括:
若待写入第N次的升级软件的子存储区域1321存在升级软件,则将升级软件擦除。
本申请实施例的存储区域132包括至少两个子存储区域1321,可以采用第二引导加载程序将最新的升级软件写入未标记为工作区域的子存储区域1321,也就是将最新的升级软件写入处于非工作状态的子存储区域1321,标记为工作区域的子存储区域1321的升级软件作为车载软件处于工作状态,可以正常控制车辆的运行。因此,本申请实施例的车载软件的升级过程,不影响车辆的正常运行,车辆可以在运行过程中进行车载软件的升级,不会带来安全隐患。
在一个可能的实施例中,本申请实施例提供一种车载软件的升级方法,应用于如图1所示的车载控制器100,参见图3所示,该车载软件的升级方法,包括如下步骤:
S301、确定存储区域132是否存在原始车载软件;若存储区域132存在原始车载软件,执行步骤S302;若存储区域132不存在原始车载软件,执行步骤S303。
S302、将原始车载软件所在区域作为一个子存储区域1321,将其余存储区域132划分为至少一个子存储区域1321,之后执行步骤S304。
S303、将存储区域132划分为至少两个子存储区域1321。
S304、确定子存储区域1321是否存在原始车载软件;若子存储区域1321存在原始车载软件,执行步骤S305;若子存储区域1321不存在原始车载软件,执行步骤S306。
S305、将该子存储区域1321作为第一次的升级软件待写入的子存储区域1321,之后执行步骤S307。
S306、选取任一子存储区域1321作为第一次的升级软件待写入的子存储区域1321,之后执行步骤S308。
S307、若第一次的升级软件待写入的子存储区域1321存在原始车载软件,擦除原始车载软件,将第一次的升级软件写入待写入第一次的升级软件的子存储区域1321,将写入第一次的升级软件的子存储区域标记为工作区域,之后执行步骤S309。
S308、若第一次的升级软件待写入的子存储区域1321不存在原始车载软件,将第一次的升级软件写入待写入第一次的升级软件的子存储区域1321,将写入第一次的升级软件的子存储区域标记为工作区域,之后执行步骤S309。
S309、确定待写入第N次的升级软件的子存储区域1321。
S310、采用标记为工作区域的子存储区域1321的升级软件的第二引导加载程序,将第N次的升级软件写入待写入第N次的升级软件的子存储区域1321。
S311、当检测到初始化信号时,将写入第N次的升级软件的子存储区域1321标记为工作区域,并将其它各子存储区域1321都标记为非工作区域。
参见图4所示,存储区域132包括第一子存储区域1321a和第二子存储区域1321b,第一子存储区域1321a和第二子存储区域1321b均可运行升级软件,升级软件为控制器应用程序。在一个可能的实施例中,本申请实施例以存储区域132包括第一子存储区域1321a和第二子存储区域1321b为例,提供一种车载软件的升级方法,包括如下步骤:
步骤一、采用第一引导加载程序,将第一次的升级软件写入存储区域132的第一子存储区域1321a,将第一子存储区域1321a标记为工作区域,将第二子存储区域1321b标记为非工作区域。
可选地,第一次的升级软件由上位机发送,第一次的升级软件为APP(Application,应用程序),记为APP1,APP1包括第二引导加载程序。
可选地,第一子存储区域1321a运行APP1,控制车辆的运行。
步骤二、采用第一次的升级软件(即APP1)的第二引导加载程序,将第二次的升级软件写入第二子存储区域1321b,当检测到初始化信号时,第二子存储区域1321b标记为工作区域,并将第一子存储区域1321a标记为非工作区域。
可选地,第二次的升级软件由上位机发送,第二次的升级软件为APP(Application,应用程序),记为APP2,APP2包括第二引导加载程序。在此过程中,APP1处于正常工作模式,保证车辆可以执行正常功能。
可选地,当车载控制器100处于休眠状态并被唤醒时,车载控制器100检测到初始化信号,例如:车辆处于停止状态或车辆档位不在前进挡,被重新启动前行时,车载控制器100会检测到初始化信号。
步骤三、采用第二次的升级软件(即APP2)的第二引导加载程序,将第三次的升级软件写入第一子存储区域1321a,当检测到初始化信号时,第一子存储区域1321a标记为工作区域,并将第二子存储区域1321b标记为非工作区域。
当再次进行软件升级时,与步骤二和步骤三的原理类似,依次类推,进行软件升级。
基于同一发明构思,本申请实施例还提供一种车载软件的升级装置,参见图5所示,该车载软件的升级装置500包括:第一升级模块501和第二升级模块502。
第一升级模块501用于采用第一引导加载程序,将第一次的升级软件写入存储区域132的一个子存储区域1321,将写入第一次的升级软件的子存储区域1321标记为工作区域;存储区域132包括至少两个子存储区域1321,所有升级软件均包括第二引导加载程序,标记为工作区域的子存储区域1321中升级软件作为车载软件控制车辆的运行;
第二升级模块502用于采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域1321,当检测到初始化信号时,将写入第N次的升级软件的子存储区域1321标记为工作区域,并将其它各子存储区域1321都标记为非工作区域。
可选地,参见图6所示,本申请实施例的车载软件的升级装置500除了包括第一升级模块501和第二升级模块502之外,还包括分区模块503。
具体地,分区模块503用于将存储区域132划分为至少两个子存储区域1321;每个子存储区域1321用于存储升级软件。
可选地,分区模块503具体用于确定存储区域132是否存在原始车载软件;原始车载软件没有第二引导加载程序;若存储区域132存在原始车载软件,则将原始车载软件所在区域作为一个子存储区域1321,将其余存储区域132划分为至少一个子存储区域1321;若存储区域132不存在原始车载软件,则将存储区域132划分为至少两个子存储区域1321。
可选地,第一升级模块501具体用于确定待写入第一次的升级软件的子存储区域1321;若待写入第一次的升级软件的子存储区域1321存在原始车载软件,则擦除原始车载软件,将第一次的升级软件写入待写入第一次的升级软件的子存储区域1321;若待写入第一次的升级软件的子存储区域1321不存在原始车载软件,则将第一次的升级软件写入待写入第一次的升级软件的子存储区域1321。
可选地,第一升级模块501具体用于若子存储区域1321存在原始车载软件,则将该子存储区域1321作为第一次的升级软件待写入的子存储区域1321;若子存储区域1321不存在原始车载软件,则选取任一子存储区域1321作为第一次的升级软件待写入的子存储区域1321。
可选地,第二升级模块502具体用于确定待写入第N次的升级软件的子存储区域1321;采用标记为工作区域的子存储区域1321的升级软件的第二引导加载程序,将第N次的升级软件写入待写入第N次的升级软件的子存储区域1321。
可选地,第二升级模块502具体用于若待写入第N次的升级软件的子存储区域1321存在升级软件,则将升级软件擦除。
基于同一发明构思,本申请实施例还提供一种计算机可读存储介质,计算机存储介质用于存储计算机指令,当计算机指令在计算机上运行时,实现如本申请任一实施例的车载软件的升级方法。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
本申请实施例的计算机可读介质可以是包含在电子设备中;也可以是单独存在,而未装配入电子设备中。
或者,本申请实施例的计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收包括至少两个网际协议地址的节点评价请求;从至少两个网际协议地址中,选取网际协议地址;返回选取出的网际协议地址;其中,接收到的网际协议地址指示内容分发网络中的边缘节点。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请实施例的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,模块或单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本申请实施例的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
应用本申请实施例,至少能够实现如下有益效果:
(1)本申请实施例的车载软件的升级过程,不影响车辆的正常运行,车辆可以在运行过程中进行车载软件的升级,不会带来安全隐患。
(2)本申请实施例通过上位机将升级软件发送给车载控制器100,从而不需要远程下载升级软件,降低了远程升级对车辆运行的干扰和带来安全隐患的风险。
(3)本申请实施例在车辆运行过程中,已有的车载软件一直控制车辆的运行,当新的升级软件写完成后,在下一次需要车载软件控制车辆运行时,才切换为新的升级软件,进一步保障车辆运行的安全性。
本技术领域技术人员可以理解,本申请中已经讨论过的各种操作、方法、流程中的步骤、措施、方案可以被交替、更改、组合或删除。进一步地,具有本申请中已经讨论过的各种操作、方法、流程中的其他步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。进一步地,现有技术中的具有与本申请中公开的各种操作、方法、流程中的步骤、措施、方案也可以被交替、更改、重排、分解、组合或删除。
术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
在本说明书的描述中,具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种车载软件的升级方法,其特征在于,包括:
采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,将写入所述第一次的升级软件的子存储区域标记为工作区域;所述存储区域包括至少两个子存储区域,所有升级软件均包括第二引导加载程序,标记为工作区域的子存储区域中升级软件作为车载软件控制车辆的运行;
采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,N为大于1的正整数;当检测到初始化信号时,将写入所述第N次的升级软件的子存储区域标记为工作区域,将其它各子存储区域都标记为非工作区域。
2.根据权利要求1所述的车载软件的升级方法,其特征在于,所述采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域之前,还包括:
将存储区域划分为至少两个子存储区域;每个所述子存储区域用于存储升级软件。
3.根据权利要求2所述的车载软件的升级方法,其特征在于,所述将存储区域划分为至少两个子存储区域,包括:
确定存储区域是否存在原始车载软件;
若所述存储区域存在所述原始车载软件,则将所述原始车载软件所在区域作为一个子存储区域,将其余存储区域划分为至少一个子存储区域;
若所述存储区域不存在所述原始车载软件,则将所述存储区域划分为至少两个子存储区域。
4.根据权利要求3所述的车载软件的升级方法,其特征在于,所述采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,包括:
确定待写入第一次的升级软件的子存储区域;
若待写入第一次的升级软件的子存储区域存在所述原始车载软件,则擦除所述原始车载软件,将第一次的升级软件写入所述待写入第一次的升级软件的子存储区域;
若待写入第一次的升级软件的子存储区域不存在所述原始车载软件,则将第一次的升级软件写入所述待写入第一次的升级软件的子存储区域。
5.根据权利要求4所述的车载软件的升级方法,其特征在于,所述确定待写入第一次的升级软件的子存储区域,包括:
若子存储区域存在所述原始车载软件,则将该子存储区域作为第一次的升级软件待写入的子存储区域;
若子存储区域不存在所述原始车载软件,则选取任一子存储区域作为第一次的升级软件待写入的子存储区域。
6.根据权利要求1所述的车载软件的升级方法,其特征在于,所述采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,包括:
确定待写入第N次的升级软件的子存储区域;
采用标记为工作区域的子存储区域的升级软件的第二引导加载程序,将第N次的升级软件写入所述待写入第N次的升级软件的子存储区域。
7.一种车载软件的升级装置,其特征在于,包括:
第一升级模块,用于采用第一引导加载程序,将第一次的升级软件写入存储区域的一个子存储区域,将写入所述第一次的升级软件的子存储区域标记为工作区域;所述存储区域包括至少两个子存储区域,所有升级软件均包括第二引导加载程序,标记为工作区域的子存储区域中升级软件作为车载软件控制车辆的运行;
第二升级模块,用于采用任一升级软件的第二引导加载程序,将第N次的升级软件写入任一未标记为工作区域的子存储区域,当检测到初始化信号时,将写入所述第N次的升级软件的子存储区域标记为工作区域,并将其它各子存储区域都标记为非工作区域。
8.一种车载控制器,其特征在于,包括:
通信单元,用于与上位机通信连接,接收上位机发送的升级软件;
处理器;
存储器,与所述处理器电连接,包括保留区域和存储区域,所述存储区域包括至少两个子存储区域;
所述保留区域配置用于存储第一引导加载程序,所述第一引导加载程序在由处理器执行时,将第一次的升级软件写入一个所述子存储区域;所有升级软件均包括第二引导加载程序;将写入第一次的升级软件的子存储区域标记为工作区域;标记为工作区域的子存储区域中升级软件作为车载软件控制车辆的运行;
任一所述子存储区域中的升级软件的第二引导加载程序,在由处理器执行时,将第N次的升级软件写入任一未标记为工作区域的子存储区域;N为大于1的正整数;当检测到初始化信号时,将写入第N次的升级软件的子存储区域标记为工作区域,并将其它各子存储区域都标记为非工作区域。
9.一种车辆,其特征在于,包括:如权利要求8所述的车载控制器。
10.一种计算机可读存储介质,其特征在于,所述计算机存储介质用于存储计算机指令,当所述计算机指令在计算机上运行时,实现如权利要求1-6中任一项所述的车载软件的升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010797765.8A CN114064095A (zh) | 2020-08-10 | 2020-08-10 | 车载软件的升级方法、车载控制器、车辆及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010797765.8A CN114064095A (zh) | 2020-08-10 | 2020-08-10 | 车载软件的升级方法、车载控制器、车辆及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114064095A true CN114064095A (zh) | 2022-02-18 |
Family
ID=80232978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010797765.8A Pending CN114064095A (zh) | 2020-08-10 | 2020-08-10 | 车载软件的升级方法、车载控制器、车辆及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114064095A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023241458A1 (zh) * | 2022-06-14 | 2023-12-21 | 中国第一汽车股份有限公司 | 车载控制器的软件升级方法、装置、设备和存储介质 |
WO2024108456A1 (zh) * | 2022-11-24 | 2024-05-30 | 华为技术有限公司 | 一种控制器升级方法以及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023876A (zh) * | 2009-09-14 | 2011-04-20 | 漳州科能电器有限公司 | 一种可软件在线升级的嵌入式系统及在线升级方法 |
CN110633091A (zh) * | 2019-08-28 | 2019-12-31 | 西安超霸电气科技有限公司 | 一种电子模块及其软件无线升级方法 |
CN111240723A (zh) * | 2020-03-13 | 2020-06-05 | 乐普医学电子仪器股份有限公司 | 一种嵌入式程序升级的方法 |
CN111433739A (zh) * | 2018-11-30 | 2020-07-17 | 深圳市大疆创新科技有限公司 | 程序的升级方法和嵌入式设备 |
-
2020
- 2020-08-10 CN CN202010797765.8A patent/CN114064095A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102023876A (zh) * | 2009-09-14 | 2011-04-20 | 漳州科能电器有限公司 | 一种可软件在线升级的嵌入式系统及在线升级方法 |
CN111433739A (zh) * | 2018-11-30 | 2020-07-17 | 深圳市大疆创新科技有限公司 | 程序的升级方法和嵌入式设备 |
CN110633091A (zh) * | 2019-08-28 | 2019-12-31 | 西安超霸电气科技有限公司 | 一种电子模块及其软件无线升级方法 |
CN111240723A (zh) * | 2020-03-13 | 2020-06-05 | 乐普医学电子仪器股份有限公司 | 一种嵌入式程序升级的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023241458A1 (zh) * | 2022-06-14 | 2023-12-21 | 中国第一汽车股份有限公司 | 车载控制器的软件升级方法、装置、设备和存储介质 |
WO2024108456A1 (zh) * | 2022-11-24 | 2024-05-30 | 华为技术有限公司 | 一种控制器升级方法以及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11099830B2 (en) | Software updating apparatus, vehicle, and software updating method | |
US8055859B2 (en) | Apparatus and method for providing atomicity with respect to request of write operation for successive sector | |
US10261773B2 (en) | Information processing device, information processing method, and computer readable medium | |
CN110244958B (zh) | 用于更新车辆的标定数据的方法和装置 | |
EP3084593B1 (en) | Updatable integrated-circuit radio | |
CN110825403A (zh) | 一种汽车电子控制单元ecu刷写的方法及系统 | |
CN114064095A (zh) | 车载软件的升级方法、车载控制器、车辆及存储介质 | |
CN110764486B (zh) | 车载控制器的运行方法、装置、车载控制器及存储介质 | |
CN109857426A (zh) | Bootloader程序更新方法、装置、电子设备及存储介质 | |
JP2024133341A (ja) | 制御装置、方法、及びプログラム | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
US11263001B2 (en) | Car onboard control device and program updating software | |
CN113341924A (zh) | 一种ecu下电方法、装置、设备及存储介质 | |
CN111158607B (zh) | 数据擦写操作的处理方法、系统、电子设备及存储介质 | |
CN116455694A (zh) | 一种波特率设置方法、装置、设备和存储介质 | |
CN115136122A (zh) | 主装置、数据分发系统以及更新控制程序 | |
US12190100B2 (en) | OTA software update based on ECU non-volatile memory type | |
JP2019016086A (ja) | 自動車用電子制御装置 | |
JP2019109745A (ja) | 自動車用電子制御装置 | |
US10949570B2 (en) | Processing system, related integrated circuit and method | |
CN103339603A (zh) | 计算机重新编程方法、数据存储介质和机动车辆计算机 | |
US20220244946A1 (en) | Ota master, update control method, non-transitory storage medium, and vehicle | |
JP7559684B2 (ja) | Otaマスタ、システム、方法、プログラム、及び車両 | |
US20060155941A1 (en) | Program rewriting system, boot loader, storage medium, and electronic control unit | |
CN111897632B (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 |