CN114153481A - 一种驾驶系统更新方法、装置及计算机设备 - Google Patents
一种驾驶系统更新方法、装置及计算机设备 Download PDFInfo
- Publication number
- CN114153481A CN114153481A CN202111504200.7A CN202111504200A CN114153481A CN 114153481 A CN114153481 A CN 114153481A CN 202111504200 A CN202111504200 A CN 202111504200A CN 114153481 A CN114153481 A CN 114153481A
- Authority
- CN
- China
- Prior art keywords
- target
- driving system
- executable file
- storage space
- storage
- 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 68
- 230000005540 biological transmission Effects 0.000 claims description 29
- 238000012795 verification Methods 0.000 claims description 20
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000006467 substitution reaction Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 239000002699 waste material Substances 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/76—Architectures of general purpose stored program computers
- G06F15/78—Architectures of general purpose stored program computers comprising a single central processing unit
- G06F15/7807—System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Stored Programmes (AREA)
Abstract
本申请提供一种驾驶系统更新方法、装置及计算机设备。应用于驾驶系统更新设备中的SOC芯片,驾驶系统更新方法包括:将驾驶系统对应的目标版本的目标软件包中各目标可执行文件存储至第一存储空间;将第二存储空间中对应参考软件包的各参考可执行文件替换为各目标可执行文件;更新驾驶系统对应的数据库信息。本申请可以预先将各目标可执行文件存储在第一存储空间,在停止状态下,用全部目标可执行文件替换第二存储空间中的参考可执行文件。可以在需要驾驶设备处于停止状态的替换过程前,将目标可执行文件存储至与第二存储空间不存在重合区域的第一存储空间,突破驾驶系统更新的各过程只能在车辆停止状态下执行的局限性,节约整体更新时间。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种驾驶系统更新方法、装置及计算机设备。
背景技术
随着汽车电子技术的发展,车辆对智能化的要求越来越高,逐渐形成了软件定义汽车的趋势。在智能汽车领域,软件升级的频率比传统汽车高得多,如何提高汽车软件升级的效率至关重要。
空中下载技术(Over-the-Air,简称OTA)是通过移动通信的空中接口对应用和数据进行远程管理的技术。通过这种技术,车载软件可以远程在线升级,车主不需要去4S店进行有线刷机升级,可以极大地提高用户体验。
在OTA软件升级的具体实施中,高级驾驶辅助系统对应的控制器可以从服务器上下载所需的软件更新包,在对本地软件进行替换升级。但现有技术中,软件的下载和升级过程都要求车辆处于停止状态,需要耗费大量时间。
因此,现有技术存在驾驶系统更新的各过程只能在车辆停止状态下执行的局限性,无法充分利用车辆的行驶过程进行部分升级工作,不能节约驾驶系统的整体第二执行时间。
发明内容
为了解决上述技术问题,本发明提供了一种驾驶系统更新方法、装置及计算机设备,具体方案如下:
第一方面,本申请实施例提供了一种驾驶系统更新方法,应用于驾驶系统更新设备中的SOC芯片,所述驾驶系统更新方法包括:
接收所述驾驶系统对应的目标版本的目标软件包;
将所述目标软件包中各目标可执行文件存储至第一存储空间,其中,基于所述第一存储空间的存储或读取操作对应第一执行时间,所述第一执行时间对应待更新的所述驾驶系统所属驾驶设备的驾驶状态或停止状态;
根据用户输入的第二执行时间,在所述停止状态下将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件,其中,所述第一存储空间与所述第二存储空间不存在重合区域,以使所述参考软件包对应所述驾驶系统当前的参考版本;
更新所述驾驶系统对应的数据库信息,所述数据库信息包括所述参考版本对应的版本编号。
根据本申请公开的一种具体实施方式,所述驾驶系统更新设备还包括微控制器,更新所述驾驶系统对应的数据库信息的步骤之后,所述驾驶系统更新方法还包括:
将各所述目标可执行文件复制到所述微控制器对应的目标存储地址;
将所述驾驶系统对应的软件执行地址更新为所述目标存储地址,以使所述驾驶系统基于所述目标存储地址运行所述目标软件包对应的软件数据。
根据本申请公开的一种具体实施方式,所述目标可执行文件包括至少一个数据块,将所述目标软件包中各目标可执行文件存储至第一存储空间的步骤,包括:
按照各所述目标可执行文件的第一预设次序以及每个所述目标可执行文件中各所述数据块的第二预设次序,依次执行将各所述数据块传输至所述第一存储空间的存储操作;
若任一所述存储操作执行完毕,将传输进度参数更新为最新存储的所述数据块对应的参考次序,其中,所述参考次序包括最新存储的所述数据块在对应的所述第一预设次序和所述第二预设次序。
根据本申请公开的一种具体实施方式,将传输进度参数更新为最新存储的所述数据块对应的参考次序的步骤之后,所述驾驶系统更新方法还包括:
在每个所述目标可执行文件中的全部所述数据块传输至所述第一存储空间时,计算所述目标可执行文件的目标校验值;
判断所述目标校验值与预先获取的目标软件包中的参考校验值是否相同;
若所述目标校验值与所述参考校验值相同,执行下一个所述存储操作;
若所述目标校验值与所述参考校验值不同,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一输异常信息。
根据本申请公开的一种具体实施方式,若所述目标校验值与所述参考校验值不同,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一输异常信息的步骤,包括:
若所述目标校验值与所述参考校验值不同,判定“所述目标校验值与所述参考校验值不同”的异常判定的次数是否超过预设阈值;
若所述异常判定的次数未超过所述预设阈值,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一传输异常信息;
若所述异常判定的次数超过所述预设阈值,停止执行后续的所述存储操作并输出第二传输异常信息。
根据本申请公开的一种具体实施方式,将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件的步骤之前,所述驾驶系统更新方法还包括:
基于所述目标软件包和所述参考软件包,确定待备份的所述可执行文件;
将待备份的各所述可执行文件复制至第三存储空间。
第二方面,本申请实施例提供了一种驾驶系统更新装置,应用于驾驶系统更新设备中的SOC芯片,所述驾驶系统更新装置包括:
接收模块,用于接收所述驾驶系统对应的目标版本的目标软件包;
存储模块,用于将所述目标软件包中各目标可执行文件存储至第一存储空间,其中,基于所述第一存储空间的存储或读取操作对应第一执行时间,所述第一执行时间对应待更新的所述驾驶系统所属驾驶设备的驾驶状态或停止状态;
替换模块,用于根据用户输入的第二执行时间,在所述停止状态下将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件,其中,所述第一存储空间与所述第二存储空间不存在重合区域,以使所述参考软件包对应所述驾驶系统当前的参考版本;
第一更新模块,用于更新所述驾驶系统对应的数据库信息,所述数据库信息包括所述参考版本对应的版本编号。
根据本申请公开的一种具体实施方式,所述驾驶系统更新设备还包括微控制器,所述驾驶系统更新装置还包括:
复制模块,用于将各所述目标可执行文件复制到所述微控制器对应的目标存储地址;
第二更新模块,用于将所述驾驶系统对应的软件执行地址更新为所述目标存储地址,以使所述驾驶系统基于所述目标存储地址运行所述目标软件包对应的软件数据。
第三方面,本申请实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上执行时实现第一方面中任一项实施例所述的驾驶系统更新方法。
第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序在处理器上执行时实现第一方面中任一项实施例所述的驾驶系统更新方法。
相对于现有技术而言,本申请具有以下有益效果:
本申请提供一种驾驶系统更新方法、装置及计算机设备。应用于驾驶系统更新设备中的SOC芯片,驾驶系统更新方法包括:将驾驶系统对应的目标版本的目标软件包中各目标可执行文件存储至第一存储空间;将第二存储空间中对应参考软件包的各参考可执行文件替换为各目标可执行文件;更新驾驶系统对应的数据库信息。本申请可以在驾驶系统所属驾驶设备的驾驶状态或停止状态下,预先将各目标可执行文件存储在第一存储空间中,在停止状态下,用全部目标可执行文件替换另一个第二存储空间中的参考可执行文件。可以在需要驾驶设备处于停止状态的升级过程前,将目标可执行文件存储至与第二存储空间不存在重合区域的第一存储空间,突破驾驶系统更新的各过程只能在车辆停止状态下执行的局限性,节约整体更新时间。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对本发明保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
图1为本申请实施例提供的一种驾驶系统更新方法的流程示意图;
图2为本申请实施例提供的一种驾驶系统更新装置的模块框图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
在下文中,可在本发明的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本发明的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本发明的各种实施例中被清楚地限定。
下面结合附图,对本申请的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互结合。
参见图1,图1为本申请实施例提供的一种驾驶系统更新方法的流程示意图。应用于驾驶系统更新设备中的SOC芯片,如图1所示,所述驾驶系统更新方法主要包括:
步骤S101,接收所述驾驶系统对应的目标版本的目标软件包。
当远程服务器中,驾驶系统对应的新的域控制器软件发布时,远程服务器可以通过汽车座舱中的车载电脑告知车主可以进行软件升级。根据车主或用户输入的确认升级指令,驾驶系统更新设备中的SOC芯片端可以通过比较当前驾驶系统对应的本地的参考软件包和远程服务器上最新软件包的版本编号是否一致,若不一致,将远程服务器中的最新软件包确定为目标软件包。
具体实施时,若驾驶系统长时间未进行更新,相较于驾驶系统当前的参考版本的参考软件包,远程服务器上的存在多个版本编号高于参考版本的软件包,可以根据用户输入的选择指令,从多个较新的软件包中选取目标软件包。
驾驶系统更新设备可以通过消息中间件,订阅远程服务器中最新软件包的上架情况对应的消息主题,以此是否需要接收驾驶系统对应的目标版本的目标软件包。其中,消息的发送方称为发布者,消息的接收方称为订阅者,服务端存放消息的容器称为主题。发布者将消息发送到主题中,订阅者在接收消息之前需要先“订阅主题”。每份订阅中,订阅者都可以接收到主题的所有消息。
步骤S102,将所述目标软件包中各目标可执行文件存储至第一存储空间,其中,基于所述第一存储空间的存储或读取操作对应第一执行时间,所述第一执行时间对应待更新的所述驾驶系统所属驾驶设备的驾驶状态或停止状态。
可执行文件指的是可以由驾驶系统进行加载执行的文件,包括但不限于“.bin”、“.exe”、“.sys”、“.com”、“.dll”和“BAT”等格式的文件。例如,记事本程序notepad.exe,这类程序通常用来处理或者辅助处理其它文件。比如:myfile.txt双击打开由notepad.exe记事本程序来进行编辑。
具体实施时,可以下载目标软件包和解析目标软件包中的各目标可执行文件的过程可以同步进行,并将全部目标可执行文件存放于第一存储空间。一个目标软件包不仅可以包含多个软件分模块的目标可执行文件,目标软件包的头部信息还包含目标版本编号和各目标可执行文件的详细信息,如名称、软件版本、个数、大小、参考校验值和目标地址等。
第一存储空间可以是SOC端存储介质的一块空闲空间。当目标软件包全部下载完成后,第一存储空间里存储了包含此次驾驶系统更新对应的所有信息的数据库文件和独立软件分模块的各目标可执行文件。
第一执行时间可以是驾驶设备的驾驶状态或停止状态中的任意时刻。由于第一存储空间是SOC端存储介质的一块空闲空间,即使在驾驶设备的驾驶状态时对第一存储空间进行任何存储或读取操作,都不会影响到驾驶设备的正常运行。由于驾驶系统的更新过程最终只能在驾驶设备的停止状态下进行,否则会对正在行驶的驾驶设备造成严重影响,危及驾驶人生命健康安全,通过将目标软件包预先存储在空闲的第一存储空间中,可以在驾驶设备处于驾驶状态或者需要进行最终更新前的其他任何时刻,将目标软件包下载在第一存储空间,突破驾驶系统更新的各过程只能在车辆停止状态下执行的局限性,节约整体第二执行时间。
所述目标可执行文件包括至少一个数据块,将所述目标软件包中各目标可执行文件存储至第一存储空间的步骤,包括:
按照各所述目标可执行文件的第一预设次序以及每个所述目标可执行文件中各所述数据块的第二预设次序,依次执行将各所述数据块传输至所述第一存储空间的存储操作;
若任一所述存储操作执行完毕,将传输进度参数更新为最新存储的所述数据块对应的参考次序,其中,所述参考次序包括最新存储的所述数据块在对应的所述第一预设次序和所述第二预设次序。
每个目标可执行文件包括至少一个数据块,每个数据块的大小可以根据用户的实际使用需求和具体应用场景自定义,这不做具体限定。可以将所述目标软件包中各目标可执行文件存储至第一存储空间的过程细分为将各数据块分别传输至第一存储空间。
具体地,例如目标软件包包括10个目标可执行文件,每个目标可执行文件由10个数据块组成。可以先确定各目标可执行文件在该目标软件包的全部目标可执行文件中的第一预设次序,如每个目标可执行文件包括用于标记第一预设次序的标记信息i/10,其中,i/10表示当前的目标执行文件处于全部10个目标可执行文件中的第i个,i≤10,i为正整数。
各目标可执行文件中的各数据块包括用于标记第二预设次序的标记信息j/10,其中,j/10表示当前的数据块处于全部10个数据块中的第j个,j≤10,j为正整数。
在数据块的传输过程中,每传输一个数据块就会根据对应的第一预设次序和第二预设次序更新传输进度参数,所述传输进度参数用于记录目标软件包的传输的进度。例如,传输进度参数可以用于表明当前传输的数据块是目标软件包中第一预设次序为i/10,且第二预设次序为j/10的数据块。
如果发生断网等异常事件,导致数据块传输中断。那么,当下一次启动数据块传输的进程时,可以根据传输进度参数读取目标软件包之前的传输进度,从而基于该进度恢复数据块的传输,可以节约传输时间,避免资源浪费。具体地,传输进度参数对应的进度信息,存储于非易失性内存中。
将传输进度参数更新为最新存储的所述数据块对应的参考次序的步骤之后,所述驾驶系统更新方法还包括:
在每个所述目标可执行文件中的全部所述数据块传输至所述第一存储空间时,计算所述目标可执行文件的目标校验值;
判断所述目标校验值与预先获取的目标软件包中的参考校验值是否相同;
若所述目标校验值与所述参考校验值相同,执行下一个所述存储操作;
若所述目标校验值与所述参考校验值不同,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一输异常信息。
同一个目标可执行文件在传输的过程中,如果网络、服务器或者软件等出现故障,会导致发送端输出的目标可执行文件与接收方接收的目标可执行文件不一致,造成数据内容的冲突。实践中,导致数据不一致的情况有很多种,表现样式也多种多样,比如目标可执行文件返回操作失败,事实上该目标可执行文件在已经成功存储在第一存储空间。
因此,具体实施时,每传输完一个目标可执行文件,可以计算该目标可执行文件的目标校验值,通过校验值判断该目标可执行文件是否正常传输至第一存储空间。如果目标校验值与前文所述的目标软件包的头部信息中的参考校验值一致,则继续传输下一个目标可执行文件。如果不一致,则可以重新传输当前的目标可执行文件并输出第一输异常信息。其中,第一传输异常信息包括但不限于当前目标可执行文件对应的第一预设次序。在判定重新传输的目标可执行文件成功后,才能执行下一个第一预设次序的目标可执行文件。
若所述目标校验值与所述参考校验值不同,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一输异常信息的步骤,包括:
若所述目标校验值与所述参考校验值不同,判定“所述目标校验值与所述参考校验值不同”的异常判定的次数是否超过预设阈值;
若所述异常判定的次数未超过所述预设阈值,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一传输异常信息;
若所述异常判定的次数超过所述预设阈值,停止执行后续的所述存储操作并输出第二传输异常信息。
如果判定目标校验值与参考校验值不一致的次数超过了预设阈值,表明此次目标软件包的存储过程中发生的故障次数太多,为保证目标软件包存储前后的一致性,可以停止执行后续将各目标可执行文件或数据块传输至第一存储空间的存储操作,以及输出第二传输异常信息。其中,第二传输异常信息包括但不限于全部“目标校验值与参考校验值不一致”对应的目标可执行文件的第一预设次序和判定时间等。用户接收到第二传输异常信息后,可以重新启动目标软件包的传输进程,从头开始整个目标软件包的更新过程。该机制可以保证存储的目标软件包的数据可靠性,提升了驾驶系统更新的安全性。
步骤S103,根据用户输入的第二执行时间,在所述停止状态下将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件,其中,所述第一存储空间与所述第二存储空间不存在重合区域,以使所述参考软件包对应所述驾驶系统当前的参考版本。
步骤S101-S103完成后,可以通过车载电脑向用户输出可以进行最终的软件升级的提示信息。该步骤需要在驾驶设备处于停止状态下进行,即该步骤对应的第二执行时间是步骤S101-S103完成后,驾驶设备处于停止状态中的任意时刻。若接收到车主确认升级的指令,将第二存储空间中对应参考软件包的各参考可执行文件替换为各目标可执行文件,完成驾驶系统各个软件分模块的更新。
其中,第二存储空间与前文所述的第一存储空间互不重合,互相隔离,以使步骤S102中的目标数据包可以在驾驶设备的行驶过程中进行,不影响驾驶设备的所有其他功能和正常运行。
将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件的步骤之前,所述驾驶系统更新方法还包括:
基于所述目标软件包和所述参考软件包,确定待备份的所述可执行文件;
将待备份的各所述可执行文件复制至第三存储空间。
具体实施时,可以根据目标软件包和参考软件包,确定此次驾驶系统更新中,将要被替换的所有参考可执行文件为待备份的可执行文件。并将这些待备份的可执行文件备份到第三存储空间中。第三存储空间可以是SOC端存储介质中,除了第一存储空间和第二存储空间之外的任意一块空闲的存储空间。
通过将待备份的可执行文件备份到第三存储空间,可以确保即使“各参考可执行文件替换为各目标可执行文件”的过程出现任何状况,也能根据第一空间中的目标可执行文件以及第三空间中的待备份的可执行文件,将原驾驶系统中的各参考可执行文件复原。
步骤S104,更新所述驾驶系统对应的数据库信息,所述数据库信息包括所述参考版本对应的版本编号。
具体实施时,在步骤S103执行完毕后,可以更新驾驶系统对应的数据库信息,数据库信息包括但不限于参考版本对应的版本编号,各个软件分模块的子版本号等,为下一次驾驶系统更新做准备。
若将嵌入式微处理器及其存储器、总线、外设等安装在一块电路板上,则可以将这个电路板整体称为单板计算机,即为微控制器(Micro Control Unit,简称MCU),而除个别无法集成的器件以外,整个嵌入式系统大部分均可集成到一块或几块芯片中,即为前文所述的SOC。
本申请实施例提供的驾驶系统更新方法可以对应SOC端系统和更细分化的MCU端系统。SOC端系统运行Linux操作系统和车载高级驾驶辅助系统(Advanced DrivingAssistance System,简称ADAS)对应的应用软件系统,存储介质可以是计算机可读存储介质,例如SD卡、eMMC、UFS等。MCU端系统运行RTOS车规操作系统和AUTOSAR嵌入式软件,MCU芯片自带FLASH存储器。
下面,将驾驶系统更新方法中对应MCU的具体实施部分做进一步说明。所述驾驶系统更新设备还包括微控制器,更新所述驾驶系统对应的数据库信息的步骤之后,所述驾驶系统更新方法还包括:
将各所述目标可执行文件复制到所述微控制器对应的目标存储地址;
将所述驾驶系统对应的软件执行地址更新为所述目标存储地址,以使所述驾驶系统基于所述目标存储地址运行所述目标软件包对应的软件数据。
目标存储地址和软件执行地址均属于内存地址。内存地址是一个编号,代表一个内存空间。一般地,一个内存地址代表一个字节的存储空间。具体实施时,可以在BootLoader中将驾驶系统对应的软件执行地址更新为目标存储地址。以使下一次驾驶系统启动或者参考软件包对应的软件数据运行时,可以从目标存储地址中开始整个运行操作。进一步地,下一次驾驶系统更新时,只要将存储有目标可执行文件的目标地址和当前驾驶系统对应的软件执行地址再一次进行切换,驾驶系统就能运行更新后的参考软件包对应的新的软件数据。
本申请可以在驾驶系统所属驾驶设备的驾驶状态或停止状态下,预先将各目标可执行文件存储在第一存储空间中,在停止状态下,用全部目标可执行文件替换另一个第二存储空间中的参考可执行文件。可以在需要驾驶设备处于停止状态的升级过程前,将目标可执行文件存储至与第二存储空间不存在重合区域的第一存储空间,突破驾驶系统更新的各过程只能在车辆停止状态下执行的局限性,节约整体更新时间。
与上述方法实施例相对应,参见图2,本发明还提供的一种驾驶系统更新装置200,应用于驾驶系统更新设备中的SOC芯片,所述驾驶系统更新装置200包括:
接收模块201,用于接收所述驾驶系统对应的目标版本的目标软件包;
存储模块202,用于将所述目标软件包中各目标可执行文件存储至第一存储空间,其中,基于所述第一存储空间的存储或读取操作对应第一执行时间,所述第一执行时间对应待更新的所述驾驶系统所属驾驶设备的驾驶状态或停止状态;
替换模块203,用于根据用户输入的第二执行时间,在所述停止状态下将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件,其中,所述第一存储空间与所述第二存储空间不存在重合区域,以使所述参考软件包对应所述驾驶系统当前的参考版本;
第一更新模块204,用于更新所述驾驶系统对应的数据库信息,所述数据库信息包括所述参考版本对应的版本编号。
具体实施时,所述驾驶系统更新设备还包括微控制器,所述驾驶系统更新装置200还包括:
复制模块205,用于将各所述目标可执行文件复制到所述微控制器对应的目标存储地址;
第二更新模块206,用于将所述驾驶系统对应的软件执行地址更新为所述目标存储地址,以使所述驾驶系统基于所述目标存储地址运行所述目标软件包对应的软件数据。
此外,还提供一种计算机设备,计算机设备包括处理器和存储器,存储器存储有计算机程序,计算机程序在处理器上执行时实现上述驾驶系统更新方法。
此外,还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序在处理器上执行时实现上述驾驶系统更新方法。
本申请所提供的配件需求的驾驶系统更新装置、计算机设备和计算机可读存储介质的具体实施过程,可以参见上述实施例提供的驾驶系统更新方法的具体实施过程,在此不再一一赘述。
本申请提供配件需求的驾驶系统更新装置、计算机设备和计算机可读存储介质,可以在驾驶系统所属驾驶设备的驾驶状态或停止状态下,预先将各目标可执行文件存储在第一存储空间中,在停止状态下,用全部目标可执行文件替换另一个第二存储空间中的参考可执行文件。可以在需要驾驶设备处于停止状态的升级过程前,将目标可执行文件存储至与第二存储空间不存在重合区域的第一存储空间,突破驾驶系统更新的各过程只能在车辆停止状态下执行的局限性,节约整体更新时间。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种驾驶系统更新方法,其特征在于,应用于驾驶系统更新设备中的SOC芯片,所述驾驶系统更新方法包括:
接收所述驾驶系统对应的目标版本的目标软件包;
将所述目标软件包中各目标可执行文件存储至第一存储空间,其中,基于所述第一存储空间的存储或读取操作对应第一执行时间,所述第一执行时间对应待更新的所述驾驶系统所属驾驶设备的驾驶状态或停止状态;
根据用户输入的第二执行时间,在所述停止状态下将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件,其中,所述第一存储空间与所述第二存储空间不存在重合区域,以使所述参考软件包对应所述驾驶系统当前的参考版本;
更新所述驾驶系统对应的数据库信息,所述数据库信息包括所述参考版本对应的版本编号。
2.根据权利要求1所述的驾驶系统更新方法,其特征在于,所述驾驶系统更新设备还包括微控制器,更新所述驾驶系统对应的数据库信息的步骤之后,所述驾驶系统更新方法还包括:
将各所述目标可执行文件复制到所述微控制器对应的目标存储地址;
将所述驾驶系统对应的软件执行地址更新为所述目标存储地址,以使所述驾驶系统基于所述目标存储地址运行所述目标软件包对应的软件数据。
3.根据权利要求1所述的驾驶系统更新方法,其特征在于,所述目标可执行文件包括至少一个数据块,将所述目标软件包中各目标可执行文件存储至第一存储空间的步骤,包括:
按照各所述目标可执行文件的第一预设次序以及每个所述目标可执行文件中各所述数据块的第二预设次序,依次执行将各所述数据块传输至所述第一存储空间的存储操作;
若任一所述存储操作执行完毕,将传输进度参数更新为最新存储的所述数据块对应的参考次序,其中,所述参考次序包括最新存储的所述数据块在对应的所述第一预设次序和所述第二预设次序。
4.根据权利要求3所述的驾驶系统更新方法,其特征在于,将传输进度参数更新为最新存储的所述数据块对应的参考次序的步骤之后,所述驾驶系统更新方法还包括:
在每个所述目标可执行文件中的全部所述数据块传输至所述第一存储空间时,计算所述目标可执行文件的目标校验值;
判断所述目标校验值与预先获取的目标软件包中的参考校验值是否相同;
若所述目标校验值与所述参考校验值相同,执行下一个所述存储操作;
若所述目标校验值与所述参考校验值不同,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一输异常信息。
5.根据权利要求4所述的驾驶系统更新方法,其特征在于,若所述目标校验值与所述参考校验值不同,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一输异常信息的步骤,包括:
若所述目标校验值与所述参考校验值不同,判定“所述目标校验值与所述参考校验值不同”的异常判定的次数是否超过预设阈值;
若所述异常判定的次数未超过所述预设阈值,重新执行当前的所述目标可执行软件对应的全部所述存储操作,或者,停止执行后续的所述存储操作并输出第一传输异常信息;
若所述异常判定的次数超过所述预设阈值,停止执行后续的所述存储操作并输出第二传输异常信息。
6.根据权利要求1所述的驾驶系统更新方法,其特征在于,将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件的步骤之前,所述驾驶系统更新方法还包括:
基于所述目标软件包和所述参考软件包,确定待备份的所述可执行文件;
将待备份的各所述可执行文件复制至第三存储空间。
7.一种驾驶系统更新装置,其特征在于,应用于驾驶系统更新设备中的SOC芯片,所述驾驶系统更新装置包括:
接收模块,用于接收所述驾驶系统对应的目标版本的目标软件包;
存储模块,用于将所述目标软件包中各目标可执行文件存储至第一存储空间,其中,基于所述第一存储空间的存储或读取操作对应第一执行时间,所述第一执行时间对应待更新的所述驾驶系统所属驾驶设备的驾驶状态或停止状态;
替换模块,用于根据用户输入的第二执行时间,在所述停止状态下将第二存储空间中对应参考软件包的各参考可执行文件替换为各所述目标可执行文件,其中,所述第一存储空间与所述第二存储空间不存在重合区域,以使所述参考软件包对应所述驾驶系统当前的参考版本;
第一更新模块,用于更新所述驾驶系统对应的数据库信息,所述数据库信息包括所述参考版本对应的版本编号。
8.根据权利要求7所述的驾驶系统更新装置,其特征在于,所述驾驶系统更新设备还包括微控制器,所述驾驶系统更新装置还包括:
复制模块,用于将各所述目标可执行文件复制到所述微控制器对应的目标存储地址;
第二更新模块,用于将所述驾驶系统对应的软件执行地址更新为所述目标存储地址,以使所述驾驶系统基于所述目标存储地址运行所述目标软件包对应的软件数据。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上执行时实现权利要求1至6中任一项所述的驾驶系统更新方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序在处理器上执行时实现权利要求1至6中任一项所述的驾驶系统更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111504200.7A CN114153481A (zh) | 2021-12-10 | 2021-12-10 | 一种驾驶系统更新方法、装置及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111504200.7A CN114153481A (zh) | 2021-12-10 | 2021-12-10 | 一种驾驶系统更新方法、装置及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114153481A true CN114153481A (zh) | 2022-03-08 |
Family
ID=80453965
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111504200.7A Pending CN114153481A (zh) | 2021-12-10 | 2021-12-10 | 一种驾驶系统更新方法、装置及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114153481A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357613A (zh) * | 2017-06-28 | 2017-11-17 | 广州酷狗计算机科技有限公司 | 应用更新方法、装置及计算机可读存储介质 |
CN110442362A (zh) * | 2019-07-02 | 2019-11-12 | 北京梧桐车联科技有限责任公司 | 一种信息处理方法、装置、交通工具及存储介质 |
CN110659049A (zh) * | 2019-09-24 | 2020-01-07 | 北京智行者科技有限公司 | 自动驾驶车辆的ota升级方法及终端设备 |
CN110971651A (zh) * | 2018-09-28 | 2020-04-07 | 英特尔公司 | 处理系统、更新服务器以及用于更新处理系统的方法 |
CN111813594A (zh) * | 2019-04-11 | 2020-10-23 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于硬件的系统的启动失效恢复方案 |
-
2021
- 2021-12-10 CN CN202111504200.7A patent/CN114153481A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107357613A (zh) * | 2017-06-28 | 2017-11-17 | 广州酷狗计算机科技有限公司 | 应用更新方法、装置及计算机可读存储介质 |
CN110971651A (zh) * | 2018-09-28 | 2020-04-07 | 英特尔公司 | 处理系统、更新服务器以及用于更新处理系统的方法 |
CN111813594A (zh) * | 2019-04-11 | 2020-10-23 | 百度(美国)有限责任公司 | 用于自动驾驶车辆的基于硬件的系统的启动失效恢复方案 |
CN110442362A (zh) * | 2019-07-02 | 2019-11-12 | 北京梧桐车联科技有限责任公司 | 一种信息处理方法、装置、交通工具及存储介质 |
CN110659049A (zh) * | 2019-09-24 | 2020-01-07 | 北京智行者科技有限公司 | 自动驾驶车辆的ota升级方法及终端设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
US8539471B2 (en) | Updating firmware of an electronic device | |
CN102830984B (zh) | 固件更新的方法、芯片以及通信终端 | |
CN109062598B (zh) | 一种安全的ota升级方法及系统 | |
CN105760200A (zh) | 终端设备及其系统升级方法 | |
US20210173634A1 (en) | Vehicle control device and program update system | |
CN110874237A (zh) | 软件升级方法、装置、终端以及可读存储介质 | |
CN110764486B (zh) | 车载控制器的运行方法、装置、车载控制器及存储介质 | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
CN116501573A (zh) | 固件检测方法、装置、电子设备、存储介质和程序产品 | |
CN112015447B (zh) | 电子设备的系统更新方法及装置、电子设备及存储介质 | |
CN113032183A (zh) | 系统管理方法、装置、计算机设备和存储介质 | |
CN112416411B (zh) | 升级方法及装置、设备端、服务器、计算机可读介质 | |
US20220391192A1 (en) | Ota master, center, system, method, non-transitory storage medium, and vehicle | |
US12190100B2 (en) | OTA software update based on ECU non-volatile memory type | |
US20220276853A1 (en) | Ota master, center, system, update method, and vehicle | |
CN114153481A (zh) | 一种驾驶系统更新方法、装置及计算机设备 | |
CN116755737A (zh) | 汽车软件ota升级方法、装置、设备、存储介质及程序 | |
CN113778496A (zh) | 固件升级方法、装置及电子设备和存储介质 | |
CN106104474B (zh) | 用于更新低存储量装置上的固件的方法 | |
CN112732301A (zh) | 一种车辆升级方法和装置 | |
US9081727B2 (en) | Method, apparatus and computer program for loading files during a boot-up process | |
CN112099819A (zh) | 一种数据处理方法、数据处理装置及车载终端 | |
CN111796879B (zh) | 一种应用程序安装方法、装置、嵌入式设备及存储介质 | |
CN113064608A (zh) | 一种ota升级方法、装置、设备和介质 |
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: 20230823 Address after: 19th Floor, Block D, Tsinghua Tongfang Science and Technology Building, No.1 Wangzhuang Road, Wudaokou, Haidian District, Beijing, 100084 Applicant after: Beijing Chaoxing Future Technology Co.,Ltd. Address before: 201805 room 2201, No. 888, Moyu South Road, Anting Town, Jiading District, Shanghai jt1282 Applicant before: Super star future Jizhi (Shanghai) Technology Co.,Ltd. |