CN117492788A - 芯片程序升级方法、装置、电子设备和计算机可读介质 - Google Patents

芯片程序升级方法、装置、电子设备和计算机可读介质 Download PDF

Info

Publication number
CN117492788A
CN117492788A CN202311381508.6A CN202311381508A CN117492788A CN 117492788 A CN117492788 A CN 117492788A CN 202311381508 A CN202311381508 A CN 202311381508A CN 117492788 A CN117492788 A CN 117492788A
Authority
CN
China
Prior art keywords
upgrade
data packet
information
program
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
Application number
CN202311381508.6A
Other languages
English (en)
Inventor
袁宪彬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Heduoqianmo Technology Co ltd
Original Assignee
Guangzhou Heduoqianmo Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Heduoqianmo Technology Co ltd filed Critical Guangzhou Heduoqianmo Technology Co ltd
Priority to CN202311381508.6A priority Critical patent/CN117492788A/zh
Publication of CN117492788A publication Critical patent/CN117492788A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Stored Programmes (AREA)

Abstract

本公开的实施例公开了芯片程序升级方法、装置、电子设备和计算机可读介质。该方法的一具体实施方式包括:获取域控升级数据包;对开始升级请求信息和车辆参数信息进行校验处理,得到升级校验信息;响应于确定升级校验信息满足预设升级条件,生成升级数据包信息集;对于每个升级数据包信息,将升级数据包信息对应的程序升级数据包发送至升级控制模块,以供解压得到目标程序升级数据;选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;对目标升级数据包信息对应的程序升级数据包进行解压处理,得到目标程序升级数据;对于每个升级数据包信息,对程序存储分区数据进行刷写处理。该实施方式可以缩短多芯片域控制器的升级时长。

Description

芯片程序升级方法、装置、电子设备和计算机可读介质
技术领域
本公开的实施例涉及计算机技术领域,具体涉及芯片程序升级方法、装置、电子设备和计算机可读介质。
背景技术
芯片程序升级方法,是用于对自动驾驶域控制器中的各个芯片的运行程序进行升级的一项技术。目前,在进行芯片程序升级时,通常采用的方式为:通过串行刷写的方式对域控制器中的各个芯片依次进行程序刷写,每刷写完成一个芯片才开始刷写下一个芯片,直到各个芯片刷写完成。此外,当各个芯片刷写完成且对域控进行重启后,直接通过域控的运行状态确认芯片程序升级成功。
然而,发明人发现,当采用上述方式进行芯片程序升级时,经常会存在如下技术问题:
第一,针对域控制器中的各个芯片,若采用串行刷写的方式,则整个多芯片域控制器的升级时长将由各个芯片的程序升级时长共同决定,从而,导致多芯片域控制器升级耗时较长;
第二,由于芯片本身具有两个运行分区,若仅通过多芯片域控制器的运行状态确认芯片程序升级成功,则容易使得各个芯片运行版本长时间不一致,从而,最终导致多芯片域控制器运行异常;
第三,当芯片程序刷写出错时,由于难以定位故障点,使得难以及时地对故障进行修复,从而,导致芯片程序升级耗时较长。
该背景技术部分中所公开的以上信息仅用于增强对本发明构思的背景的理解,并因此,其可包含并不形成本国的本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的内容部分用于以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。本公开的内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
本公开的一些实施例提出了芯片程序升级方法、装置、电子设备和计算机可读介质,来解决以上背景技术部分提到的技术问题中的一项或多项。
第一方面,本公开的一些实施例提供了一种芯片程序升级方法,该方法包括:获取针对目标域控制器的域控升级数据包;响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息;响应于确定上述升级校验信息满足预设升级条件,基于上述域控升级数据包,生成升级数据包信息集,其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包;对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据;从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据;对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
第二方面,本公开的一些实施例提供了一种芯片程序升级装置,装置包括:获取单元,被配置获取针对目标域控制器的域控升级数据包;校验处理单元,被配置成响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息;生成单元,被配置成响应于确定上述升级校验信息满足预设升级条件,基于上述域控升级数据包,生成升级数据包信息集,其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包;发送单元,被配置成对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据;选择单元,被配置成从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;解压处理单元,被配置成对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据;刷写处理单元,被配置成对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
第三方面,本公开的一些实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述第一方面任一实现方式所描述的方法。
第四方面,本公开的一些实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现上述第一方面任一实现方式所描述的方法。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的芯片程序升级方法,可以缩短多芯片域控制器的升级时长。具体来说,造成多芯片域控制器升级耗时较长的原因在于:针对域控制器中的各个芯片,若采用串行刷写的方式,则整个多芯片域控制器的升级时长将由各个芯片的程序升级时长共同决定,从而,导致多芯片域控制器升级耗时较长。基于此,本公开的一些实施例的芯片程序升级方法,首先,获取针对目标域控制器的域控升级数据包。由此,可以得到多芯片域控制器升级的源数据,便于后续对多芯片域控制器包括的各个芯片进行升级。其次,响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息。由此,可以对用于升级的源数据的完整性和车辆状态进行验证,确定是否可以进行芯片程序升级操作。然后,响应于确定上述升级校验信息满足预设升级条件,基于上述域控升级数据包,生成升级数据包信息集。其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包。由此,当确定能够进行芯片程序升级操作时,可以生成每个待升级芯片对应的升级数据,以用于后续对芯片进行升级。之后,对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据。从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息。对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据。由此,可以通过芯片对应的升级控制模块对程序升级数据包进行解压,以便于后续并发开始刷写。最后,对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。由此,针对各个待升级芯片,可以同时调用各个升级控制模块,对芯片进行程序并发刷写。因此,本公开的芯片程序升级方法,通过为每个芯片单独设置升级控制模块,以及在各个升级包解压之后,同时触发各个升级控制模块并发进行芯片程序升级,由此,可以使得整个多芯片域控制器的升级时长,取决于程序并发升级时最长的升级耗时。从而,可以缩短多芯片域控制器升级耗时。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,元件和元素不一定按照比例绘制。
图1是根据本公开的芯片程序升级方法的一些实施例的流程图;
图2是根据本公开的芯片程序升级装置的一些实施例的结构示意图;
图3是适于用来实现本公开的一些实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例。相反,提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
下面将参考附图并结合实施例来详细说明本公开。
图1示出了根据本公开的芯片程序升级方法的一些实施例的流程100。该芯片程序升级方法,包括以下步骤:
步骤101,获取针对目标域控制器的域控升级数据包。
在一些实施例中,芯片程序升级方法的执行主体(例如计算设备)可以通过有线连接或无线连接的方式,从云平台获取针对目标域控制器的域控升级数据包。其中,上述云平台可以是部署有FOTA(Firmware Over-The-Air,固件云端升级技术)的、用于域控制器在线升级的平台。上述目标域控制器可以是智能驾驶车辆上部署的多芯片域控制器。例如,上述目标域控制器可以是智能驾驶域控制器。上述目标域控制器可以包括主升级芯片和至少一个次升级芯片。上述主升级芯片可以是目标域控制器程序升级时,预先设置的芯片。次升级芯片可以是预先设置的、目标域控制器中主升级芯片之外的其他芯片。上述目标域控制器中的每个芯片可以存在对应的芯片标识。上述芯片标识可以是芯片的唯一标识。上述域控升级数据包可以是用于对目标域控制器中的各个芯片进行程序升级的、压缩后的程序包。需要指出的是,上述无线连接方式可以包括但不限于3G/4G连接、WiFi连接、蓝牙连接、WiMAX连接、Zigbee连接、UWB(ultra wideband)连接、以及其他现在已知或将来开发的无线连接方式。
可选的,在获取针对目标域控制器的域控升级数据包之后,上述执行主体还可以执行以下步骤:
第一步,将上述域控升级数据包存储至上述目标域控制器对应的升级包存储分区。其中,上述升级包存储分区可以是预先划分的、用于存储升级数据包的存储空间。
第二步,将预设的存储完成信息发送至升级监控终端。其中,上述存储完成信息可以表征域控升级数据包已存储至对应的升级包存储分区。上述升级监控终端可以是用于对升级过程进行监控的终端。
可选的,上述升级监控终端可以执行以下步骤:
第一步,响应于接收到存储完成信息,对预先获取的升级域控信息和上述目标域控制器对应的软硬件信息进行匹配处理,得到域控匹配信息。其中,上述升级域控信息可以是上述升级监控终端从云平台获取的待升级域控制器的软硬件信息。上述软硬件信息可以包括但不限于以下至少一项:零件编号、供应商编码、软件版本号。上述域控匹配信息可以表征上述升级域控信息与上述目标域控制器对应的软硬件信息是否相同。
第二步,响应于确定上述域控匹配信息表征上述升级域控信息与上述目标域控制器对应的软硬件信息相同,生成开始升级请求信息,以及将上述开始升级请求信息发送至上述执行主体。其中,上述开始升级请求信息可以是请求对目标域控制器开始进行升级的信息。上述开始升级请求信息可以包括升级包位置信息和签名文件位置信息。上述升级包位置信息可以是升级包的存储路径的信息。上述签名文件位置信息可以是用于验证升级包是否完整的签名文件的存储路径的信息。首先,将上述域控升级数据包对应的存储路径确定为升级包位置信息。然后,将预先获取的签名文件对应的存储路径确定为签名文件位置信息。其中,上述签名文件可以是与上述域控升级数据包在同一升级包存储分区的、通过预设数字签名算法对上述域控升级数据包进行加密后得到的文件。例如,上述预设数字签名算法可以是RSA(Rivest-Shamir-Adleman,李维斯特-萨莫尔-阿德曼)算法。最后,将上述升级包位置信息和上述签名文件位置信息确定为开始升级请求信息。
步骤102,响应于接收到针对目标域控制器的开始升级请求信息,对开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息。
在一些实施例中,上述执行主体可以通过各种方式,响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息。其中,上述车辆参数信息可以包括参数项信息组。上述参数项信息组中的每个参数项信息包括参数标识和参数值。上述参数标识可以是车辆参数的标识。车辆参数可以包括车速、档位和电压。上述升级校验信息可以表征上述目标域控制器是否可进行升级。
在一些实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息:
第一步,对上述开始升级请求信息进行校验处理,得到升级请求状态信息。其中,上述升级请求状态信息可以表征开始升级请求是否为异常请求。首先,可以通过上述预设数字签名算法,根据预设的公钥信息,对上述开始升级请求信息对应的签名文件进行验证,得到签名文件验证信息。其中,上述公钥信息可以是预先设置的公钥的信息。上述签名文件验证信息可以表征签名文件是否有误。然后,响应于确定上述签名文件验证信息表征上述开始升级请求信息对应的签名文件无误,将预设的请求无异常标识确定为升级请求状态信息。最后,响应于确定上述签名文件验证信息表征上述开始升级请求信息对应的签名文件有误,将预设的请求异常标识确定为升级请求状态信息。其中,上述请求无异常标识可以表征开始升级请求不是异常请求。上述请求异常标识可以表征开始升级请求为异常请求。
第二步,响应于确定上述升级请求状态信息满足预设请求状态条件,对预先获取的车辆参数信息进行校验处理,得到升级校验信息。其中,上述预设请求状态条件可以是升级请求状态信息表征开始升级请求不是异常请求。具体可以执行以下步骤:
第一子步骤,对于上述车辆参数信息中的每个参数项信息,执行以下步骤:
子步骤一,响应于确定上述参数项信息中的参数标识表征车辆参数为车速,对上述参数项信息中的参数值进行校验处理,得到车速校验信息。其中,上述车速校验信息可以表征车速是否小于预先设置的车速值。首先,响应于确定上述参数项信息中的参数值小于预先设置的车速值,将预设车速合规标识确定为车速校验信息。其中,上述预设车速合规标识可以表征车辆的当前车速小于预先设置的车速值。然后,响应于确定上述参数项信息中的参数值不小于预先设置的车速值,将预设车速不合规标识确定为车速校验信息。其中,上述预设车速不合规标识可以表征车辆的当前车速不小于预先设置的车速值。
子步骤二,响应于确定上述参数项信息中的参数标识表征车辆参数为车辆档位,对上述参数项信息中的参数值进行校验处理,得到档位校验信息。其中,上述档位校验信息可以表征车辆档位是否为驻车档。首先,响应于确定上述参数项信息中的参数值表征车辆档位为驻车档,将预设档位合规标识确定为档位校验信息。其中,上述预设档位合规标识可以表征车辆档位为驻车档。然后,响应于确定上述参数项信息中的参数值表征车辆档位不为驻车档,将预设档位不合规标识确定为档位校验信息。其中,上述预设档位不合规标识可以表征车辆档位不为驻车档。
子步骤三,响应于确定上述参数项信息中的参数标识表征车辆参数为车辆电压,对上述参数项信息中的参数值进行校验处理,得到电压校验信息。其中,上述电压校验信息可以表征电压值是否在预设的数值区间中。例如,上述数值区间可以是9伏-16伏之间。首先,响应于确定上述参数项信息中的参数值表征车辆电压值在预设的数据区间,将预设电压合规标识确定为电压校验信息。其中,上述预设电压合规标识可以表征车辆电压值在预设的数据区间。然后,响应于确定上述参数项信息中的参数值表征车辆电压值不在预设的数据区间,将预设电压不合规标识确定为电压校验信息。其中,上述预设电压不合规标识可以表征车辆电压值不在预设的数据区间。
第二子步骤,将上述车速校验信息、上述档位校验信息和上述电压校验信息确定为车辆校验信息。
第三子步骤,响应于确定上述车辆校验信息满足预设车辆状态条件,将预设域控可升级标识确定为升级校验信息。其中,上述预设车辆状态条件可以是:上述车辆校验信息对应的车速校验信息表征车速小于预先设置的车速值、且对应的档位校验信息表征车辆档位为驻车档、且电压校验信息表征电压值在预设的数值区间中。上述预设域控可升级标识可以表征上述目标域控制器可进行升级。
第四子步骤,响应于确定上述车辆校验信息不满足上述预设车辆状态条件,将预设域控不可升级标识确定为升级校验信息。其中,上述预设域控不可升级标识可以表征上述目标域控制器不可进行升级。
步骤103,响应于确定升级校验信息满足预设升级条件,基于域控升级数据包,生成升级数据包信息集。
在一些实施例中,上述执行主体可以通过各种方式,对预先获取的车辆位置信息和上述道路中心线信息进行融合处理,得到相对位置信息。其中,上述预设升级条件可以是上述升级校验信息表征上述目标域控制器可进行升级。每个升级数据包信息存在对应的待升级芯片。上述升级数据包信息集中的升级数据包信息可以是用于对应芯片程序升级的程序代码包的信息。待升级芯片可以是待进行程序升级的芯片。每个待升级芯片存在对应的升级控制模块和程序存储分区数据。上述程序存储分区数据可以是待升级的、芯片运行程序的备份数据。每个升级数据包信息可以包括程序升级数据包。上述程序升级数据包可以是用于程序升级的代码包。上述程序升级数据包可以存在关联的数据包标识。上述数据包标识可以是程序升级数据包的唯一标识。上述升级控制模块可以是用于控制程序升级数据包对芯片进行刷写的程序代码块。需要说明的是,当次升级芯片为待升级芯片时,次升级芯片对应的升级控制模块可以部署在自身芯片上,也可以部署在主升级芯片上。当主升级芯片为待升级芯片时,主升级芯片对应的升级控制模块只能部署在自身芯片上。
在一些实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤,基于上述域控升级数据包,生成升级数据包信息集:
第一步,对上述域控升级数据包进行解压处理,得到程序升级数据包集。其中,可以通过预设的解压方法,对上述域控升级数据包进行解压处理,得到程序升级数据包集。
作为示例,当域控升级数据包为ZIP格式压缩包时,上述解压方法可以是ZIP文件解压方法。
第二步,对于上述程序升级数据包集中的每个程序升级数据包,执行以下步骤:
第一子步骤,将上述程序升级数据包对应的存储路径信息确定为数据包存储路径信息。其中,上述存储路径信息可以表征程序升级数据包的存储位置。
第二子步骤,将上述程序升级数据包和上述数据包存储路径信息确定为升级数据包信息。
步骤104,对于升级数据包信息集中的每个升级数据包信息,响应于确定升级数据包信息对应的升级控制模块满足预设位置条件,将升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与升级数据包信息对应的目标程序升级数据。
在一些实施例中,上述执行主体可以对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据。其中,上述预设位置条件可以是上述升级数据包信息对应的待升级芯片为次升级芯片、且对应的升级控制模块未部署在主升级芯片上。上述目标程序升级数据可以是未压缩的、用于芯片程序升级的代码包。
在一些实施例的一些可选的实现方式中,上述执行主体可以通过以下步骤,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块:
第一步,将上述升级数据包信息对应的数据包存储路径信息发送至对应的升级控制模块。
第二步,响应于接收到升级数据下载请求,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块。其中,上述升级数据下载请求可以是请求将程序升级数据包下载至对应的待升级芯片的信息。
可选的,每个升级数据包信息还可以包括待升级芯片标识。待升级芯片标识可以是待升级程序的芯片对应的芯片标识。上述执行主体还可以执行以下步骤:
第一步,响应于确定上述升级数据包信息对应的升级控制模块不满足上述预设位置条件,对上述升级数据包信息对应的待升级芯片标识进行校验,得到芯片校验结果信息。其中,上述芯片校验结果信息可以表征上述升级数据包信息对应的待升级芯片是否为次升级芯片。首先,响应于确定上述升级数据包信息对应的、待升级芯片标识与预设次升级芯片标识组中的任意预设次升级芯片标识相同,将预设校验成功标识确定为芯片校验结果信息。其中,上述预设次芯片标识组中的预设次芯片标识可以是预先设置的、次升级芯片对应的芯片标识。然后,响应于确定上述升级数据包信息对应的、待升级芯片标识与预设次升级芯片标识组中的预设次升级芯片标识均不相同,将预设校验失败标识确定为芯片校验结果信息。其中,上述预设校验成功标识表征上述升级数据包信息对应的待升级芯片是次升级芯片。上述预设校验失败标识表征上述升级数据包信息对应的待升级芯片不是次升级芯片。
第二步,响应于确定上述芯片校验结果信息满足预设芯片类型条件,将上述升级数据包信息对应的数据包存储路径信息发送至对应的升级控制模块。其中,上述预设芯片类型条件可以是上述芯片校验结果信息表征上述升级数据包信息对应的待升级芯片为次升级芯片。
可选的,在上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块之后,升级控制模块接收到程序升级数据包,并通过上述解压方法,对程序升级数据包进行解压处理,得到目标程序升级数据。
步骤105,从升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息。
在一些实施例中,上述执行主体可以从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息。其中,上述预设芯片条件可以是升级数据包信息对应的待升级芯片为主升级芯片。
步骤106,对目标升级数据包信息对应的程序升级数据包进行解压处理,得到与目标升级数据包信息对应的目标程序升级数据。
在一些实施例中,上述执行主体可以对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据。其中,与上述目标升级数据包信息对应的目标程序升级数据可以是未压缩的、用于对主升级芯片进行升级的代码包。
可选的,在对目标升级数据包信息对应的程序升级数据包进行解压处理,得到与目标升级数据包信息对应的目标程序升级数据之后,上述执行主体还可以将预设的开始升级指令发送至各个升级控制模块。其中,上述开始升级指令可以是指示升级控制模块开始执行芯片程序升级操作的指令。
步骤107,对于每个升级数据包信息对应的待升级芯片,基于升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
在一些实施例中,上述执行主体可以对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。其中,对于每个升级数据包信息对应的待升级芯片,可以调用上述升级数据包信息对应的升级控制模块,以及上述升级控制模块可以根据对应的目标程序升级数据,通过预设的刷写方法,对上述待升级芯片对应的程序存储分区数据进行刷写处理,完成芯片程序升级。
作为示例,上述刷写方法可以包括但不限于以下中至少一项:整包刷写、差分刷写。
可选的,上述执行主体还可以执行以下步骤:
第一步,响应于接收到任意升级控制模块发送的升级出错信息,获取芯片程序升级日志文件。其中,上述升级出错信息可以包括升级出错芯片标识、错误标识、出错时间。上述升级出错芯片标识可以是程序升级时发生错误的芯片的标识。上述错误标识可以是程序升级出错时输出的错误代码。上述错误标识可以对程序升级时发生的错误唯一标识。上述出错时间可以是程序升级出错时的时间。上述芯片程序升级日志文件可以是用于记录芯片程序升级的执行过程的日志文件。上述芯片程序升级日志文件可以包括日志记录组。日志记录组中的日志记录可以包括记录时间和日志记录详情数据。上述记录时间可以是对应日志记录生成时的时间。上述日志记录详情数据可以是表征程序运行的过程或结果的字符串。可以从上述升级出错芯片标识对应的芯片中获取芯片程序升级日志文件。
可选的,上述执行主体还可以将升级出错信息和预设的故障处理启动信息发送至车辆中控屏界面,以供提示用户域控升级出错且故障处理中。其中,上述故障处理启动信息可以是开始处理故障的信息。
第二步,基于上述升级出错信息,对上述芯片程序升级日志文件进行内容检索,得到故障详情信息。其中,上述故障详情信息可以是程序升级出错时的日志记录详情数据。首先,从上述芯片程序升级日志文件包括的日志记录组中选出与上述升级出错信息相匹配的日志记录,作为出错日志记录。其中,与上述升级出错信息相匹配可以是:日志记录包括的记录时间与上述升级出错信息包括的出错时间相同、且日志记录包括的日志记录详情数据中存在与上述升级出错信息包括的错误标识相同的英文字符串。然后,将上述出错日志记录对应的日志记录详情数据确定为故障详情信息。
第三步,对上述故障详情信息进行解析处理,得到故障原因数据。其中,上述故障原因数据可以是表征升级故障原因的中文字符串。可以通过预设的语言转换方法,对上述故障详情信息进行解析处理,得到故障原因数据。例如,上述语言转换方法可以是seq2seq(Sequence to Sequence,序列到序列)模型。
第四步,对上述故障原因数据进行关键词提取,得到故障原因关键词组。其中,上述故障原因关键词组中的故障原因关键词可以是表征升级故障原因的关键词。可以通过预设的关键词提取模型,对上述故障原因数据进行关键词提取,得到故障原因关键词组。例如,上述关键词提取模型可以是BERT(Bidirectional Encoder Representation fromTransformers,基于变换网络的双向编码器表示)模型。
第五步,基于预先构建的域控升级故障知识图谱,确定上述故障原因关键词组中的每个故障原因关键词对应的至少一个故障修复程序标识。其中,上述域控升级故障知识图谱可以是以故障原因关键词、故障修复程序为节点,以故障原因关键词与故障修复程序之间的关联关系为边的知识图谱。故障修复程序可以是用于修复域控升级过程中发生的故障的代码程序。故障修复程序标识可以是故障修复程序的唯一标识。上述关联关系可以表征故障修复程序曾经用于解决故障原因关键词对应的故障。
第六步,将上述故障原因关键词组对应的各个故障修复程序标识确定为故障修复程序标识组。
第七步,对于上述故障修复程序标识组中的每个故障修复程序标识,将上述故障修复程序标识对应的故障原因关键词的数目确定为修复程序权重值,以及将上述故障修复程序标识和上述修复程序权重值确定为故障修复程序信息。
第八步,对上述故障修复程序标识组对应的各个故障修复程序信息进行降序排序,得到故障修复程序信息序列。其中,故障修复程序信息序列可以是按照故障修复程序信息对应的修复程序权重值的大小,对故障修复程序信息进行降序排序的序列。可以根据故障修复程序信息对应的修复程序权重值,通过预设的排序算法,对上述故障修复程序标识组对应的各个故障修复程序信息进行降序排序,得到故障修复程序信息序列。例如,上述排序算法可以包括但不限于以下至少一项:快速排序、插入排序。
第九步,对上述故障修复程序信息序列进行截取,得到目标故障修复程序信息序列。其中,上述目标故障修复程序信息序列可以是故障修复程序信息序列的子序列。可以从故障修复程序信息序列中、序号为1的故障修复程序信息截取至序号为预设序号的故障修复程序信息,将所截取到的故障修复程序信息序列的子序列确定为目标故障修复程序信息序列。上述预设序号可以是预先设置的序号。例如,上述预设序号可以是2。
第十步,基于上述目标故障修复程序信息序列,对上述升级出错信息对应的故障进行修复,以生成故障已修复信息。其中,上述故障已修复信息可以表征故障已修复。可以执行以下步骤:
第一子步骤,对预设计数器对应的计数值初始化为1。
第二子步骤,根据计数值,执行以下故障已修复信息生成步骤:
子步骤一,将目标故障修复程序信息序列中、对应序号与计数值相同的目标故障修复程序信息确定为待调用修复程序信息。
子步骤二,调用上述待调用修复程序信息对应的故障修复程序进行故障修复。
子步骤三,响应于接收到故障已修复反馈信息,将上述故障已修复反馈信息确定为故障已修复信息。其中,上述故障已修复反馈信息可以是故障修复程序反馈的表征故障已修复的信息。
可选的,响应于接收到故障未修复反馈信息,将计数值与1的和确定为更新计数值,以及将更新计数值作为计数值,再次执行上述故障已修复信息生成步骤。其中,上述故障未修复反馈信息可以是故障修复程序反馈的表征故障未修复的信息。
第十一步,响应于接收到故障已修复信息,将上述故障已修复信息发送至用户终端,以及将预设的升级开始指令发送至上述升级出错信息对应的升级控制模块,以供再次执行芯片程序升级操作。其中,升级控制模块接收到升级开始指令后,根据目标程序升级数据,重新开始对待升级芯片对应的程序存储分区数据进行刷写。
上述故障修复步骤及其相关内容作为本公开的实施例的一个发明点,解决了背景技术提及的技术问题三“芯片程序升级耗时较长”。导致上述方式的芯片程序升级耗时较长的因素往往如下:当芯片程序刷写出错时,由于难以定位故障点,使得难以及时地对故障进行修复。如果解决了上述因素,就能达到缩短芯片程序升级耗时的效果。为了达到这一效果,当升级出错时,首先,确定出错时的日志记录。然后,根据日志记录确定表层的故障原因。之后,确定表征故障原因的故障原因关键词,以用于后续确定故障修复方法。接着,根据故障原因关键词和域控升级故障知识图谱,可以确定多个候选的故障修复方法。再接着,可以从多个故障修复方法中选出权重较高的方法,作为备用故障修复方法。最后,可以依次调用备用故障修复方法对故障进行修复,直到故障已修复,停止调用其他备用故障修复方法。由此,可以及时地对故障进行修复。又因为故障修复后,升级控制模块可以根据目标程序升级数据,重新开始对待升级芯片对应的程序存储分区数据进行刷写,以完成芯片程序升级。从而,可以缩短芯片程序升级耗时。另外,由于各个芯片在程序升级时相互独立,由此当任意芯片程序刷写出错时,并不会影响其他芯片的程序升级。
可选的,上述执行主体还可以执行以下步骤:
第一步,响应于检测到各个待升级芯片刷写完毕,基于所刷写的程序存储分区数据,生成目标运行分区标识,以及将上述目标运行分区标识存储至预设配置文件。其中,上述目标运行分区标识可以是已升级的、待运行程序数据所在存储分区对应的分区标识。上述存储分区可以是预先划分的存储空间。上述分区标识可以是存储分区的唯一标识。上述预设配置文件可以是预先设置的、用于存储上述目标运行分区标识的配置文件。可以将所刷写的程序存储分区数据对应的分区标识确定为目标运行分区标识。
第二步,基于上述目标运行分区标识,对预设运行分区标识进行更新处理,得到更新运行分区标识,以及将上述更新运行分区标识确定为预设运行分区标识。其中,上述预设运行分区标识可以是预先设置的、当前运行存储分区的分区标识。当前运行存储分区可以是预先划分的、当前运行程序所在的存储分区。首先,将预设运行分区标识修改为目标运行分区标识,以及将修改后的预设运行分区标识确定为更新运行分区标识。然后,将上述更新运行分区标识确定为预设运行分区标识。需要说明的是,上述目标域控制器中的每个芯片均可以包括一个当前运行存储分区和一个备份存储分区。上述备份存储分区可以是对当前运行存储分区中的数据进行备份存储的存储空间。上述备份存储分区存在关联的分区标识。当对备份存储分区进行刷写时,不影响当前运行存储分区数据的运行。
第三步,基于上述预设运行分区标识,对上述目标域控制器执行重启操作,以供运行刷写后的程序运行分区数据。其中,上述程序运行分区数据可以是与预设运行分区标识对应的、存储分区中的程序运行数据。可以对上述目标域控制器执行重启操作,读取上述预设运行分区标识对应的存储分区中的数据,以运行刷写后的程序运行分区数据。
第四步,响应于检测到上述目标域控制器已重启,对预设的域控状态机进行检测,得到域控系统状态信息。其中,上述域控状态机可以是目标域控制器的状态机。上述域控状态机可以用于表征上述目标域控制器的状态。上述状态可以是但不限于以下中的一项:正常运行状态、在线升级状态、异常状态。上述正常运行状态可以表征上述目标域控制器处于正常运行中。上述在线升级状态可以表征上述目标域控制器处于在线升级中。上述异常状态可以表征上述目标域控制器处于异常运行中。上述状态存在对应的状态标识。上述状态标识可以是上述目标域控制器的状态的唯一标识。可以将上述域控状态机对应的状态标识确定为域控系统状态信息。
第五步,获取程序运行分区信息集。其中,上述程序运行分区信息集中的程序运行分区信息可以包括芯片标识和分区标识。可以从上述目标域控制器包括的各个芯片中获取程序运行分区信息。
第六步,基于上述目标运行分区标识,对上述程序运行分区信息集中的各个程序运行分区信息进行检测,得到运行分区匹配信息集。其中,上述运行分区匹配信息集中的运行分区匹配信息可以表征对应的芯片是否升级成功,正常运行与目标运行分区标识对应的、存储分区中的程序运行数据。对于上述程序运行分区信息集中的每个程序运行分区信息,执行以下步骤:
第一子步骤,响应于确定上述程序运行分区信息对应的分区标识与上述目标运行分区标识相同,将上述程序运行分区信息对应的芯片标识和预设芯片程序升级成功标识确定为运行分区匹配信息。上述预设芯片程序升级成功标识可以是预先设置的、表征芯片程序升级成功的标识。
第二子步骤,响应于确定上述程序运行分区信息对应的分区标识与上述目标运行分区标识不相同,将上述程序运行分区信息对应的芯片标识和预设芯片程序升级失败标识确定为运行分区匹配信息。上述预设芯片程序升级失败标识可以是预先设置的、表征芯片程序升级失败的标识。
第七步,基于上述域控系统状态信息和上述运行分区匹配信息集,生成域控升级结果信息。其中,上述域控升级结果信息可以表征目标域控制器是否升级成功。首先,响应于确定上述域控系统状态信息表征上述目标域控制器的状态为正常运行状态、且上述运行分区匹配信息集中不存在任意运行分区匹配信息表征芯片程序升级失败,将表征目标域控制器升级成功的信息确定为域控升级结果信息。然后,响应于确定上述域控系统状态信息表征上述目标域控制器的状态为异常状态,将表征目标域控制器升级失败的信息确定为域控升级结果信息。最后,响应于确定上述运行分区匹配信息集中存在任意运行分区匹配信息表征芯片程序升级失败,将表征目标域控制器升级失败的信息确定为域控升级结果信息。
上述域控升级结果信息生成步骤及其相关内容作为本公开的实施例的一个发明点,解决了背景技术提及的技术问题二“域控系统运行异常”。导致域控系统运行异常的原因往往如下:由于芯片本身具有两个运行分区,若仅通过域控的运行状态确认芯片程序升级成功,则容易使得各个芯片运行版本长时间不一致。如果解决了上述因素,就能达到减少域控系统运行异常的次数的效果。为了达到这一效果,首先,在各个芯片刷写完成、且域控系统未重启之前,修改预设运行分区标识,以便域控系统重启时,根据预设运行分区标识,运行升级后的分区数据。此外,还保存芯片程序升级时所刷写的存储分区的信息,以用于确认域控系统重启后,各个芯片运行的数据是否为升级后的分区数据。然后,在域控系统重启后,确定域控状态机是否为正常运行状态,以及各个芯片实际运行的数据是否为升级后的存储分区中的数据。最后,当域控状态机为正常运行状态,且各个芯片实际运行的数据为升级后的存储分区中的数据时,可以确认各个芯片运行版本一致,且均为升级版本。从而,可以减少域控运行异常的次数。
可选的,上述执行主体还可以执行以下步骤:
第一步,响应于确定上述域控升级结果信息满足预设升级失败条件,对上述预设运行分区标识进行更新处理,得到版本回滚运行分区标识,以及将上述版本回滚运行分区标识确定为预设运行分区标识。其中,上述预设升级失败条件可以是上述域控升级结果信息表征目标域控制器升级失败。上述版本回滚运行分区标识可以是上一版本的运行程序对应存储分区的分区标识。首先,将预设的分区标识组中、与上述预设运行分区标识不相同的分区标识确定为待切换分区标识。然后,将上述预设运行分区标识修改为待切换分区标识,以及将修改后的预设运行分区标识作为版本回滚运行分区标识。最后,将上述版本回滚运行分区标识确定为预设运行分区标识。
第二步,基于上述预设运行分区标识,对上述目标域控制器执行重启操作,以切换程序运行分区。其中,可以对上述目标域控制器执行重启操作,读取上述预设运行分区标识对应的存储分区中的数据以运行程序,完成程序运行分区的切换。
本公开的上述各个实施例具有如下有益效果:通过本公开的一些实施例的芯片程序升级方法,可以缩短多芯片域控制器的升级时长。具体来说,造成多芯片域控制器升级耗时较长的原因在于:针对域控制器中的各个芯片,若采用串行刷写的方式,则整个多芯片域控制器的升级时长将由各个芯片的程序升级时长共同决定,从而,导致多芯片域控制器升级耗时较长。基于此,本公开的一些实施例的芯片程序升级方法,首先,获取针对目标域控制器的域控升级数据包。由此,可以得到多芯片域控制器升级的源数据,便于后续对多芯片域控制器包括的各个芯片进行升级。其次,响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息。由此,可以对用于升级的源数据的完整性和车辆状态进行验证,确定是否可以进行芯片程序升级操作。然后,响应于确定上述升级校验信息满足预设升级条件,基于上述域控升级数据包,生成升级数据包信息集。其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包。由此,当确定能够进行芯片程序升级操作时,可以生成每个待升级芯片对应的升级数据,以用于后续对芯片进行升级。之后,对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据。从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息。对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据。由此,可以通过芯片对应的升级控制模块对程序升级数据包进行解压,以便于后续并发开始刷写。最后,对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。由此,针对各个待升级芯片,可以同时调用各个升级控制模块,对芯片进行程序并发刷写。因此,本公开的芯片程序升级方法,通过为每个芯片单独设置升级控制模块,以及在各个升级包解压之后,同时触发各个升级控制模块并发进行芯片程序升级,由此,可以使得整个多芯片域控制器的升级时长,取决于程序并发升级时最长的升级耗时。从而,可以缩短多芯片域控制器升级耗时。
进一步参考图2,作为对上述各图所示方法的实现,本公开提供了一种芯片程序升级装置的一些实施例,这些装置实施例与图1所示的那些方法实施例相对应,该芯片程序升级装置具体可以应用于各种电子设备中。
如图2所示,一些实施例的芯片程序升级装置200包括:获取单元201、校验处理单元202、生成单元203、发送单元204、选择单元205、解压处理单元206和刷写处理单元207。其中,获取单元201,被配置获取针对目标域控制器的域控升级数据包;校验处理单元202,被配置成响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息;生成单元203,被配置成响应于确定上述升级校验信息满足预设升级条件,基于上述域控升级数据包,生成升级数据包信息集,其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包;发送单元204,被配置成对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据;选择单元205,被配置成从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;解压处理单元206,被配置成对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据;刷写处理单元207,被配置成对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
可以理解的是,该芯片程序升级装置200中记载的诸单元与参考图1描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作、特征以及产生的有益效果同样适用于芯片程序升级装置200及其中包含的单元,在此不再赘述。
进一步参考图3,其示出了适于用来实现本公开的一些实施例的电子设备300的结构示意图。图3示出的电子设备仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。
如图3所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储器(ROM)302中的程序或者从存储装置308加载到随机访问存储器(RAM)303中的程序而执行各种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的各种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图3示出了具有各种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图3中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
特别地,根据本公开的一些实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的一些实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的一些实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置308被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开的一些实施例的方法中限定的上述功能。
需要说明的是,本公开的一些实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的一些实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的一些实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取针对目标域控制器的域控升级数据包;响应于接收到针对上述目标域控制器的开始升级请求信息,对上述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息;响应于确定上述升级校验信息满足预设升级条件,基于上述域控升级数据包,生成升级数据包信息集,其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包;对于上述升级数据包信息集中的每个升级数据包信息,响应于确定上述升级数据包信息对应的升级控制模块满足预设位置条件,将上述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与上述升级数据包信息对应的目标程序升级数据;从上述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;对上述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与上述目标升级数据包信息对应的目标程序升级数据;对于每个升级数据包信息对应的待升级芯片,基于上述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对上述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的一些实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开的一些实施例中的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、校验处理单元、生成单元、发送单元、选择单元、解压处理单元和刷写处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取针对目标域控制器的域控升级数据包的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
以上描述仅为本公开的一些较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开的实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开的实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种芯片程序升级方法,包括:
获取针对目标域控制器的域控升级数据包;
响应于接收到针对所述目标域控制器的开始升级请求信息,对所述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息;
响应于确定所述升级校验信息满足预设升级条件,基于所述域控升级数据包,生成升级数据包信息集,其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包;
对于所述升级数据包信息集中的每个升级数据包信息,响应于确定所述升级数据包信息对应的升级控制模块满足预设位置条件,将所述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与所述升级数据包信息对应的目标程序升级数据;
从所述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;
对所述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与所述目标升级数据包信息对应的目标程序升级数据;
对于每个升级数据包信息对应的待升级芯片,基于所述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对所述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
2.根据权利要求1所述的方法,其中,所述对所述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息,包括:
对所述开始升级请求信息进行校验处理,得到升级请求状态信息;
响应于确定所述升级请求状态信息满足预设请求状态条件,对预先获取的车辆参数信息进行校验处理,得到升级校验信息。
3.根据权利要求1所述的方法,其中,所述基于所述域控升级数据包,生成升级数据包信息集,包括:
对所述域控升级数据包进行解压处理,得到程序升级数据包集;
对于所述程序升级数据包集中的每个程序升级数据包,执行以下步骤:
将所述程序升级数据包对应的存储路径信息确定为数据包存储路径信息;
将所述程序升级数据包和所述数据包存储路径信息确定为升级数据包信息。
4.根据权利要求3所述的方法,所述将所述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,包括:
将所述升级数据包信息对应的数据包存储路径信息发送至对应的升级控制模块;
响应于接收到升级数据下载请求,将所述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块。
5.根据权利要求1所述的方法,其中,每个升级数据包信息还包括待升级芯片标识;以及
所述方法还包括:
响应于确定所述升级数据包信息对应的升级控制模块不满足所述预设位置条件,对所述升级数据包信息对应的待升级芯片标识进行校验,得到芯片校验结果信息;
响应于确定所述芯片校验结果信息满足预设芯片类型条件,将所述升级数据包信息对应的数据包存储路径信息发送至对应的升级控制模块。
6.根据权利要求1-5之一所述的方法,其中,所述方法还包括:
响应于检测到各个待升级芯片刷写完毕,基于所刷写的程序存储分区数据,生成目标运行分区标识,以及将所述目标运行分区标识存储至预设配置文件;
基于所述目标运行分区标识,对预设运行分区标识进行更新处理,得到更新运行分区标识,以及将所述更新运行分区标识确定为预设运行分区标识;
基于所述预设运行分区标识,对所述目标域控制器执行重启操作,以供运行刷写后的程序运行分区数据;
响应于检测到所述目标域控制器已重启,对预设的域控状态机进行检测,得到域控系统状态信息;
获取程序运行分区信息集;
基于所述目标运行分区标识,对所述程序运行分区信息集中的各个程序运行分区信息进行检测,得到运行分区匹配信息集;
基于所述域控系统状态信息和所述运行分区匹配信息集,生成域控升级结果信息。
7.根据权利要求6所述的方法,其中,所述方法还包括:
响应于确定所述域控升级结果信息满足预设升级失败条件,对所述预设运行分区标识进行更新处理,得到版本回滚运行分区标识,以及将所述版本回滚运行分区标识确定为预设运行分区标识;
基于所述预设运行分区标识,对所述目标域控制器执行重启操作,以切换程序运行分区。
8.一种芯片程序升级装置,包括:
获取单元,被配置成获取针对目标域控制器的域控升级数据包;
校验处理单元,被配置成响应于接收到针对所述目标域控制器的开始升级请求信息,对所述开始升级请求信息和预先获取的车辆参数信息进行校验处理,得到升级校验信息;
生成单元,被配置成响应于确定所述升级校验信息满足预设升级条件,基于所述域控升级数据包,生成升级数据包信息集,其中,每个升级数据包信息存在对应的待升级芯片,每个待升级芯片存在对应的升级控制模块和程序存储分区数据,每个升级数据包信息包括程序升级数据包;
发送单元,被配置成对于所述升级数据包信息集中的每个升级数据包信息,响应于确定所述升级数据包信息对应的升级控制模块满足预设位置条件,将所述升级数据包信息对应的程序升级数据包发送至对应的升级控制模块,以供解压得到与所述升级数据包信息对应的目标程序升级数据;
选择单元,被配置成从所述升级数据包信息集中选出满足预设芯片条件的升级数据包信息,作为目标升级数据包信息;
解压处理单元,被配置成对所述目标升级数据包信息对应的程序升级数据包进行解压处理,得到与所述目标升级数据包信息对应的目标程序升级数据;
刷写处理单元,被配置成对于每个升级数据包信息对应的待升级芯片,基于所述升级数据包信息对应的升级控制模块和对应的目标程序升级数据,对所述待升级芯片对应的程序存储分区数据进行刷写处理,以供芯片程序升级。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,其上存储有一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读介质,其上存储有计算机程序,其中,所述程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202311381508.6A 2023-10-23 2023-10-23 芯片程序升级方法、装置、电子设备和计算机可读介质 Pending CN117492788A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311381508.6A CN117492788A (zh) 2023-10-23 2023-10-23 芯片程序升级方法、装置、电子设备和计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311381508.6A CN117492788A (zh) 2023-10-23 2023-10-23 芯片程序升级方法、装置、电子设备和计算机可读介质

Publications (1)

Publication Number Publication Date
CN117492788A true CN117492788A (zh) 2024-02-02

Family

ID=89679151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311381508.6A Pending CN117492788A (zh) 2023-10-23 2023-10-23 芯片程序升级方法、装置、电子设备和计算机可读介质

Country Status (1)

Country Link
CN (1) CN117492788A (zh)

Similar Documents

Publication Publication Date Title
CN109358858B (zh) 自动化部署方法、装置、介质及电子设备
WO2017166446A1 (zh) 漏洞修复方法和装置
CN106201552A (zh) 一种软件升级方法、客户端、服务器及系统
CN111078262B (zh) 应用的热修复方法和装置
CN110730090B (zh) 云环境中代理端批量更新方法、装置、介质及电子设备
CN104185836A (zh) 用于在系统改变之后验证计算设备的适当操作的方法和系统
CN109614311A (zh) 应用程序测试方法及装置、电子设备、存储介质
CN112256315A (zh) 一种升级方法、装置、设备及存储介质
CN109471647B (zh) 一种数据的更新方法、装置、电子设备及可读介质
US20140359077A1 (en) Method and apparatus for transmitting symbol files
CN109491886A (zh) 兼容性测试方法、装置、电子设备及存储介质
CN105677394A (zh) 一种终端设备的应用程序升级方法和装置
CN115129574A (zh) 一种代码测试方法和装置
CN110443034B (zh) 风险程序文件的识别方法、装置、计算设备以及介质
CN115543393B (zh) 升级方法、电子设备及存储介质
CN115167874B (zh) 自动驾驶软件镜像部署方法、装置、电子设备和可读介质
CN111198853B (zh) 数据处理方法、装置、电子设备及计算机可读存储介质
CN115016823B (zh) 目标软件升级方法、装置、电子设备、介质和程序产品
CN117492788A (zh) 芯片程序升级方法、装置、电子设备和计算机可读介质
JPWO2011055417A1 (ja) ソフトウェアライブラリ再構築装置及び方法並びにこれを用いたナビゲーション装置
CN110750424B (zh) 资源巡检方法和装置
CN114036218A (zh) 一种数据模型切换方法、装置、服务器和存储介质
CN113377385A (zh) 客户端自动部署方法及装置
CN111163155A (zh) 对账文件传输方法、系统、服务器及存储介质
CN110968334A (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