CN115576580A - 固件升级方法、装置、电子设备及自动驾驶车辆 - Google Patents
固件升级方法、装置、电子设备及自动驾驶车辆 Download PDFInfo
- Publication number
- CN115576580A CN115576580A CN202211105348.8A CN202211105348A CN115576580A CN 115576580 A CN115576580 A CN 115576580A CN 202211105348 A CN202211105348 A CN 202211105348A CN 115576580 A CN115576580 A CN 115576580A
- Authority
- CN
- China
- Prior art keywords
- upgrade
- firmware
- data
- request
- communication channel
- 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
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
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
- H04L41/082—Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
Abstract
本公开提供了一种固件升级方法、装置、电子设备及自动驾驶车辆,涉及自动驾驶技术领域,尤其涉及自动驾驶硬件领域。实现方案为:执行固件的第一升级过程;确定是否接收到用于执行固件的第二升级过程的升级请求,其中,升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的通信通道传输;以及响应于接收到用于执行第二升级过程的升级请求,执行第二升级过程。
Description
技术领域
本公开涉及自动驾驶技术领域,尤其涉及自动驾驶硬件领域,具体涉及一种固件升级方法、装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。
背景技术
随着自动驾驶技术的发展,用户对于自动驾驶车辆中的设备的更新提出了更高的要求。为了添加功能或者修复已有固件的问题,常需要更换设备或者对设备的固件进行升级。相对于更换新的设备,为设备中存储的固件提供及时和有效的升级服务,可能是更加经济和有效的方式。对于已经部署的设备,由于环境、人力、成本等问题,需要通过远程升级的方式进行设备的固件升级。如何为不同类型的设备提供稳定、高效的远程升级一直是本领域研究的热点。
发明内容
本公开提供了一种固件升级方法、装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。
根据本公开的一方面,提供了一种固件升级方法,包括执行固件的第一升级过程;确定是否接收到用于执行固件的第二升级过程的升级请求,其中,升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的通信通道传输;以及响应于接收到用于执行第二升级过程的升级请求,执行第二升级过程。
根据本公开的另一方面,提供了一种固件升级方法,包括确定在固件的第一升级过程之后是否经由第一通信通道接收到第一升级反馈信息;响应于未接收到第一升级反馈信息,发送用于执行固件的第二升级过程的升级请求,其中,升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的第二通信通道传输;确定在固件的第二升级过程之后是否经由第一通信通道接收到第二升级反馈信息;以及响应于接收到第二升级反馈信息,经由第一通信通道发送升级确认信息。
根据本公开的另一方面,提供了一种用于固件升级的装置,包括第一升级执行模块,被配置为执行固件的第一升级过程;请求确定模块,被配置为确定是否接收到用于执行固件的第二升级过程的升级请求,其中,升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的通信通道传输;以及第二升级执行模块,被配置为响应于接收到用于执行第二升级过程的升级请求,执行第二升级过程。
根据本公开的另一方面,提供了一种用于固件升级的装置,包括反馈确定模块,被配置为确定在固件的第一升级过程之后是否经由第一通信通道接收到第一升级反馈信息,以及在固件的第二升级过程之后是否经由第一通信通道接收到第二升级反馈信息;请求发送模块,被配置为响应于未接收到第一升级反馈信息,发送用于执行固件的第二升级过程的升级请求,其中,升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的第二通信通道传输;以及确认发送模块,被配置为响应于经由第一通信通道接收到第二升级反馈信息,经由第一通信通道发送升级确认信息。
根据本公开的另一方面,提供了一种电子设备,包括至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有能够被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本公开如上所提供的方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开如上所提供的方法。
根据本公开的另一方面,提供了一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现如上所提供的方法。
根据本公开的另一方面,提供了一种自动驾驶车辆,包括控制器,其中,控制器被配置为执行本公开如上所提供的方法。
根据本公开的一个或多个实施例,能够以更可靠的方式实现固件升级,从而保证自动驾驶车辆中设备的稳定性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开的实施例的可以在其中实施本文描述的各种方法的示例性系统的示意图;
图2示出了根据本公开一个实施例的固件升级方法的流程图;
图3示出了根据本公开一个实施例的执行第二升级过程的流程图;
图4示出了根据本公开另一个实施例的固件升级方法流程图;
图5示出了根据本公开一个实施例的固件升级方法的双侧握手图;
图6示出了根据本公开一个实施例的用于固件升级的装置的结构图;
图7示出了根据本公开一个实施例的第二升级执行模块的结构图;
图8示出了根据本公开另一个实施例的用于固件升级的装置的结构图;
图9示出了能够用于实现本公开实施例的示例性电子设备的结构框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个要素与另一要素区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
在自动驾驶技术领域,自动驾驶车辆中的设备时常需要更新升级,以添加功能或者修复已有固件的问题。目前常用的升级方式是,先擦除固件本地数据,然后直接接收和写入新的固件数据,写入完成后校验固件的有效性,确定固件是否有效升级完成,若固件未能通过校验,则通过同样的方式重新升级。这样的升级方式在固件出现故障,或者升级过程中网络断开,或者断电的情况下,都会导致不可逆的固件数据丢失,从而导致固件失效不可用。
为了解决现有技术存在的上述问题,本公开提供了一种固件升级方法、装置、电子设备、计算机可读存储介质、计算机程序产品和自动驾驶车辆。通过本公开提供的固件升级方法进行固件升级,可以降低升级失败的概率和升级的人力和时间成本,可有效的帮助开发人员或生产、运维人员对于自动驾驶系统中各个模块的进行固件问题修复和产品功能升级,降低硬件插拔频次,提高产品可靠性。
下面将结合附图详细描述本公开的实施例。
图1示出了根据本公开的实施例可以将本文描述的各种方法和装置在其中实施的示例性系统100的示意图。参考图1,该系统100包括机动车辆110、服务器120以及将机动车辆110耦接到服务器120的一个或多个通信网络130。
在本公开的实施例中,机动车辆110可以包括根据本公开实施例的计算设备和/或被配置以用于执行根据本公开实施例的方法。
服务器120可以运行使得能够执行根据本公开实施例的固件升级方法的一个或多个服务或软件应用。在某些实施例中,服务器120还可以提供其他服务或软件应用,这些服务或软件应用可以包括非虚拟环境和虚拟环境。在图1所示的配置中,服务器120可以包括实现由服务器120执行的功能的一个或多个组件。这些组件可以包括可由一个或多个处理器执行的软件组件、硬件组件或其组合。机动车辆110的用户可以依次利用一个或多个客户端应用程序来与服务器120进行交互以利用这些组件提供的服务。应当理解,各种不同的系统配置是可能的,其可以与系统100不同。因此,图1是用于实施本文所描述的各种方法的系统的一个示例,并且不旨在进行限制。
服务器120可以包括一个或多个通用计算机、专用服务器计算机(例如PC(个人计算机)服务器、UNIX服务器、中端服务器)、刀片式服务器、大型计算机、服务器群集或任何其他适当的布置和/或组合。服务器120可以包括运行虚拟操作系统的一个或多个虚拟机,或者涉及虚拟化的其他计算架构(例如可以被虚拟化以维护服务器的虚拟存储设备的逻辑存储设备的一个或多个灵活池)。在各种实施例中,服务器120可以运行提供下文所描述的功能的一个或多个服务或软件应用。
服务器120中的计算单元可以运行包括上述任何操作系统以及任何商业上可用的服务器操作系统的一个或多个操作系统。服务器120还可以运行各种附加服务器应用程序和/或中间层应用程序中的任何一个,包括HTTP服务器、FTP服务器、CGI服务器、JAVA服务器、数据库服务器等。
在一些实施方式中,服务器120可以包括一个或多个应用程序,以分析和合并从机动车辆110接收的数据馈送和/或事件更新。服务器120还可以包括一个或多个应用程序,以经由机动车辆110的一个或多个显示设备来显示数据馈送和/或实时事件。
网络130可以是本领域技术人员熟知的任何类型的网络,其可以使用多种可用协议中的任何一种(包括但不限于TCP/IP、SNA、IPX等)来支持数据通信。仅作为示例,一个或多个网络130可以是卫星通信网络、局域网(LAN)、基于以太网的网络、令牌环、广域网(WAN)、因特网、虚拟网络、虚拟专用网络(VPN)、内部网、外部网、区块链网络、公共交换电话网(PSTN)、红外网络、无线网络(包括例如蓝牙、WiFi)和/或这些与其他网络的任意组合。
系统100还可以包括一个或多个数据库150。在某些实施例中,这些数据库可以用于存储数据和其他信息。例如,数据库150中的一个或多个可用于存储诸如音频文件和视频文件的信息。数据存储库150可以驻留在各种位置。例如,由服务器120使用的数据存储库可以在服务器120本地,或者可以远离服务器120且可以经由基于网络或专用的连接与服务器120通信。数据存储库150可以是不同的类型。在某些实施例中,由服务器120使用的数据存储库可以是数据库,例如关系数据库。这些数据库中的一个或多个可以响应于命令而存储、更新和检索到数据库以及来自数据库的数据。
在某些实施例中,数据库150中的一个或多个还可以由应用程序使用来存储应用程序数据。由应用程序使用的数据库可以是不同类型的数据库,例如键值存储库,对象存储库或由文件系统支持的常规存储库。
机动车辆110可以包括传感器111用于感知周围环境。传感器111可以包括下列传感器中的一个或多个:视觉摄像头、红外摄像头、超声波传感器、毫米波雷达以及激光雷达(LiDAR)。不同的传感器可以提供不同的检测精度和范围。摄像头可以安装在车辆的前方、后方或其他位置。视觉摄像头可以实时捕获车辆内外的情况并呈现给驾驶员和/或乘客。此外,通过对视觉摄像头捕获的画面进行分析,可以获取诸如交通信号灯指示、交叉路口情况、其他车辆运行状态等信息。红外摄像头可以在夜视情况下捕捉物体。超声波传感器可以安装在车辆的四周,用于利用超声波方向性强等特点来测量车外物体距车辆的距离。毫米波雷达可以安装在车辆的前方、后方或其他位置,用于利用电磁波的特性测量车外物体距车辆的距离。激光雷达可以安装在车辆的前方、后方或其他位置,用于检测物体边缘、形状信息,从而进行物体识别和追踪。由于多普勒效应,雷达装置还可以测量车辆与移动物体的速度变化。
机动车辆110还可以包括通信装置112。通信装置112可以包括能够从卫星141接收卫星定位信号(例如,北斗、GPS、GLONASS以及GALILEO)并且基于这些信号产生坐标的卫星定位模块。通信装置112还可以包括与移动通信基站142进行通信的模块,移动通信网络可以实施任何适合的通信技术,例如GSM/GPRS、CDMA、LTE等当前或正在不断发展的无线通信技术(例如5G技术)。通信装置112还可以具有车联网或车联万物(Vehicle-to-Everything,V2X)模块,被配置用于实现例如与其它车辆143进行车对车(Vehicle-to-Vehicle,V2V)通信和与基础设施144进行车辆到基础设施(Vehicle-to-Infrastructure,V2I)通信的车与外界的通信。此外,通信装置112还可以具有被配置为例如通过使用IEEE802.11标准的无线局域网或蓝牙与用户终端145(包括但不限于智能手机、平板电脑或诸如手表等可佩戴装置)进行通信的模块。利用通信装置112,机动车辆110还可以经由网络130接入服务器120。
机动车辆110还可以包括控制装置113。控制装置113可以包括与各种类型的计算机可读存储装置或介质通信的处理器,例如中央处理单元(CPU)或图形处理单元(GPU),或者其他的专用处理器等。控制装置113可以包括用于自动控制车辆中的各种致动器的自动驾驶系统。自动驾驶系统被配置为经由多个致动器响应来自多个传感器111或者其他输入设备的输入而控制机动车辆110(未示出的)动力总成、转向系统以及制动系统等以分别控制加速、转向和制动,而无需人为干预或者有限的人为干预。控制装置113的部分处理功能可以通过云计算实现。例如,可以使用车载处理器执行某一些处理,而同时可以利用云端的计算资源执行其他一些处理。控制装置113可以被配置以执行根据本公开的方法。此外,控制装置113可以被实现为根据本公开的机动车辆侧(客户端)的计算设备的一个示例。
图1的系统100可以以各种方式配置和操作,以使得能够应用根据本公开所描述的各种方法和装置。
图2示出了根据本公开一个实施例的固件升级方法200的流程图。如图2所示,固件升级方法200包括:
在步骤S201,执行固件的第一升级过程。
在步骤S202,确定是否接收到用于执行固件的第二升级过程的升级请求。升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的通信通道传输。
在步骤S203,响应于接收到用于执行第二升级过程的升级请求,执行第二升级过程。
根据本公开实施例的固件升级方法,通过升级请求触发第二次升级过程,引入了升级失败的弥补机制,通过令升级请求具有预先约定的信号形式,并经由专用于升级请求的通信通道传输,使得触发第二升级过程的升级请求更为可靠,避免了误触发第二升级过程,从而使得固件升级的方式更为可靠,保证了自动驾驶车辆中设备的稳定性。
以下详细描述步骤S201至S203的各个方面。
在步骤S201,根据一些实施例,固件的第一升级过程例如可以包括:擦除本地的固件数据,接收和写入固件升级数据,写入完成后校验固件的有效性,以及确定固件是否升级成功等。
根据一些实施例,固件升级数据的传输例如可以通过以太网、CAN(ControllerArea Network,控制器域网)、I2C(Inter-Integrated Circuit,集成电路总线)、SPI(Serial Peripheral Interface,串行外设接口)、LIN(Local Interconnect Network,本地互联网络)等通信协议或者总线形式。
根据一些实施例,在执行固件的第一升级过程后,如果在一定时间之后再次接收到第二升级过程的升级请求,则意味着第一升级过程失败,需要通过第二升级过程再次执行升级。
在步骤S202,根据一些实施例,可以接收例如来自于服务器的升级请求指示。由于升级请求指示第一升级过程失败,这意味着如果接收到该升级请求指示,则可以确定第一升级过程失败;反之,可以确定第一升级过程成功。
根据一些实施例,升级请求的预先约定的信号形式例如可以是差分信号,也可以是约定高低电平周期比例的时序电信号。由此,能够避免误触发执行第二升级过程,提高了系统的稳定性,使得在固件升级失败的情况下,对固件执行的再次升级更为可靠。本领域技术人员可以理解,除了以上举例说明的约定形式之外,升级请求还可以具有各种适当的信号形式,本公开的范围并不对此进行限制。
根据一些实施例,专用于升级请求的通信通道例如可以为单独的物理连接通道。由此,能够避免误触发执行第二升级过程,提高了系统的稳定性,使得在固件升级失败的情况下,对固件执行的再次升级更为可靠。
在步骤S203,根据一些实施例,固件的第二升级过程例如可以包括:擦除本地的固件数据,接收固件升级数据,写入固件升级数据,写入完成后校验固件的有效性,以及确定固件是否升级成功等。
根据一些实施例,第二升级过程可以是指在第一升级过程失败的情况下进行的紧急升级过程。通过在专用的通信通道中传输具有约定形式的紧急恢复信号来发起该紧急升级过程。
根据一些实施例,可以在执行第二升级过程之前,接收用于第二升级过程的固件升级数据。固件升级数据包括用于进行数据校验的校验信息,校验信息包括固件升级数据的参考校验值和参考数据量。
由此,通过在固件升级数据中包含用于校验固件升级数据的参考校验值和参考数据量,能够为确认固件升级是否成功提供判断标准。
根据一些实施例,参考校验值可以是通过以预定加密方式(例如,哈希)对固件升级数据进行加密而生成的。参考数据量可以指示固件升级数据的数据大小。
根据一些实施例,可以通过与接收用于第一升级过程的固件升级数据相同的通信通道来接收用于第二升级过程的固件升级数据,但该通信通道与用于升级请求的通信通道不同。
图3示出了根据本公开一个实施例的执行第二升级过程的方法300的流程图。如图3所示,方法300可以包括:
在步骤S301,写入固件升级数据。
在步骤S302,确定被写入的固件升级数据的校验值和数据量。
在步骤S303,基于校验值和数据量与参考校验值和参考数据量的比较,确定第二升级过程是否成功。
由此,通过在第二升级过程中将实际写入的固件升级数据的校验值和数据量与接收到的参考校验值和参考数据量进行比较,能够准确地确定第二升级过程是否成功。
在步骤S301,根据一些实施例,在写入固件升级数据之前,可以对已有的固件数据进行擦除。已有的固件数据可以包括在第一升级过程中接收的固件数据。
在步骤S302,根据一些实施例,如果出现诸如所写入的固件升级数据不完整等情况,则确定出的被写入的固件升级数据的校验值和数据量将与参考校验值和参考数据量不同,因此在步骤S303中确定第二升级过程不成功。反之,如果确定出的被写入的固件升级数据中校验值与参考校验值一致,且数据量与参考数据量也一致时,指示第二升级过程成功。
根据一些实施例,在第二升级过程成功的情况下,可以重新启动并运行固件。在第二升级过程失败的情况下,可以进行下一次升级过程。即,可以重复执行根据本公开实施例的固件升级方法,直到升级成功。
根据一些实施例,如图3所示,执行第二升级过程的方法300还可以包括:
步骤S304、存储校验值和数据量;以及步骤S305、标识固件升级数据被写入的位置以用于固件在第二升级过程后被启动。
由此,能够保证在固件升级成功后,设备运行的固件是最新更新的固件。
需要说明的是,本公开的实施例并不限制上述步骤S301至S305的执行顺序。可以理解,在示例中,可以在确定被写入的固件升级数据的校验值和数据量后存储校验值和数据量,也可以在存储校验值和数据量后再确定被写入的固件升级数据的校验值和数据量。另外,在示例中,可以在写入固件升级数据前标识固件升级数据即将被写入的位置,也可以在写入固件升级数据后标识固件升级数据被写入的位置,或者也可以在确定被写入的固件升级数据的校验值和数据量后标识固件升级数据被写入的位置,还可以在确定第二升级过程是否成功后标识固件升级数据被写入的位置。
在步骤S304,根据一些实施例,设备的存储介质中可以设置有用于存储校验值的第一参数区以及用于存储数据量的第二参数区。由此,可以高效地调取出校验值和数据量以用于固件升级中的校验,提升了固件升级的效率。
在步骤S305,根据一些实施例,设备的存储介质中可以设置有工厂固件区,该工厂固件区中存储有工厂固件。设备的存储介质中可以设置有用于标识固件升级数据被写入的位置(例如,某个用于存储固件的应用固件区)的第三参数区。当校验固件升级数据的校验值和数据量无误时,工厂固件可以在第三参数区中标记固件升级数据被写入哪个应用固件区,以使重启后运行该应用固件区中最新版本的固件。
根据一些实施例,第二升级过程的方法300可以是通过运行预先设置的工厂固件来执行的。
根据一些实施例,工厂固件可以是指随设备出厂设置的高权限执行固件,其一般存储在设备的非易失性存储介质中以保证高可靠性。工厂固件一般可以不进行升级,因而也不存在相应的升级失败问题,从而便利于提供可靠的第二升级过程。
根据一些实施例,可以由工厂固件将接收到的固件升级数据写入设备的存储介质中的特定位置。在写入之前,可以由工厂固件擦除设备上已有的固件数据。还可以由工厂固件来存储校验值和数据量、进行关于校验值和数据量的校验、以及标识固件升级数据被写入的位置。
由此,通过使用具有高可靠性的工厂固件来执行第二升级过程,能够有助于提供可靠的第二升级过程。
图4示出了根据本公开另一个实施例的固件升级方法400的流程图。如图4所示,固件升级方法400包括:
在步骤S401,确定在固件的第一升级过程之后是否经由第一通信通道接收到第一升级反馈信息。
在步骤S402,响应于未接收到第一升级反馈信息,发送用于执行固件的第二升级过程的升级请求。升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的第二通信通道传输。
在步骤S403,确定在固件的第二升级过程之后是否经由第一通信通道接收到第二升级反馈信息。
在步骤S404,响应于接收到第二升级反馈信息,经由第一通信通道发送升级确认信息。
根据本公开实施例的固件升级方法,通过利用专用于升级请求的第二通信通道传输触发第二升级过程的升级请求,能够降低误触发执行第二升级过程的风险,提高了系统的稳定性。
以下详细描述步骤S401至S404的各个方面。
在步骤S401,根据一些实施例,固件的第一升级过程例如可以包括:擦除本地的固件数据,接收和写入固件升级数据,写入完成后校验固件的有效性,以及确定固件是否升级成功等。
根据一些实施例,第一升级反馈信息例如可以包括应用固件登录信息。
根据一些实施例,固件升级数据的传输例如可以通过以太网、CAN(ControllerArea Network,控制器域网)、I2C(Inter-Integrated Circuit,集成电路总线)、SPI(Serial Peripheral Interface,串行外设接口)、LIN(Local Interconnect Network,本地互联网络)等通信协议或者总线形式。
在步骤S402,根据一些实施例,可以通过响应于成功接收到第一升级反馈信息,判定固件升级成功;可以通过响应于未接收到第一升级反馈信息,判定固件升级失败。
根据一些实施例,可以与升级设备预先约定反馈时间,响应于接收到第一升级反馈信息超出约定的反馈时间,可以判定固件升级失败。
根据一些实施例,升级请求的预先约定的信号形式例如可以是差分信号,也可以是约定高低电平周期比例的时序电信号,由此,能够避免误触发执行第二升级过程,提高了系统的稳定性,使得在固件升级失败的情况下,对固件执行的再次升级更为可靠。本领域技术人员可以理解,除了以上举例说明的约定形式之外,升级请求还可以具有各种适当的信号形式,本公开的范围并不对此进行限制。
根据一些实施例,专用于升级请求的第二通信通道例如可以为单独的物理连接通道。由此,能够避免误触发执行第二升级过程,提高了系统的稳定性,使得在固件升级失败的情况下,对固件执行的再次升级更为可靠。
在步骤S403,根据一些实施例,可以通过与接收第一升级反馈信息相同的通信通道来接收第二升级反馈信息,但该通信通道与用于升级请求的通信通道不同。
根据一些实施例,第二升级反馈信息例如可以包括与第一升级反馈信息相同的应用固件登录信息。
在步骤S404,根据一些实施例,可以通过响应于成功接收到第二升级反馈信息,判定固件升级成功;可以通过响应于未接收到第二升级反馈信息,判定固件升级失败。
根据一些实施例,可以与升级设备预先约定反馈时间,响应于在约定的反馈时间内未接收到第一升级反馈信息,判定固件升级失败。
根据一些实施例,可以响应于未接收到第二升级反馈信息,判定固件升级失败,发送用于执行固件的第二升级过程的升级请求以确认再次发起升级。升级请求可以具有预先约定的信号形式,并经由专用于升级请求的第二通信通道传输。
根据一些实施例,可以在发送用于执行固件的第二升级过程的升级请求之后,发送用于第二升级过程的固件升级数据。固件升级数据可以包括用于进行数据校验的校验信息,校验信息包括固件升级数据的校验值和数据量。
由此,固件升级能够通过比对固件升级数据中的校验信息,高效地确定固件是否升级成功。
图5示出了根据本公开一个实施例的固件升级方法500的双侧握手图。如图5所示,固件升级方法500的实施涉及升级设备510一侧与服务器520一侧。
升级设备510的存储介质中可以设置有用于储存应用固件的应用固件区,应用固件区可以包括至少两个应用固件分区,固件可以通过引导程序确定进行固件升级的应用固件分区。由此,相当于为进行固件升级的设备系统增加了至少一个备份固件区,能够降低升级过程中断电造成数据丢失从而导致升级失败的风险。多个应用固件分区可以自1至n进行编号,其中n为大于或等于2的正整数;应用固件分区可以自编号1至n依次循环被作为写入固件升级数据的应用固件分区。由此,应用固件区中的每一个应用固件分区的损耗相对基本均衡,避免了个别应用固件分区被多次擦写,造成损坏失效。
应用固件区中可以有至少一个应用固件分区存储有固件本地版本信息,确定写入固件升级数据的应用固件分区的规则可以包括:对应用固件区中每一个应用固件分区存储的固件本地版本信息和固件更新版本信息比对,以确定写入固件升级数据的应用固件分区,固件更新版本信息可以基于该固件所对应的升级数据的修改而变化,本地版本信息可以为该固件上一次升级所基于的升级数据的更新版本信息;由引导程序标识应用固件区中一个应用固件分区为写入固件升级数据的应用固件分区;或者在应用固件区中的一个应用固件分区的固件参数信息中标识所在应用固件分区为写入固件升级数据的应用固件分区。
升级设备510的存储介质中可以设置有用于储存引导程序的引导标识区,引导标识区的擦写可以采用毫秒级时序。由此,可以降低固件升级的出错率,提高固件升级的可靠性。引导固件区可以具有高权限和高安全等级,不进行升级。因此,引导固件区不存在失效的问题。由此,设备能够具有更高的稳定性,同时提高了系统的安全性。
应用固件升级时,升级设备510可以执行第一升级过程S511。执行第一升级过程S511可以包括:擦除升级设备的应用固件分区1的本地的固件数据,从服务器520接收固件升级数据并将固件升级数据写入应用固件分区1,写入升级数据后应用固件重启。
执行第一升级过程S511后,服务器520可以确定固件是否升级成功S521。
响应于升级设备510的应用固件在预先约定的反馈时间内成功登录服务器520,可以判定固件升级成功,结束固件升级。
响应于服务器520通过第一通信通道530接收升级设备510的应用固件的登录信息531超出预先约定的反馈时间,可以判定固件升级失败,服务器520向升级设备510的应用固件分区1通过专用于升级请求541的第二通信通道540,发送具有预先约定的信号形式的升级请求541以通过执行第二升级过程S512再次发起升级。
升级设备510的存储介质中可以设置有工厂固件区,工厂固件区中存储有工厂固件。响应于应用固件分区1接收到用于执行固件第二升级过程S512的升级请求541,可以擦除应用固件分区2中的固件数据,由工厂固件区从服务器520接收固件升级数据,接收后将固件升级数据写入应用固件分区2。固件升级数据可以包括用于进行数据校验的校验信息,校验信息可以包括固件升级数据的参考校验值和参考数据量。写入完成后,升级设备510可以确定被写入的固件升级数据的校验值和数据量,基于升级设备510中被写入的校验值和数据量与服务器520中参考校验值和参考数据量的比较,确定第二升级过程是否成功。
响应于升级设备510中被写入的固件升级数据中校验值与服务器520中的参考校验值一致,且数据量与服务器520中的参考数据量也一致,可以指示第二升级过程成功,升级设备510可以在引导标识区标记被写入固件升级数据的应用固件分区2,以使重启后通过应用固件分区2运行最新版本的应用固件。
响应于升级设备510中被写入的固件升级数据中校验值与服务器520中的参考校验值不一致,或者数据量与服务器520中的参考数据量不一致,可以指示第二升级过程失败,服务器520可以再次通过专用于升级请求的通信通道向升级设备510发送用于执行固件的第二升级过程的升级请求,以确认再次发起升级。
执行第二升级过程S512后,服务器520还可以通过登录信息531确定第二升级过程是否升级成功S522。
响应于升级设备510的应用固件在预先约定的反馈时间内成功登录服务器520,可以判定固件升级成功,结束固件升级,服务器520通过第一通信通道530向升级设备510发送升级成功信号532以运行固件S513。
响应于服务器520通过第一通信通道530接收升级设备510的应用固件的登录信息531超出预先约定的反馈时间,可以判定固件升级失败,服务器520再次向升级设备510的应用固件分区1通过专用于升级请求541的第二通信通道540,发送具有预先约定的信号形式的升级请求541以通过执行第二升级过程S512再次发起升级。
根据一些实施例,本公开提供的固件升级方法可以用于有需求升级可靠性要求的各种场景,包括车辆固件OTA(Over-the-Air Technology,即空中下载技术)的本地域(OTA管理器与电子控制单元、微控制单元之间)部分。
根据一些实施例,车辆固件OTA平台可以用于车辆管理,制作升级模型,软件包管理,升级包制作,安全审计,执行升级任务,制定升级策略,记录升级日志。
本公开提供的固件升级方法可以用于各种车辆底层架构,包括ADAS(高级驾驶辅助系统),IVI(车载信息娱乐系统),VCU(车载通信装置),BCM(车身控制模块),TMS(热管理系统)。
图6示出了根据本公开的一个实施例的用于固件升级的装置600的结构图。
如图6所示,装置600包括:第一升级执行模块610,被配置为执行固件的第一升级过程;请求确定模块620,被配置为确定是否接收到用于执行固件的第二升级过程的升级请求。升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的通信通道传输;以及第二升级执行模块630,被配置为响应于接收到用于执行第二升级过程的升级请求,执行第二升级过程。
由此,能够实现对设备中固件的升级,并能够在固件升级失败的情况下,以更可靠的方式对固件执行再次升级,同时保证了设备的稳定性。
根据一些实施例,装置600还可以包括数据接收模块,被配置为在第二升级执行模块630执行第二升级过程之前,接收用于第二升级过程的固件升级数据。固件升级数据可以包括用于进行数据校验的校验信息,校验信息包括固件升级数据的参考校验值和参考数据量。
由此,固件升级能够通过比对固件升级数据中的校验信息,高效地确定固件是否升级成功。
图7示出了根据本公开一个实施例的第二升级执行模块700的结构图。
根据一些实施例,如图7所示,第二升级执行模块700可以包括:数据写入模块710,被配置为写入固件升级数据;信息确定模块720,被配置为确定被写入的固件升级数据的校验值和数据量;以及结果确定模块730,被配置为基于校验值和数据量与参考校验值和参考数据量的比较,确定第二升级过程是否成功。
由此,固件升级能够高效地确定固件是否升级成功,从而在固件升级失败的情况下能够再次发起固件升级,保证最终固件升级成功。
根据一些实施例,如图7所示,第二升级执行模块700还可以包括:信息存储模块740,被配置为存储校验值和数据量;以及数据标识模块750,被配置为标识固件升级数据被写入的位置以用于固件在升级后被启动。
由此,能够保证在固件升级成功后,设备运行的固件是最新更新的固件。
根据一些实施例,第二升级执行模块700可以被配置为通过运行预先设置的工厂固件来执行第二升级过程。
由此,保证了固件升级数据的完整性和安全性,使得升级过程更为可靠。
图8示出了根据本公开的另一个实施例的用于固件升级的装置800的结构图。
根据本公开的实施例,如图8所示,还提供了一种用于固件升级的装置800,包括:反馈确定模块810,被配置为确定在固件的第一升级过程之后是否经由第一通信通道接收到第一升级反馈信息,以及在固件的第二升级过程之后是否经由第一通信通道接收到第二升级反馈信息;请求发送模块820,被配置为响应于未接收到第一升级反馈信息,发送用于执行固件的第二升级过程的升级请求。升级请求指示第一升级过程失败,且升级请求具有预先约定的信号形式,并经由专用于升级请求的第二通信通道传输;以及确认发送模块830,被配置为响应于经由第一通信通道接收到第二升级反馈信息,经由第一通信通道发送升级确认信息。
由此,能够避免误触发执行第二升级过程,提高了系统的稳定性。
根据一些实施例,装置800还可以包括数据发送模块,被配置为在请求发送模块820发送用于执行第二升级过程的升级请求之后,发送用于第二升级过程的固件升级数据。固件升级数据可以包括用于进行数据校验的校验信息,校验信息包括固件升级数据的校验值和数据量。
由此,固件升级能够通过比对固件升级数据中的校验信息,高效地确定固件是否升级成功。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器;其中存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述实施例中的方法。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行上述实施例中的方法。
根据本公开的另一方面,还提供一种计算机程序产品,包括计算机程序,其中,计算机程序在被处理器执行时实现上述实施例中的方法。
根据本公开的另一方面,还提供一种自动驾驶车辆,包括控制器,其中,控制器被配置为执行上述实施例中的方法。
参考图9,现将描述可以作为本公开的服务器或客户端的电子设备900的结构框图,其是可以应用于本公开的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM903中,还可存储电子设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入,并且可以包括但不限于鼠标、键盘、触摸屏、轨迹板、轨迹球、操作杆、麦克风和/或遥控器。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元908可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、802.11设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理,例如固件升级方法。例如,在一些实施例中,固件升级方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM 902和/或通信单元909而被载入和/或安装到电子设备900上。当计算机程序加载到RAM 903并由计算单元901执行时,可以执行上文描述的固件升级方法的一个或多个步骤。备选地,在其他实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行固件升级方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行、也可以顺序地或以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (18)
1.一种固件升级方法,包括:
执行固件的第一升级过程;
确定是否接收到用于执行所述固件的第二升级过程的升级请求,其中,所述升级请求指示所述第一升级过程失败,且所述升级请求具有预先约定的信号形式,并经由专用于所述升级请求的通信通道传输;以及
响应于接收到用于执行所述第二升级过程的所述升级请求,执行所述第二升级过程。
2.根据权利要求1所述的方法,还包括:在执行所述第二升级过程之前,接收用于所述第二升级过程的固件升级数据,其中,所述固件升级数据包括用于进行数据校验的校验信息,所述校验信息包括所述固件升级数据的参考校验值和参考数据量。
3.根据权利要求2所述的方法,其中,执行所述第二升级过程包括:
写入所述固件升级数据;
确定被写入的所述固件升级数据的校验值和数据量;以及
基于所述校验值和所述数据量与所述参考校验值和所述参考数据量的比较,确定所述第二升级过程是否成功。
4.根据权利要求3所述的方法,其中,执行所述第二升级过程还包括:
存储所述校验值和所述数据量;以及
标识所述固件升级数据被写入的位置以用于所述固件在所述第二升级过程后被启动。
5.根据权利要求1至4中任一项所述的方法,其中,所述第二升级过程是通过运行预先设置的工厂固件来执行的。
6.一种固件升级方法,包括:
确定在固件的第一升级过程之后是否经由第一通信通道接收到第一升级反馈信息;
响应于未接收到所述第一升级反馈信息,发送用于执行所述固件的第二升级过程的升级请求,其中,所述升级请求指示所述第一升级过程失败,且所述升级请求具有预先约定的信号形式,并经由专用于所述升级请求的第二通信通道传输;
确定在所述固件的第二升级过程之后是否经由所述第一通信通道接收到第二升级反馈信息;以及
响应于接收到所述第二升级反馈信息,经由所述第一通信通道发送升级确认信息。
7.根据权利要求5所述的方法,还包括:在发送用于执行所述第二升级过程的所述升级请求之后,发送用于所述第二升级过程的固件升级数据,其中,所述固件升级数据包括用于进行数据校验的校验信息,所述校验信息包括所述固件升级数据的校验值和数据量。
8.一种用于固件升级的装置,包括:
第一升级执行模块,被配置为执行固件的第一升级过程;
请求确定模块,被配置为确定是否接收到用于执行所述固件的第二升级过程的升级请求,其中,所述升级请求指示所述第一升级过程失败,且所述升级请求具有预先约定的信号形式,并经由专用于所述升级请求的通信通道传输;以及
第二升级执行模块,被配置为响应于接收到用于执行所述第二升级过程的所述升级请求,执行所述第二升级过程。
9.根据权利要求8所述的装置,还包括:
数据接收模块,被配置为在所述第二升级执行模块执行所述第二升级过程之前,接收用于所述第二升级过程的固件升级数据,其中,所述固件升级数据包括用于进行数据校验的校验信息,所述校验信息包括所述固件升级数据的参考校验值和参考数据量。
10.根据权利要求9所述的装置,其中,所述第二执行模块包括:
数据写入模块,被配置为写入所述固件升级数据;
信息确定模块,被配置为确定被写入的所述固件升级数据的校验值和数据量;以及
结果确定模块,被配置为基于所述校验值和所述数据量与所述参考校验值和所述参考数据量的比较,确定所述第二升级过程是否成功。
11.根据权利要求10所述的装置,其中,所述第二执行模块还包括:
信息存储模块,被配置为存储所述校验值和所述数据量;以及
数据标识模块,被配置为标识所述固件升级数据被写入的位置以用于所述固件在升级后被启动。
12.根据权利要求8至11中任一项所述的装置,其中,所述第二升级执行模块被配置为通过运行预先设置的工厂固件来执行所述第二升级过程。
13.一种用于固件升级的装置,包括:
反馈确定模块,被配置为确定在固件的第一升级过程之后是否经由第一通信通道接收到第一升级反馈信息,以及在所述固件的第二升级过程之后是否经由所述第一通信通道接收到第二升级反馈信息;
请求发送模块,被配置为响应于未接收到所述第一升级反馈信息,发送用于执行所述固件的第二升级过程的升级请求,其中,所述升级请求指示所述第一升级过程失败,且所述升级请求具有预先约定的信号形式,并经由专用于所述升级请求的第二通信通道传输;以及
确认发送模块,被配置为响应于经由所述第一通信通道接收到所述第二升级反馈信息,经由所述第一通信通道发送升级确认信息。
14.根据权利要求13所述的装置,还包括:
数据发送模块,被配置为在所述请求发送模块发送用于执行所述第二升级过程的所述升级请求之后,发送用于所述第二升级过程的固件升级数据,其中,所述固件升级数据包括用于进行数据校验的校验信息,所述校验信息包括所述固件升级数据的校验值和数据量。
15.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。
16.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
17.一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被处理器执行时实现根据权利要求1-7中任一项所述的方法。
18.一种自动驾驶车辆,包括控制器,其中,所述控制器被配置为执行根据权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211105348.8A CN115576580A (zh) | 2022-09-09 | 2022-09-09 | 固件升级方法、装置、电子设备及自动驾驶车辆 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211105348.8A CN115576580A (zh) | 2022-09-09 | 2022-09-09 | 固件升级方法、装置、电子设备及自动驾驶车辆 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115576580A true CN115576580A (zh) | 2023-01-06 |
Family
ID=84582008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211105348.8A Pending CN115576580A (zh) | 2022-09-09 | 2022-09-09 | 固件升级方法、装置、电子设备及自动驾驶车辆 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115576580A (zh) |
-
2022
- 2022-09-09 CN CN202211105348.8A patent/CN115576580A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11146456B2 (en) | Formal model checking based approaches to optimized realizations of network functions in multi-cloud environments | |
CN108958787B (zh) | 区块链系统升级方法、装置、设备及存储介质 | |
EP3575975B1 (en) | Method and apparatus for operating smart network interface card | |
US10939031B2 (en) | Machine learning-based device placement and configuration service | |
US20210191714A1 (en) | Vehicle Software Deployment System | |
CN113243088A (zh) | 卫星运行服务管理系统、卫星运行服务管理装置及卫星运行服务管理方法 | |
CN113791792A (zh) | 应用调用信息的获取方法、设备以及存储介质 | |
CN115576580A (zh) | 固件升级方法、装置、电子设备及自动驾驶车辆 | |
CN113074955B (zh) | 控制数据采集的方法、装置、电子设备和介质 | |
CN112199439A (zh) | 数据存储设备和非暂态有形计算机可读存储介质 | |
CN115098301B (zh) | 一种云原生场景下有状态应用的快照生成方法和系统 | |
CN116450184A (zh) | 一种系统升级方法、装置、电子设备及存储介质 | |
KR102006080B1 (ko) | 블랙박스 영상 제공 방법 및 이를 수행하는 장치들 | |
CN108292210B (zh) | 传输功能指令的方法及接口设备和系统 | |
CN115617823A (zh) | 地图更新数据下载方法、装置、设备及可读介质 | |
CN113917506A (zh) | 模糊度固定方法、装置、电子设备及自动驾驶设备 | |
CN115685270A (zh) | 用于提供时间服务的方法、装置、电子设备及fpga芯片 | |
CN113792016B (zh) | 提取行车数据的方法、装置、设备和介质 | |
CN112289023B (zh) | 用于自动驾驶的停车仿真测试方法、装置及相关设备 | |
CN115086167B (zh) | 一种参数配置方法、装置、计算机设备及存储介质 | |
US9330030B2 (en) | Bridge decoder for a vehicle infotainment system | |
US20220126860A1 (en) | Method and apparatus for processing autonomous driving simulation data, and electronic device | |
US20230111874A1 (en) | Device emulations in a notebook session | |
CN114329402A (zh) | 车载操作系统的用户登录方法及装置、电子设备和介质 | |
CN115412580A (zh) | Phy芯片工作模式确定方法、装置、及自动驾驶车辆 |
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 |