CN113905039A - 系统升级文件传输方法、装置及系统 - Google Patents
系统升级文件传输方法、装置及系统 Download PDFInfo
- Publication number
- CN113905039A CN113905039A CN202111156799.XA CN202111156799A CN113905039A CN 113905039 A CN113905039 A CN 113905039A CN 202111156799 A CN202111156799 A CN 202111156799A CN 113905039 A CN113905039 A CN 113905039A
- Authority
- CN
- China
- Prior art keywords
- partition
- upgraded
- chip
- running
- control unit
- 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
- 230000005540 biological transmission Effects 0.000 title claims abstract description 93
- 238000000034 method Methods 0.000 title claims abstract description 93
- 238000005192 partition Methods 0.000 claims abstract description 214
- 238000004891 communication Methods 0.000 claims description 24
- 238000012795 verification Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 22
- 230000007246 mechanism Effects 0.000 description 18
- 230000004044 response Effects 0.000 description 17
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 241000202755 Areca Species 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000003745 diagnosis Methods 0.000 description 6
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000011161 development Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012544 monitoring process Methods 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- WXZOXVVKILCOPG-UHFFFAOYSA-N bis(2-ethylhexyl) benzene-1,3-dicarboxylate Chemical compound CCCCC(CC)COC(=O)C1=CC=CC(C(=O)OCC(CC)CCCC)=C1 WXZOXVVKILCOPG-UHFFFAOYSA-N 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Stored Programmes (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种系统升级文件传输方法、装置及系统,如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;其中,待升级系统所在的分区为未运行系统的分区;然后接收片上系统发送的系统升级文件;将系统升级文件保存至待升级系统的所在分区。本发明中,将系统升级文件保存至系统没有处在运行状态的分区中,不会影响车辆的行驶状态,提高了车辆驾驶系统的升级效率,提高了用户体验。
Description
技术领域
本发明涉及自动驾驶技术领域,尤其是涉及一种系统升级文件传输方法、装置及系统。
背景技术
传统的空中下载升级技术(Over the Air Technology,OTA)技术中,通常当车辆静止时,才进行升级包数据的传输,导致升级效率较低,影响到用户的用车体验。
发明内容
有鉴于此,本发明的目的在于提供一种系统升级文件传输方法、装置及系统,以提高升级效率,提高用户的用车体验。
第一方面,本发明实施例提供了一种系统升级文件传输方法,方法应用于车辆的微控制单元;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;方法包括:如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行;升级文件传输指令由片上系统基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件后生成;接收片上系统发送的系统升级文件;将系统升级文件保存至待升级系统的所在分区。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,微控制单元包括第一分区及第二分区;第一分区运行有第一系统;第二分区运行有第二系统;基于分区的系统运行状态,确定待升级系统所在的分区的步骤,包括:如果第一分区的系统运行状态为系统运行中,第二分区的系统运行状态为系统未运行,将第二系统确定为待升级系统,将第二分区确定为待升级系统的分区;如果第一分区的系统运行状态为系统未运行,第二分区的系统运行状态为系统运行中,将第一系统确定为待升级系统,将第一分区确定为待升级系统的分区。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,系统升级文件包括多个数据包;数据包包括设定标识;接收片上系统发送的系统升级文件的步骤,包括:接收片上系统发送的当前数据包,对当前数据包进行检验;如果检验通过,将当前数据包的设定标识发送至片上系统,以使片上系统发送当前数据包的下一个数据包,直至所有数据包均被接收;如果检验未通过,将当前数据包的前一个数据包的设定标识发送至片上系统,以使片上系统重新发送当前数据包。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,统升级文件包括多个数据包;数据包包括设定标识;将系统升级文件保存至待升级系统的所在分区之前,方法还包括:当接收到所有数据包,接收片上系统发送的检验指令,检验系统升级文件的完整性及有效性;如果检验通过,接收片上系统发送的切换新分区请求;切换新分区请求由片上系统基于获取到的车辆的运行状态生成;车辆的运行状态为熄火状态;将待升级系统所在的分区的系统运行状态设置为系统运行中,将其他分区的系统运行状态设置为系统未运行。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,微控制单元包括两个分区;将系统升级文件保存至待升级系统的所在分区之后,方法还包括:如果待升级系统的所在分区的系统无法运行,将待升级系统的所在分区的系统运行状态设置为失败,将另一个分区的系统运行状态设置为系统运行中。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,基于分区的系统运行状态,确定待升级系统所在的分区之后,方法还包括:接收片上系统发送的擦除指令,将待升级系统所在分区的数据进行擦除处理。
第二方面,本发明实施例提供了一种系统升级文件传输方法,方法应用于车辆的片上系统;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;方法包括:基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件;生成升级文件传输指令,将升级文件传输指令发送至微控制单元,以使微控制单元基于分区的系统运行状态,确定待升级系统所在的分区;将系统升级文件发送至微控制单元,以使微控制单元将系统升级文件保存至待升级系统的所在分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,将系统升级文件发送至微控制单元之后,方法还包括:基于获取到的车辆的运行状态生成切换新分区请求;车辆的运行状态为熄火状态,以使微控制单元将待升级系统所在的分区的系统运行状态设置为系统运行中,将其他分区的系统运行状态设置为系统未运行。
第三方面,本发明实施例还提供一种系统升级文件传输装置,装置设置于车辆的微控制单元;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;装置包括:待升级系统确定模块,用于如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行;升级文件传输指令由片上系统基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件后生成;文件接收模块,用于接收片上系统发送的系统升级文件;文件保存模块,用于将系统升级文件保存至待升级系统的所在分区。
第四方面,本发明实施例还提供一种系统升级文件传输装置,装置应用于车辆的片上系统;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;装置包括:系统升级确定模块,用于基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;文件获取模块,用于如果进行系统升级,从预设的系统服务器获取系统升级文件;传输指令发送模块,用于生成升级文件传输指令,将升级文件传输指令发送至微控制单元,以使微控制单元基于分区的系统运行状态,确定待升级系统所在的分区;文件发送模块,用于将系统升级文件发送至微控制单元,以使微控制单元将系统升级文件保存至待升级系统的所在分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行。
第五方面,本发明实施例还提供一种系统升级文件传输系统,系统包括依次通信连接的车辆的微控制单元、片上系统及车载通讯终端。上述系统升级文件传输装置分别设置于上述微控制单元及片上系统。
结合第五方面,本发明实施例提供了第五方面的第一种可能的实施方式,其中,微控制单元及片上系统基于DoIP通信协议通信。
本发明实施例带来了以下有益效果:
本发明实施例提供了一种系统升级文件传输方法、装置及系统,如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;其中,待升级系统所在的分区为未运行系统的分区;然后接收片上系统发送的系统升级文件;将系统升级文件保存至待升级系统的所在分区。该方式中,将系统升级文件保存至系统没有处在运行状态的分区中,不会影响车辆的行驶状态,提高了车辆驾驶系统的升级效率,提高了用户体验。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统升级文件传输方法的流程图;
图2为本发明实施例提供的另一种系统升级文件传输方法的流程图;
图3为本发明实施例提供的一种空中下载升级整体架构图;
图4为本发明实施例提供的一种微控单元的内存分区示意图;
图5为本发明实施例提供的一种FBL模块的软件架构图;
图6为本发明实施例提供的一种APP-X的软件架构图;
图7为本发明实施例提供的一种系统升级过程的交互示意图;
图8为本发明实施例提供的一种数据包的数据结构示意图;
图9为本发明实施例提供的一种数据指令的结构示意图;
图10为本发明实施例提供的一种系统升级文件传输装置的结构示意图;
图11为本发明实施例提供的另一种系统升级文件传输装置的结构示意图;
图12为本发明实施例提供的另一种系统升级文件传输系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
随着5G、人工智能(AI)、物联网、半导体等技术的高速发展,推动了自动驾驶技术与应用的发展,并在汽车电子系统和软件爆炸式的增长下,提出汽车以域为单位的域控制器(Domain Control Unit,DCU)集成化架构,进而专为定位为自动驾驶的域控制器系统(Autopilot Domain Controller,ADU)就应运而生了。由于自动驾驶域控制器其具备多传感器融合、定位、路径规划、决策控制、高速通讯等能力,需要外接多路摄像头、毫米波雷达、激光雷达及惯性测量单元(Inertial measurement unit,IMU)等设备,其软件更新迭代迅速,以满足新功能及新需求,减低售后维修成本。因此,自动驾驶域控制器软件空中下载升级也是自动驾驶技术重要的一部分。在现有技术中,由于自动驾驶域控制器更新软件的数据包数据量大,导致系统升级花费时间较长,进一步影响到用户的用车体验;只有当车辆静止时,才进行升级包数据的传输,导致升级花费时间较长,进一步影响到用户的用车体验;无法准确识别自动驾驶域控制器和外接电子控制单元软件配置,进而无法保证合适的软件;无完整可靠自动驾驶域控制器升级方法及系统。系统恢复机制等。
基于此,本发明实施例提供的一种系统升级文件传输方法、装置及系统可以在空中下载升级过程中,提高自动驾驶域控制器软件升级效率,减低升级时间开销,系统管理各个电子控制单元软件配置,以实现整车或自动驾驶域内所有电子控制单元的空中下载升级,升级异常系统恢复机制及冗余备用。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种系统升级文件传输方法进行详细介绍。
本发明实施例提供了一种系统升级文件传输方法。该方法应用于车辆的微控制单元;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统。如图1所示,该方法包括以下步骤:
步骤S100,如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行;升级文件传输指令由片上系统基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件后生成。
上述片上系统(System on Chip,SOC)指的是在单个芯片上集成一个完整的系统,对所有或部分必要的电子电路进行包分组的技术,具有高性能高运算力的特点。上述微控制单元(Microcontroller Unit;MCU)又称单片微型计算机,具有高性能、高安全性的特点。片上系统和微控制单元共同构成的车辆的自动驾驶控制器。由于微控制单元的安全级别较高,通常由片上系统通过车载Tbox与预设服务器或用户端通信。
通常情况下,微控制单元(也称为“微控单元”)可以基于Autosar软件架构进行分区,具体可以设置两个分区:第一分区和第二分区。第一分区运行有第一系统;第二分区运行有第二系统;第一系统和第二系统都是微控单元端应用程序,相互独立运行在微控单元的程序闪存中,两个应用程序在程序闪存中运行地址不同,在同一时间内,只有一个应用程序的运行状态为系统运行中,第一系统和第二系统版本通常不同,可能是第一分区的应用程序为新版本软件,第二分区的应用程序为旧版本软件,也有可能是第二分区的应用程序为新版本软件,第一分区的应用程序为旧版本软件。
在获取到两个分区的系统运行状态后,如果第一分区的系统运行状态为系统运行中,第二分区的系统运行状态为系统未运行,将第二系统确定为待升级系统,将第二分区确定为待升级系统的分区;如果第一分区的系统运行状态为系统未运行,第二分区的系统运行状态为系统运行中,将第一系统确定为待升级系统,将第一分区确定为待升级系统的分区。
在确定待升级系统的分区后,通常会将该信息反馈至片上系统,此时片上系统会发送针对于该分区的擦除指令,以使为控制系统将待升级系统所在分区的数据进行擦除处理。
步骤S102,接收片上系统发送的系统升级文件,将系统升级文件保存至待升级系统的所在分区。
在具体实现时,系统升级文件包括多个数据包;数据包包括设定标识;片上单元在获取到系统升级文件后,会基于系统升级文件生成多个数据包括,依次发送给微控制单元。微控制单元接收片上系统发送的当前数据包,对当前数据包进行检验;如果检验通过,将当前数据包的设定标识发送至片上系统,以使片上系统发送当前数据包的下一个数据包,直至所有数据包均被接收;如果检验未通过,将当前数据包的前一个数据包的设定标识发送至片上系统,以使片上系统重新发送当前数据包。上述数据包也称为Packet,将部分系统文件按照设定格式进行封装得到。
当微控制器接收到所有数据包后,会接收片上系统发送的检验指令,并基于该指令检验系统升级文件的完整性及有效性。如果对完整性及有效性的检验通过,即微控单元响应升级包完整性和有效性都成立,片上系统会获取车辆的运行状态,如果车辆的运行状态为熄火状态,则生成切换新分区请求,并将该请求发送至。
当收到切换新分区请求时,微控制单元会将待升级系统所在的分区的系统运行状态设置为系统运行中,将其他分区的系统运行状态设置为系统未运行,即设置新版本软件所在分区为系统运行状态,并将当前运行分区的状态设置为系统未运行状态,并且会将升级信息存储至数据闪存中,包括新版本分区的启动地址、运行状态、版本号、更新日期、更新成功失败次数、检验和运行状态成功等。在下次上电时,已被设置为系统运行中的分区将基于系统升级文件运行新版本的系统,如果运行成功,则系统升级成功。
然而,如果待升级系统的所在分区的系统无法运行,微控制单元需要将待升级系统的所在分区的系统运行状态设置为失败,将另一个分区的系统运行状态设置为系统运行中,以回滚至之前旧版本的系统。
本发明实施例提供了一种系统升级文件传输方法,如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;其中,待升级系统所在的分区为未运行系统的分区;然后接收片上系统发送的系统升级文件;将系统升级文件保存至待升级系统的所在分区。该方式中,将系统升级文件保存至系统没有处在运行状态的分区中,不会影响车辆的行驶状态,提高了车辆驾驶系统的升级效率,提高了用户体验。
本发明实施例还提供了另一种系统升级文件传输方法,该方法应用于车辆的片上系统;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;如图2所示,该方法包括如下步骤:
步骤S200,基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级。该过程通常为片上系统在接收到TSP后台服务器通过车载Tbox发送的新版本系统发布消息后,向微控制器发送版本信息获取请求,由微控制器将各个分区的版本信息发送至片上系统。
步骤S202,如果进行系统升级,从预设的系统服务器获取系统升级文件。具体而言,片上系统可以通过Tbox从TSP后台服务器获取到系统升级文件(也称为升级包)。
步骤S204,生成升级文件传输指令,将升级文件传输指令发送至微控制单元,以使微控制单元基于分区的系统运行状态,确定待升级系统所在的分区。
步骤S206,将系统升级文件发送至微控制单元,以使微控制单元将系统升级文件保存至待升级系统的所在分区;系统运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行。
进一步地,将系统升级文件发送至微控制单元之后,该方法还包括:基于获取到的车辆的运行状态生成切换新分区请求;车辆的运行状态为熄火状态,以使微控制单元将待升级系统所在的分区的系统运行状态设置为系统运行中,将其他分区的系统运行状态设置为系统未运行。
本发明实施例提供的系统升级文件传输方法,与上述实施例提供的应用于微控制单元的系统升级文件传输方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供一种系统升级包传输方法。为了解该方法,需要了解以下概念:
ADU:Autopilot Domain Controller,自动驾驶域控制器。
DCU:Domain Control Unit,域控制器。
DOIP:Diagnostic Communication Over Internet Protocol,通过网络协议进行诊断通信。
UDS:Unified Diagnostic Services,统一诊断服务。
OTA:Over the Air Technology,空中下载升级。
FBL:Flash Bootloader,基于Flash系统引导程序。
目前在传统的域控制器OTA升级方案中,存在以下几点问题:
1软件升级包数据量大、涉及模块之多,导致OTA升级花销时间较长。从而降低用户体验。
2在软件升级包传输过程中,车辆需要处于静止状态或者不可操作的状态,使得OTA升级花销时间较长。从而降低用户体验。
3在传统的软件升级方式,需要用户到4S店,通过诊断仪设备连接整车的OBD接口,实现软件的升级。提供了售后维修成本,并且降低了用户体验。
4在传统的软件升级中,无法准确识别自动驾驶域内各ECU的软件版本信息,从而导致无法保证ECU选择合适升级包软件。
5在传统的软件升级中,出现数据包丢失、数据传输错误、异常断电、异常操作车辆导致升级中断或升级失败时,无法快速的回滚到上一版本或恢复正常运行状态。无版本的冗余备份等。
6在传统的ECU软件升级中,需要对ECU整个软件进行升级,不能针对某个SWC分区进行升级。从而导致升级花销时间较长。
7在传统的ECU软件升级中,使用CAN通信协议进行升级,导致升级效率低。
本发明实施例提供的方法基于ADU中MCU及Soc实现。其中MCU采用基于Autosar软件架构开发,对应用程序SWC、系统服务模块、环境管理模块、诊断监控模块、安全监控模块等进行分区,并且采用A/B区升级方法,通信协议采用Doip(100M以太网),上述问题将都能够解决;并采用以太网Ethernet协议,完成升级过程中的数据通信及系统状态的同步。该方法具有以下优点。
1以太网通信速率快,能满足大数据的通信需求,缩短升级周期。
2 A/B区升级方案,在App中接收升级包,有标准的Doip协议栈,避免二次开发。
3 A/B区升级方案,A/B区即支持备份功能,支持快速回滚至旧版本软件,可靠的系统恢复机制。
4 A/B区升级方案,可在车辆运行过程中,完成ADU软件升级包的传输。
5 A/B区升级方案,在App中接收升级包,支持续传和重新传输当前Block数据包。
6基于Autosar软件架构,各个模块分区,缩短升级周期,符合汽车功能安全标准ISO26262。
7基于Autosar软件架构,在升级接收过程中,可以通过Fim控制功能配置模块关闭某个功能模块,以排除传输过程中的干扰,提供升级包传输的稳定性和可靠性。
8标准升级流程,标准的升级协议,升级方案标准化。
在ADU系统中,ADU主要是由高性能、高算力的Soc(片上系统)和高性能、高安全性的Mcu(微控制器)组成,对外交互通信接口主要通过Eth或Can,连接外接传感器(GNSS、IMU、Camera、Lider、Rader)、Tbox等。
在ADU域内,OTA升级整体架构图如图3所示。具体而言,TSP后台服务器(也称为“TSP云端”)通过4G/5G网络与TBox进行信息交互和数据传输。Tbox通过UDSonIP Doip协议与ADU内的Soc进行交互和数据传输,ADU控制器内Soc与Mcu同样采用Doip进行交互。ADU域内支持Uds升级的外接传感器通过UDSonCAN与ADU进行连接。MCU通过GW网关与车辆OBD口连接。本发明专利主要在ADU中MCU的升级。
其中该方法,在MCU升级过程中,充分考虑升级过程的安全性和稳定性,冗余设计采用了两个升级方案,既支持传统的UdsOnCan Bootloader进行升级,也支持UdsOnIp Doip协议高速传输协议进行升级。两种升级方式,大大提高ADU中MCU软件升级的可靠性,以冗余备份的方式,进行升级,当其中一种升级失效时,可以采用另外一种升级方案,以免拆件导致时间花费,返厂维修等。
下面就开始具体描述该方法具体实现,该方法中,以英飞凌TC397芯片作为MCU,其MCU的内存分区如下图4所示。该芯片中主要包括FBL系统引导程序、APP-A应用程序(A区)、APP-B应用程序(B区)三个区域。其中,APP-B为MCU端应用程序,PFlash运行地址可以设置为0x80800000;APP-A为MCU端应用程序,PFlash运行地址可以设置为0x800A0000;FBL系统引导程序主要实现通过UDSonCAN对APP-X应用程序进行升级,也称为UDSonCAN bootloader,PFlash运行地址可以设置为0x80000000,即MCU系统起始地址。
FBL系统引导程序的具体软件架构如图5所示。FBL系统引导程序包括以下几个部分:任务调度(Fbl Main Function,FblMain),主要用于不同的时长的任务调度(TaskSchedule),时长可以为1ms,5ms或10ms;系统服务(Fbl System Service,FblSys),主要实现系统时钟(MCU PLL Clock Init)的初始化,执行系统复位(MCU Perform Reset),设置或获取MCU模式(Get/Sert MCU Mode)等;诊断协议栈(Fbl Can Diag Stack,FblDiag),主要包括CAN接口(Can Interface,CanIf)及传输层(Can Transport,CanTp),用来实现诊断通信的控制(Diag Comm Manange)以实现诊断服务service;存储管理(FblNvm),主要实现英飞凌TC397 Pflash Memory读写擦除操作;启动管理(FblStartup),主要实现启动判断、App有效性的判断,升级请求的判断,应用程序的跳转。;SOC管理(FblSocM),主要实现ADU内SOC芯片的电源管理、升级信息交互,电源芯片管理(Fbl Soc Manage,FblPmic)主要实现TLF35584电源芯片的初始化,CAN收发器驱动(Fbl CanTrv Driver,FblCanTRCV)主要实现收发器的初始化等。
其中,APP-A应用程序和APP-B应用程序,其共同点是都是ADU中MCU端应用程序,都是相互独立的运行MCU的Pflash中,不同点在于:1、APP-A和APP-B在Pflash中运行地址不一致,2、同一时间只有一个APP有效,处于Active状态及处于运行状态。3、APP-A和APP-B版本不一样,可能是APP-A为新版本软件,APP-B为旧版本软件,也有可能是APP-B为新版本软件,APP-A为旧版本软件。
由于运行地址的不一致时,导致编译可执行文件时,App-A和APP-B的lsl链接文件是有差异的。具体升级那个分区的系统需要根据目前MCU运行APP区域,若MCU运行在APP-A区域,升级包应为APP-B区升级包,简单来说就是MCU运行在APP-A区域,接收APP-B区升级包,存放在APP-B区,升级完成之后,APP-B为最新版软件,APP-A为旧版本软件。
其中APP-X软件架构(基于classic autosar)如图6所示。其中,ETH(以太网驱动)、EthIf(以太网接口)、TCPIP(TCPIP协议栈)、SOAD(套接字适配器)、DOIP(基于以太网诊断)、DCM(诊断通信管理)模块主要实现诊断通信Doip协议栈,及诊断服务Service实现FLS(数据Flash驱动)、MemIf(存储器接口)、FEE(EEFROM驱动)、NVM(存储管理)模块主要实现升级信息的存储功能,存储至DFlash。包括:App-A区/B区启动地址、Active状态、版本号、更新日期、更新成功失败次数、检验和、运行状态等。FlsLoader(程序存储器驱动)、IOHwAb(io硬件抽象层)主要实现英飞凌TC397Pflash Memory读写擦除操作,UpdataManage_Process(升级管理进程)主要实现升级过程中超时监控、状态机管理、Error处理机制等。UpdataManage_DiagServerHandle(诊断服务处理进程)主要实现预编程条件的判断、检测升级包版本,接收Packet Data、Packet Data完整性的检验、安全访问算法等。UpdataManage_PflashOperate(程序存储器处理进程)主要实现对App-A/App-B区的擦除,计算PacketData的CRC,管理升级包数据写入Pflash。BootManage主要实现设置A/B的Active状态,A/B启动地址,A/B区的切换等。
如图7所示,ADU软件升级流程如下所示:
1Tbox向ADU推送最新版本软件升级包;即发送升级请求(update request)。
2ADU-SOC端判断预编程条件(如:通信状态、车辆电池电压、ADU运行状态等)及升级包信息(如:控制器类型ADU-MCU、版本号、安全证书等)。该过程中,ADU-SOC向ADU-MCU发送升级信息检验指令(Check Update Info),ADU-MCU检查升级包版本信息(Check UpdatePacket Version),并向ADU-SOC响应检查结果(Responce Check Result);ADU-SOC向Tbox响应升级请求结果(Response Upadate Request);Tbox向ADU-SOC请求数据传输(RequestTransmit Packet request);ADU-SOC检测预编程条件(Check Preprogram Condition)。
3若预编程条件符合,Tbox与ADU-SOC端基于Doip协议进行升级包的数据传输。该过程中,ADU-SOC向Tbox响应数据传输请求(Response Transmit Packet Data);Tbox将升级包数据发送给ADU-SOC,并告知数据传输结束(Transmit Packet Finish)。
4当升级包传输完成后,ADU-SOC将通过AES128加密算法对升级包的完整性(CheckUpdate Packet integrity)、有效性(Check Update Packet validity)、证书进行检验(Check Update certificate)。该过程由ADU-SOC进行软件版本管控,包括ADU-MCU、ADU-SOC各个Adative Platform Application(自适应平台应用)、Mid-Radar(中程雷达)、Long-Radar(远程雷达)、GNSS(Global Navigation Satellite System,全球导航卫星系统)、IMU(惯性传感器)等软件。
5当ADU-SOC检测ADU-MCU升级包有效时,向MCU发起升级预编程条件Check请求,通过例程控制0x31 01服务。该过程中,ADU-SOC向ADU-MCU发送升级请求(Update Request)。
6ADU-MCU检测当前预编程条件,条件满足时,ADU-SOC获取MCU当前Active状态、版本号等信息。该过程中,ADU-MCU检验升级信息(Check Update Packet Info),响应升级请求(Response Update Request Result);ADU-SOC向ADU-MCU发送获取A/B区状态;ADU-MCU响应A/B区状态;ADU-SOC向ADU-MCU发送预编程条件检查指令(PreTransmit ConditionCheck),ADU-MCU向ADU-SOC响应升级条件。
7ADU-SOC根据MCU当前Active状态等信息,对升级包根据AES128算法进行解密和提取。
8ADU-SOC向ADU-MCU请求擦除App A/B区,通过例程控制0x31 01服务。当ADU-SOC发起升级请求时,ADU-SOC就会在在文件系统的指定路径生成一个UpdateManage_Mcu.json文件,会将升级状态实时保存到该文件下,以便后期续传和重传奠定基础。ADU-MCU执行擦除(Earse A/B Sector)之后,向ADU-SOC响应擦出结果(Response Earse Sector Result)。
9当ADU-SOC发起传输当前Packet Data请求(Request Packet Data Transmit),SOC会把升级包分成多个Packet进行传输,通过例程控制0x31 01服务并包括当前Packet序号,每个Packet数据结构如图8所示。其中,Packet ID占2Byte,从0开始,逐一递增。PacketData包括:Packet Data Length、Current Packet Address、Packet Flash Data、CurrentPacket CRC。
10当ADU-MCU接收当前Packet Data请求,响应数据接收结果(Response WithPacket ID),即响应31服务,其中包括需要当前Packet序号。若31服务Packet序号为上一个Packet ID,则代表需要重传上一次Packet ID。ADU-SOC会根据上一次响应序号,重发Packet,若31服务Packet序号为请求Packet ID,则代表下一个Packet。然后ADU-SOC进行数据传输(Transmit Packet Data)。Packet Data通过0x36服务进行数据传输,重复0x31和0x36服务以此类推直到数据传输完成。0x31服务请求格式、响应格式如图9所示。ADU-MCU在接收到数据包后,检查数据包(Check Receive Packet Data),并向ADU-SOC响应数据包接收结果(Response Packet Receive Result)。
11当升级包传输完成时,ADU-SOC发起检查升级包完整性(Request Checkintegrity)及有效性请求(Request Check Validity),通过0x31例程控制服务。
12当前MCU响应升级包完整性结果(Response Integrity Result)和响应升级包有效性结果(Response Validity Result)都成立时,ADU-SOC发起请求设置新分区运行状态(Request Set A/B Sector Active Flag)。当收到请求设置新分区运行状态时,MCU会设置新版本软件所在分区为Active状态,并将当前运行分区的状态设置为InActive状态,并且会将升级信息存储至Dflash中,包括新版本分区的启动地址、Active状态、版本号、更新日期、更新成功失败次数、检验和、运行状态Success等,该过程称为执行设置动作(Set A/BSector Iofo status)。
13ADU-SOC向ADU-MCU请求切换至新分区运行(Request Switch to A/B Sector);ADU-MCU响应切换结果(Response Switch to A/B Sector Result)。在ADU-SOC请求切换至新分区运行之前,需要判断汽车运行状态,不影响汽车行驶的安全性。不影响用户的用车体验,本ADU目前是在汽车熄火时,才进行ADU分区切换设置,下次汽车启动即KL15上电时,ADU运行在新版本软件分区。
14在开发阶段,响应设置分区成功之后,ADU-SOC可发起复位请求,通过0x11复位服务,MCU将进行系统软件复位(Platform ADU Reset),并执行A/B区切换(PlatformSwitch to A/B Sector),然后进入新分区运行。
15ADU-SOC启动时根据UpdateManage_MCU.json文件,上一个阶段为0x11服务复位请求或为0x31设置新分区状态时,ADU-SOC检查升级状态(Check Update Status),首先通过0x22 0Xf1 0x86向ADU-MCU获取当前版本号(Get Active Sector Version),若MCU反馈版本信息(Response Active Sector Version),即版本号;ADU-MCU比较版本信息,并设置升级结束状态(compare Version result store to Json),如果反馈的版本号与SOC所升级的版本号一致时,ADU-SOC就会认为此次升级成功,并且记录至UpdateManage_MCU.json文件中。到此升级完成。
该方法中,还可以实现升级包的重传、续传、以及系统版本回滚、版本切换、错误处理等机制。
重传机制:实现为在ADU-SOC发起0x31请求传输Packet数据,响应31服务中PacketID为上一个Packet Id即可,重传目前有两种情况,一种情况在刚开始0x36数据传输时,Receive Data丢失、数据CRC错误,并未将数据刷写至PFlash,此时只需响应重传的PacketID,另一种情况,已经将一部分数据写入Pflash,这时检测Receive数据异常或Packet ID断续即其中一个Packet Data整包丢失,这时需要考虑TC397擦除最小Sector单位为16K,需要擦除当前Sector,进行继续升级包传输,根据Packet ID以及Packet Flash Data长度4K,推算出重新发起数据传输请求Packet ID为(Record_Packet_ID-Record_Packet_ID%(16K/4K)),计算Packet ID,进而推算出擦除地址,MCU自行擦除指定地址的Sector,只需响应重传的Packet ID。
续传机制:当升级中断或断电异常时,ADU-SOC通过UpdateManage_MCU.json文件判断升级状态,根据记录Packet ID重启发起数据传输请求。由于考虑TC397擦除最小Sector单位为16K,以及中断升级时,数据刷写中断,导致数据的不完整性,需要擦除当前Sector,进行继续升级包传输。根据记录Packet ID以及Packet Flash Data长度4K,推算出重新发起数据传输请求Packet ID为(Record_Packet_ID-Record_Packet_I D%(16K/4K)),计算Packet ID,进而推算出擦除地址,通过0x31服务擦除指定地址的Sector,在通过31服务、36服务进行继续数据传输。
版本回滚机制:当新软件升级包运行异常时,需要回滚至旧版本软件,目前支持通过ADU-SOC通过0x31服务切换运行分区,也支持通过Uart Shell指令。考虑两种情况。一种情况是新的软件升级包,无法正常启动,且无法进行与SOC建立通信,需要FBL介入修改启动分区。具体实现如下:通过在ADU启动时,通过周期CAN指定格式报文,在FBL将启动地址改为旧版本分区的启动地址,并设置旧版本分区状态为Active,新版本分区状态位InActive。设置新版本运行状态位Failed,表示当前分区版本运行异常。另一种情况新版本软件能够正常启动,且能够进行Uart通信或ADU-SOC Doip通信,可通过0x31服务指令切换运行分区或通过Uart Shell端口进行分区切换。分区切换具体实现:修改Dflash中新版本分区/旧版本分区Active状态,FBL启动时根据分区Active状态,判断启动A区还是B区。
版本切换机制:开发阶段可通过Uart终端Shell指令进行分区切换。也可以ADU-SOC通过0x31服务请求切换运行分区,切换具体实现可以参考版本回滚机制。
错误处理机制:升级的每一个阶段都会实时的记录在UpdateManage_MCU.json,由SOC端监控升级各个阶段,当其中一个阶段异常或响应超时时,SOC会重发当前阶段请求,如:SOC发起擦除分区指令,MCU未反馈正响应时,SOC启动重发机制,重发三次擦除分区指令,间隔1s,若三次擦除请求都失败,SOC就会记录当前升级失败。传输数据时错误处理机制可参考重传机制和续传机制。
该方法中针对车辆功能安全和冗余设计的考虑,对软件架构不同的模块进行ASIL等级分隔,不同ASIL等级的模块进行分区,支持差分升级。针对冗余设计的考虑,本ADU支持FblOnCan、A/B区备份升级。针对信息安全的考虑,ADU采用国密级安全芯片,支持安全可靠的数据传输机制,并采用A/B区备份升级方法,支持版本的回滚,支持续传重传功能,完善的错误处理机制。该方法采用完善版本管理策略,准确的识别升级包及ECU软件配置。该方法采用了以太网协议,极大降低导致系统升级花费时间较长,提高用户的用车体验,并具有完善错误处理机制,及安全可靠的数据传输,提高升级成功率。该方法实现了在车辆运行进行升级包的安全传输,进行无感升级。提高用户的用车体验。
对应于上述方法实施例,本发明实施例还提供一种系统升级文件传输装置,装置设置于车辆的微控制单元;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;如图10所示,该装置包括:
待升级系统确定模块1000,用于如果接收到片上系统发送的升级文件传输指令,基于分区的系统运行状态,确定待升级系统所在的分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行;升级文件传输指令由片上系统基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件后生成;
文件接收模块1002,用于接收片上系统发送的系统升级文件;文件保存模块,用于将系统升级文件保存至待升级系统的所在分区。
本发明实施例提供的系统升级文件传输装置,与上述实施例提供的应用于微控制单元的系统升级文件传输方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
对应于上述方法实施例,本发明实施例还提供一种系统升级文件传输装置,装置应用于车辆的片上系统;车辆的控制器包括微控制单元及片上系统;微控制单元包括多个分区;每个分区运行有车辆驾驶系统;如图11所示,该装置包括:
系统升级确定模块1100,用于基于获取得到的分区的系统的版本信息和系统升级文件的版本信息,确定是否进行系统升级;
文件获取模块1102,用于如果进行系统升级,从预设的系统服务器获取系统升级文件;
传输指令发送模块1104,用于生成升级文件传输指令,将升级文件传输指令发送至微控制单元,以使微控制单元基于分区的系统运行状态,确定待升级系统所在的分区;
文件发送模块1106,用于将系统升级文件发送至微控制单元,以使微控制单元将系统升级文件保存至待升级系统的所在分区;运行状态包括系统运行中或系统未运行;至多有一个分区的系统运行状态为系统运行中;待升级系统所在的分区的系统运行状态为系统未运行。
本发明实施例提供的系统升级文件传输装置,与上述实施例提供的应用于片上系统的系统升级文件传输方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例还提供一种系统升级文件传输系统,如图12所示,系统包括依次通信连接的车辆的微控制单元1、片上系统2及车载通讯终端3。上述系统升级文件传输装置分别设置于上述微控制单元及片上系统。其中,微控制单元及片上系统基于DoIP通信协议通信。
本发明实施例提供的系统升级文件传输系统,与上述实施例提供的应用于系统升级文件传输装置具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的一种系统升级文件传输、装置及系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (12)
1.一种系统升级文件传输方法,其特征在于,所述方法应用于车辆的微控制单元;所述车辆的控制器包括所述微控制单元及片上系统;所述微控制单元包括多个分区;每个所述分区运行有车辆驾驶系统;所述方法包括:
如果接收到所述片上系统发送的升级文件传输指令,基于所述分区的系统运行状态,确定待升级系统所在的分区;所述系统运行状态包括系统运行中或系统未运行;至多有一个所述分区的系统运行状态为系统运行中;所述待升级系统所在的分区的系统运行状态为系统未运行;所述升级文件传输指令由所述片上系统基于获取得到的所述分区的系统的版本信息和所述系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件后生成;
接收所述片上系统发送的系统升级文件,将所述系统升级文件保存至所述待升级系统的所在分区。
2.根据权利要求1所述的方法,其特征在于,所述微控制单元包括第一分区及第二分区;所述第一分区运行有第一系统;所述第二分区运行有第二系统;
基于所述分区的系统运行状态,确定待升级系统所在的分区的步骤,包括:
如果所述第一分区的系统运行状态为系统运行中,所述第二分区的系统运行状态为系统未运行,将所述第二系统确定为待升级系统,将所述第二分区确定为所述待升级系统的分区;
如果所述第一分区的系统运行状态为系统未运行,所述第二分区的系统运行状态为系统运行中,将所述第一系统确定为待升级系统,将所述第一分区确定为所述待升级系统的分区。
3.根据权利要求1所述的方法,其特征在于,所述系统升级文件包括多个数据包;所述数据包包括设定标识;
接收所述片上系统发送的系统升级文件的步骤,包括:
接收所述片上系统发送的当前数据包,对所述当前数据包进行检验;
如果检验通过,将所述当前数据包的设定标识发送至所述片上系统,以使所述片上系统发送所述当前数据包的下一个数据包,直至所有数据包均被接收;
如果检验未通过,将所述当前数据包的前一个数据包的设定标识发送至所述片上系统,以使所述片上系统重新发送所述当前数据包。
4.根据权利要求1所述的方法,其特征在于,所述系统升级文件包括多个数据包;所述数据包包括设定标识;
将所述系统升级文件保存至所述待升级系统的所在分区之前,所述方法还包括:
当接收到所有数据包,接收所述片上系统发送的检验指令,检验所述系统升级文件的完整性及有效性;
如果检验通过,接收所述片上系统发送的切换新分区请求;所述切换新分区请求由所述片上系统基于获取到的所述车辆的运行状态生成;所述车辆的运行状态为熄火状态;
将所述待升级系统所在的分区的系统运行状态设置为系统运行中,将其他所述分区的系统运行状态设置为系统未运行。
5.根据权利要求1所述的方法,其特征在于,所述微控制单元包括两个分区;
将所述系统升级文件保存至所述待升级系统的所在分区之后,所述方法还包括:
如果所述待升级系统的所在分区的系统无法运行,将所述待升级系统的所在分区的系统运行状态设置为失败,将另一个分区的系统运行状态设置为系统运行中。
6.根据权利要求1所述的方法,其特征在于,基于所述分区的系统运行状态,确定待升级系统所在的分区之后,所述方法还包括:
接收所述片上系统发送的擦除指令,将所述待升级系统所在分区的数据进行擦除处理。
7.一种系统升级文件传输方法,其特征在于,所述方法应用于车辆的片上系统;所述车辆的控制器包括微控制单元及所述片上系统;所述微控制单元包括多个分区;每个所述分区运行有车辆驾驶系统;所述方法包括:
基于获取得到的所述分区的系统的版本信息和所述系统升级文件的版本信息,确定是否进行系统升级;
如果进行系统升级,从预设的系统服务器获取系统升级文件;
生成升级文件传输指令,将所述升级文件传输指令发送至所述微控制单元,以使所述微控制单元基于所述分区的系统运行状态,确定待升级系统所在的分区;
将系统升级文件发送至所述微控制单元,以使所述微控制单元将所述系统升级文件保存至所述待升级系统的所在分区;所述系统运行状态包括系统运行中或系统未运行;至多有一个所述分区的系统运行状态为系统运行中;所述待升级系统所在的分区的系统运行状态为系统未运行。
8.根据权利要求7所述的方法,其特征在于,
将系统升级文件发送至所述微控制单元之后,所述方法还包括:
基于获取到的所述车辆的运行状态生成切换新分区请求;所述车辆的运行状态为熄火状态,以使所述微控制单元将所述待升级系统所在的分区的系统运行状态设置为系统运行中,将其他所述分区的系统运行状态设置为系统未运行。
9.一种系统升级文件传输装置,其特征在于,所述装置设置于车辆的微控制单元;所述车辆的控制器包括所述微控制单元及片上系统;所述微控制单元包括多个分区;每个所述分区运行有车辆驾驶系统;所述装置包括:
待升级系统确定模块,用于如果接收到所述片上系统发送的升级文件传输指令,基于所述分区的系统运行状态,确定待升级系统所在的分区;所述系统运行状态包括系统运行中或系统未运行;至多有一个所述分区的系统运行状态为系统运行中;所述待升级系统所在的分区的系统运行状态为系统未运行;所述升级文件传输指令由所述片上系统基于获取得到的所述分区的系统的版本信息和所述系统升级文件的版本信息,确定是否进行系统升级;如果进行系统升级,从预设的系统服务器获取系统升级文件后生成;
文件接收模块,用于接收所述片上系统发送的系统升级文件,将所述系统升级文件保存至所述待升级系统的所在分区。
10.一种系统升级文件传输装置,其特征在于,所述装置应用于车辆的片上系统;所述车辆的控制器包括微控制单元及所述片上系统;所述微控制单元包括多个分区;每个所述分区运行有车辆驾驶系统;所述装置包括:
系统升级确定模块,用于基于获取得到的所述分区的系统的版本信息和所述系统升级文件的版本信息,确定是否进行系统升级;
文件获取模块,用于如果进行系统升级,从预设的系统服务器获取系统升级文件;
传输指令发送模块,用于生成升级文件传输指令,将所述升级文件传输指令发送至所述微控制单元,以使所述微控制单元基于所述分区的系统运行状态,确定待升级系统所在的分区;
文件发送模块,用于将系统升级文件发送至所述微控制单元,以使所述微控制单元将所述系统升级文件保存至所述待升级系统的所在分区;所述系统运行状态包括系统运行中或系统未运行;至多有一个所述分区的系统运行状态为系统运行中;所述待升级系统所在的分区的系统运行状态为系统未运行。
11.一种系统升级文件传输系统,其特征在于,所述系统包括依次通信连接的车辆的微控制单元、片上系统及车载通讯终端;权利要求9所述装置设置于所述微控制单元;权利要求10所述的装置设置于所述片上系统。
12.根据权利要求11所述的系统,其特征在于,所述微控制单元及所述片上系统基于DoIP通信协议通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111156799.XA CN113905039A (zh) | 2021-09-30 | 2021-09-30 | 系统升级文件传输方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111156799.XA CN113905039A (zh) | 2021-09-30 | 2021-09-30 | 系统升级文件传输方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113905039A true CN113905039A (zh) | 2022-01-07 |
Family
ID=79189491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111156799.XA Pending CN113905039A (zh) | 2021-09-30 | 2021-09-30 | 系统升级文件传输方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113905039A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780114A (zh) * | 2022-04-11 | 2022-07-22 | 广州小鹏汽车科技有限公司 | 固件升级方法、系统、车辆及存储介质 |
CN115277413A (zh) * | 2022-07-07 | 2022-11-01 | 重庆长安汽车股份有限公司 | 车辆控制器的升级方法、装置、车辆及存储介质 |
CN116560688A (zh) * | 2023-05-05 | 2023-08-08 | 上汽通用汽车有限公司 | 用于域控制器的软件更新方法 |
CN116594660A (zh) * | 2023-05-25 | 2023-08-15 | 成都赛力斯科技有限公司 | 一种ecu无感升级刷写方法、装置、电子设备及存储介质 |
CN117850917A (zh) * | 2024-01-10 | 2024-04-09 | 镁佳(武汉)科技有限公司 | 一种安全启动出厂部署方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918114A (zh) * | 2015-06-05 | 2015-09-16 | 青岛海信电器股份有限公司 | 一种操作系统升级方法及装置 |
CN105760200A (zh) * | 2016-02-26 | 2016-07-13 | 晨星半导体股份有限公司 | 终端设备及其系统升级方法 |
WO2017067448A1 (zh) * | 2015-10-22 | 2017-04-27 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法、系统及计算机存储介质 |
CN110351314A (zh) * | 2018-04-03 | 2019-10-18 | 厦门雅迅网络股份有限公司 | 汽车控制器的远程升级方法及计算机可读存储介质 |
CN110580167A (zh) * | 2018-06-11 | 2019-12-17 | 海能达通信股份有限公司 | 一种系统升级方法、智能设备及服务器 |
CN111324362A (zh) * | 2018-12-14 | 2020-06-23 | 北京宝沃汽车有限公司 | 车辆、车辆电控系统程序更新的方法和装置 |
CN111930407A (zh) * | 2020-10-19 | 2020-11-13 | 广州汽车集团股份有限公司 | 车辆ecu软件升级方法、系统、车载tbox的微控制器和soc端 |
CN112783535A (zh) * | 2021-03-10 | 2021-05-11 | 广州优胜汽车科技有限公司 | 固件升级方法、嵌入式装置及存储介质 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
CN112977479A (zh) * | 2021-04-15 | 2021-06-18 | 苏州挚途科技有限公司 | 车辆驾驶模式控制方法及系统 |
CN113050965A (zh) * | 2021-03-12 | 2021-06-29 | 成都国科微电子有限公司 | 一种嵌入式系统升级方法、装置、设备及介质 |
CN113276788A (zh) * | 2021-07-20 | 2021-08-20 | 智道网联科技(北京)有限公司 | 车载应用的升级方法、装置及车载终端、存储介质 |
CN113377384A (zh) * | 2021-06-04 | 2021-09-10 | 东软睿驰汽车技术(沈阳)有限公司 | 一种程序烧录方法、装置、车载终端及介质 |
-
2021
- 2021-09-30 CN CN202111156799.XA patent/CN113905039A/zh active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104918114A (zh) * | 2015-06-05 | 2015-09-16 | 青岛海信电器股份有限公司 | 一种操作系统升级方法及装置 |
WO2017067448A1 (zh) * | 2015-10-22 | 2017-04-27 | 深圳市中兴微电子技术有限公司 | 一种无线固件升级方法、系统及计算机存储介质 |
CN105760200A (zh) * | 2016-02-26 | 2016-07-13 | 晨星半导体股份有限公司 | 终端设备及其系统升级方法 |
CN110351314A (zh) * | 2018-04-03 | 2019-10-18 | 厦门雅迅网络股份有限公司 | 汽车控制器的远程升级方法及计算机可读存储介质 |
CN110580167A (zh) * | 2018-06-11 | 2019-12-17 | 海能达通信股份有限公司 | 一种系统升级方法、智能设备及服务器 |
CN111324362A (zh) * | 2018-12-14 | 2020-06-23 | 北京宝沃汽车有限公司 | 车辆、车辆电控系统程序更新的方法和装置 |
CN111930407A (zh) * | 2020-10-19 | 2020-11-13 | 广州汽车集团股份有限公司 | 车辆ecu软件升级方法、系统、车载tbox的微控制器和soc端 |
CN112817625A (zh) * | 2021-01-29 | 2021-05-18 | 青岛海信移动通信技术股份有限公司 | 系统升级方法、装置、电子设备及存储介质 |
CN112783535A (zh) * | 2021-03-10 | 2021-05-11 | 广州优胜汽车科技有限公司 | 固件升级方法、嵌入式装置及存储介质 |
CN113050965A (zh) * | 2021-03-12 | 2021-06-29 | 成都国科微电子有限公司 | 一种嵌入式系统升级方法、装置、设备及介质 |
CN112977479A (zh) * | 2021-04-15 | 2021-06-18 | 苏州挚途科技有限公司 | 车辆驾驶模式控制方法及系统 |
CN113377384A (zh) * | 2021-06-04 | 2021-09-10 | 东软睿驰汽车技术(沈阳)有限公司 | 一种程序烧录方法、装置、车载终端及介质 |
CN113276788A (zh) * | 2021-07-20 | 2021-08-20 | 智道网联科技(北京)有限公司 | 车载应用的升级方法、装置及车载终端、存储介质 |
Non-Patent Citations (1)
Title |
---|
徐洋;郑继敏;: "面向电动车车载监控终端的嵌入式软件远程升级系统研究与设计", 汽车零部件, no. 02, 28 February 2018 (2018-02-28) * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114780114A (zh) * | 2022-04-11 | 2022-07-22 | 广州小鹏汽车科技有限公司 | 固件升级方法、系统、车辆及存储介质 |
CN115277413A (zh) * | 2022-07-07 | 2022-11-01 | 重庆长安汽车股份有限公司 | 车辆控制器的升级方法、装置、车辆及存储介质 |
CN115277413B (zh) * | 2022-07-07 | 2023-05-09 | 重庆长安汽车股份有限公司 | 车辆控制器的升级方法、装置、车辆及存储介质 |
CN116560688A (zh) * | 2023-05-05 | 2023-08-08 | 上汽通用汽车有限公司 | 用于域控制器的软件更新方法 |
CN116594660A (zh) * | 2023-05-25 | 2023-08-15 | 成都赛力斯科技有限公司 | 一种ecu无感升级刷写方法、装置、电子设备及存储介质 |
CN117850917A (zh) * | 2024-01-10 | 2024-04-09 | 镁佳(武汉)科技有限公司 | 一种安全启动出厂部署方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113905039A (zh) | 系统升级文件传输方法、装置及系统 | |
CN109189445B (zh) | 一种物联网设备程序升级的方法 | |
CN109460245B (zh) | 一种嵌入式系统的远程升级方法 | |
CN109343873A (zh) | 一种智能家电远程升级控制方法 | |
CN110837388B (zh) | 机器人的软件升级方法、升级服务器、机器人及存储介质 | |
CN111886576A (zh) | 用于更新远程网络设备的方法和装置 | |
CN111309363A (zh) | 基于Contiki操作系统的在线升级方法及装置 | |
CN109933354A (zh) | 一种智能云锁的指纹头在线升级方法、系统及云锁 | |
CN110995724A (zh) | 一种新能源客车整车控制器的远程升级方法 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN106095474A (zh) | 用于更新运输工具中的软件的方法和装置 | |
CN111522571B (zh) | 设备升级方法、装置、终端设备及存储介质 | |
CN114268614A (zh) | 一种设备固件升级方法、装置及系统 | |
EP4075309A1 (en) | Secure boot device | |
CN111610981A (zh) | 一种bms板子在线刷写方法及其装置 | |
JP7484791B2 (ja) | Otaマスタ、更新制御方法、及び更新制御プログラム | |
CN112925546B (zh) | 一种防止车载ecu刷新出错的多级校验方法及系统 | |
CN115280280A (zh) | 用于朝向车辆的车载计算机的存储器更新包括物理地址的软件的更新方法和更新装置 | |
CN114144759A (zh) | 用于更新车辆的车载计算机的软件的更新方法和更新装置,所述车载计算机包括执行存储器、备份存储器和检查存储器 | |
CN114756270B (zh) | 自动驾驶系统固件升级方法和自动驾驶系统 | |
CN116521201A (zh) | 电池包的软件升级方法和电池包 | |
CN114270310A (zh) | 用于更新车辆的车载计算机的软件的更新方法和更新装置,所述车载计算机包括执行存储器和备份存储器 | |
CN116909609B (zh) | 车载智能设备的软件升级方法、装置及车载智能设备 | |
KR102384966B1 (ko) | 충전기 메모리의 이원화를 통한 전기자동차 충전기 고속 부팅 및 업그레이드 방법 | |
EP4109238A1 (en) | Information processing device, program update system, and program update method |
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 |