CN113377384A - 一种程序烧录方法、装置、车载终端及介质 - Google Patents
一种程序烧录方法、装置、车载终端及介质 Download PDFInfo
- Publication number
- CN113377384A CN113377384A CN202110625906.2A CN202110625906A CN113377384A CN 113377384 A CN113377384 A CN 113377384A CN 202110625906 A CN202110625906 A CN 202110625906A CN 113377384 A CN113377384 A CN 113377384A
- Authority
- CN
- China
- Prior art keywords
- mcu
- upgrading
- soc
- program
- upgrade
- 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/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
-
- 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/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种程序烧录方法、装置、车载终端及介质,应用于汽车技术领域,用以解决现有技术存在的由于MCU不具备网卡设备导致无法通过以太网烧录MCU的方式实现MCU底层驱动固件升级的问题。具体为:利用诊断设备与车载终端中的SOC之间的以太网通信,先将车载终端中的MCU的升级程序数据发送至车载终端中的SOC,车载终端中的SOC再通过核间通信接口将升级程序数据发送至MCU进行程序烧录,从而实现了通过以太网对MCU进行程序烧录,进而解决了由于MCU不具备网卡设备导致无法通过以太网烧录MCU的方式实现MCU底层驱动固件升级的问题,保证了MCU程序烧录的效率。
Description
技术领域
本申请涉及汽车技术领域,尤其涉及一种程序烧录方法、装置、车载终端及介质。
背景技术
车机是安装在汽车上的终端设备,通常称车载终端,其在功能上可以实现人与车、车与外界的信息通讯,当车载终端运行的车机***有较大变动时,通常需要对***级芯片(System on Chip,SOC)和微控制单元(Microcontroller Unit,MCU)的底层驱动固件进行升级。
目前,对于MCU的底层驱动固件的升级方式通常有两种,一种是通过控制器局域网络(Controller Area Network,CAN)总线将升级程序数据传输到MCU中进行程序烧录,另一种是通过以太网将升级程序数据传输到MCU中进行程序烧录。相对于通过CAN总线烧录MCU的方式,通过以太网对烧录MCU的方式在烧录速率上有百倍提升,但实际应用中,部分车载终端的MCU不具备网卡设备,无法通过以太网烧录MCU的方式实现MCU底层驱动固件的升级。
发明内容
本申请实施例提供了一种程序烧录方法、装置、车载终端及介质,用以解决现有技术存在的由于MCU不具备网卡设备,导致无法通过以太网烧录MCU的方式实现MCU底层驱动固件升级的问题。
本申请实施例提供的技术方案如下:
一方面,本申请实施例提供了一种应用于车载终端中的SOC的程序烧录方法,包括:
接收诊断设备发送的诊断升级服务请求;
基于诊断升级服务请求中的内存地址范围,确定目标升级对象为微控制单元MCU时,对MCU是否满足升级条件进行验证,并向诊断设备返回升级条件验证结果;
接收诊断设备基于升级条件验证结果确定MCU满足升级条件时发送的升级程序数据,并通过核间通信接口将升级程序数据发送至MCU进行程序烧录。
另一方面,本申请实施例提供了一种应用于车载终端中的MCU的程序烧录方法,包括:
接收***级芯片SOC通过核间通信接口发送的升级程序数据;其中,升级程序数据是,SOC基于诊断设备发送的诊断升级服务请求中的内存地址范围确定目标升级对象为MCU,并将MCU的升级条件验证结果返回至诊断设备后,诊断设备基于升级条件验证结果确定MCU满足升级条件时发送至SOC的;
基于升级程序数据进行程序烧录。
另一方面,本申请实施例提供了一种应用于诊断设备的程序烧录方法,包括:
确定车载终端中的目标升级对象为微控制单元MCU时,基于MCU的内存地址范围,向车载终端中的***级芯片SOC发送诊断升级服务请求;
接收SOC返回的MCU的升级条件验证结果;其中,升级条件验证结果是,SOC基于诊断升级服务请求中的内存地址范围确定目标升级对象为MCU时,对MCU是否满足升级条件进行验证后返回的;
基于升级条件验证结果确定MCU满足升级条件时,向SOC发送MCU的升级程序数据,以使SOC将升级程序数据通过核间通信接口发送至MCU进行程序烧录。
另一方面,本申请实施例提供了一种应用于车载终端中的SOC的程序烧录装置,包括:
请求接收单元,用于接收诊断设备发送的诊断升级服务请求;
升级验证单元,用于基于诊断升级服务请求中的内存地址范围,确定目标升级对象为微控制单元MCU时,对MCU是否满足升级条件进行验证,并向诊断设备返回升级条件验证结果;
数据承接单元,用于接收诊断设备基于升级条件验证结果确定MCU满足升级条件时发送的升级程序数据;
数据转发单元,用于通过核间通信接口将升级程序数据发送至MCU进行程序烧录。
另一方面,本申请实施例提供了一种应用于车载终端中的MCU的程序烧录装置,包括:
数据接收单元,用于接收***级芯片SOC通过核间通信接口发送的升级程序数据;其中,升级程序数据是,SOC基于诊断设备发送的诊断升级服务请求中的内存地址范围确定目标升级对象为MCU,并将MCU的升级条件验证结果返回至诊断设备后,诊断设备基于升级条件验证结果确定MCU满足升级条件时发送至SOC的;
程序烧录单元,用于基于升级程序数据进行程序烧录。
另一方面,本申请实施例提供了一种应用于诊断设备的程序烧录装置,包括:
请求发送单元,用于确定车载终端中的目标升级对象为微控制单元MCU时,基于MCU的内存地址范围,向车载终端中的***级芯片SOC发送诊断升级服务请求;
验证接收单元,用于接收SOC返回的MCU的升级条件验证结果;其中,升级条件验证结果是,SOC基于诊断升级服务请求中的内存地址范围确定目标升级对象为MCU时,对MCU是否满足升级条件进行验证后返回的;
数据发送单元,用于基于升级条件验证结果确定MCU满足升级条件时,向SOC发送MCU的升级程序数据,以使SOC将升级程序数据通过核间通信接口发送至MCU进行程序烧录。
另一方面,本申请实施例提供了一种车载终端,包括:存储器、SOC和MCU,存储器上存储有可在SOC上运行的第一计算机程序和可在MCU上运行的第二计算机程序,SOC执行第一计算机程序时实现本申请实施例提供的应用于SOC的程序烧录方法,MCU执行第二计算机程序时实现本申请实施例提供的应用于MCU的程序烧录方法。
另一方面,本申请实施例提供了一种诊断设备,包括:存储器、处理器和存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现本申请实施例提供的应用于诊断设备的程序烧录方法。
另一方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,该计算机指令被执行时实现本申请实施例提供的应用于车载终端中的SOC的程序烧录方法;或者实现本申请实施例提供的应用于车载终端中的MCU的程序烧录方法;或者实现本申请实施例提供的应用于诊断设备的程序烧录方法。
本申请实施例的有益效果如下:
本申请实施例中,利用诊断设备与车载终端中的SOC之间的以太网通信,先将车载终端中的MCU的升级程序数据发送至车载终端中的SOC,车载终端中的SOC再通过核间通信接口将MCU的升级程序数据发送至MCU进行程序烧录,从而实现了通过以太网对MCU进行程序烧录,进而解决了由于MCU不具备网卡设备导致无法通过以太网烧录MCU的方式实现MCU底层驱动固件升级的问题,保证了MCU程序烧录的效率。
本申请的其它特征和优点将在随后的说明书中阐述,并且,部分地可以从说明书中变得显而易见,或者通过实施本申请而了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中特别指出的结构来实现和获得。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例中程序烧录***框架示意图;
图2为本申请实施例中程序烧录方法的交互流程示意图;
图3为本申请实施例中程序烧录方法的具体交互流程示意图;
图4为本申请实施例中应用于车载终端中的SOC的程序烧录装置的功能结构示意图;
图5为本申请实施例中应用于车载终端中的MCU的程序烧录装置的功能结构示意图;
图6为本申请实施例中应用于诊断设备的程序烧录装置的功能结构示意图;
图7为本申请实施例中车载终端的硬件结构示意图;
图8为本申请实施例中诊断设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及有益效果更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为便于本领域技术人员更好地理解本申请,下面先对本申请涉及的技术用语进行简单介绍。
1、车载终端,为可以安装在汽车上并具备定位、通信、行车记录、电话呼叫、语音播报、音视频播放、安防报警、远程安全断油、断电安全保护等功能,且预留有多个RS-232接口和RS485接口,可外接计价器、摄像头、麦克风、耳机等的前端设备。
2、诊断设备,为可以对汽车进行性能检测、故障诊断、车机***升级等操作的设备。本申请中,诊断设备可以是但不限于是诊断仪、计算机等。
3、核间通信接口,为可以实现车载终端中的SOC与MCU之间信息通信的接口,本申请中,核间通信接口可以是但不限于是串行外设接口(Serial Peripheral Interface,SPI)接口、集成电路总线(Inter Integrated Circuit,IIC)接口等。
需要说明的是,本申请中提及的“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样的用语在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。
在介绍了本申请涉及的技术用语后,接下来,对本申请实施例的应用场景和设计思想进行简单介绍。
目前,为了提高对车载终端的MCU进行程序烧录的效率,通常采用以太网对MCU进行程序烧录,但实际应用中,部分车载终端的MCU不具备网卡设备,无法通过以太网对MCU进行程序烧录,从而导致MCU底层驱动固件的升级失败。为此,本申请实施例中,参阅图1所示,车载终端110中的SOC111支持基于以太网的诊断技术(Diagnostic communication overInternet Protocol,DoIP)和统一诊断服务(Unified Diagnostic Services,UDS)两种协议,可以通过以太网与诊断设备120建立通信连接,车载终端110中的SOC111还可以通过核间通信接口与MCU112进行信息通信。实际应用中,诊断设备120确定车载终端110中的目标升级对象为MCU112时,先通过与车载终端110中的SOC111的以太网通信将MCU112的升级程序数据发送至车载终端110中SOC111,车载终端110中SOC111再通过核间通信接口将MCU112的升级程序数据发送至MCU112进行程序烧录,从而实现了通过以太网对MCU112进行程序烧录,进而解决了由于MCU112不具备网卡设备导致无法通过以太网烧录MCU112的方式实现MCU112底层驱动固件升级的问题,保证了MCU112程序烧录的效率。
在介绍了本申请实施例的应用场景和设计思想之后,下面对本申请实施例提供的技术方案进行详细说明。
本申请实施例提供了一种程序烧录方法,参阅图2所示,本申请实施例提供的程序烧录方法的交互流程如下:
步骤201:诊断设备120确定车载终端110中的目标升级对象为MCU112时,基于MCU112的内存地址范围,向车载终端110中的SOC111发送诊断升级服务请求。
实际应用中,车载终端110中的SOC111和MCU112的内存地址范围不同,可以通过SOC111和MCU112的内存地址范围,对SOC111和MCU112进行识别,基于此,诊断设备120确定车载终端110中的目标升级对象为MCU112时,可以基于MCU112的内存地址范围,向车载终端110中的SOC111发送诊断升级服务请求,以便车载终端110中的SOC111可以根据诊断升级服务请求中的内存地址范围,确定MCU112为目标升级对象。
本申请实施例中,诊断设备120确定车载终端110中的目标升级对象为SOC111时,也可以基于SOC111的内存地址范围,向车载终端110中的SOC111发送诊断升级服务请求,以便车载终端110中的SOC111可以根据诊断升级服务请求中的内存地址范围,确定自身为目标升级对象。
步骤202:车载终端110中的SOC111接收到诊断设备120发送的诊断升级服务请求后,基于该诊断升级服务请求中的内存地址范围,确定目标升级对象为MCU112时,对MCU112是否满足升级条件进行验证。
实际应用中,车载终端110中的SOC111基于诊断升级服务请求中的内存地址范围,确定目标升级对象为MCU112后,对MCU112是否满足升级条件进行验证时,可以采用但不限于以下方式:
首先,车载终端110中的SOC111可以通过核间通信接口向MCU112发送内存状态查询请求。
然后,车载终端110中的MCU112接收到SOC111通过核间通信接口发送的内存状态查询请求后,可以基于该内存状态查询请求获取内存状态信息,并通过核间通信接口将该内存状态信息返回至SOC111。
最后,车载终端110中的SOC111接收到MCU112通过核间通信接口返回的内存状态信息后,可以基于该内存状态信息,判断MCU112的内存是否处于未工作状态且不小于升级程序数据占用的内存;若是,则可以确定MCU112满足升级条件;若否,则可以确定MCU112不满足升级条件。
本申请实施例中,车载终端110中的SOC111基于诊断升级服务请求中的内存地址范围,确定目标升级对象为SOC111时,也可以对SOC111是否满足升级条件进行验证,具体的,可以采用但不限于以下方式:
首先,车载终端110中的SOC111获取自身的内存状态信息。
然后,车载终端110中的SOC111基于自身的内存状态信息,判断自身的内存是否处于未工作状态且不小于升级程序数据占用的内存;若是,则可以确定自身满足升级条件;若否,则可以确定自身不满足升级条件。
步骤203:车载终端110中的SOC111向诊断设备120返回MCU112的升级条件验证结果。
本申请实施例中,车载终端110中的SOC111确定目标升级对象为自身时,对自身是否满足升级条件进行验证后,也可以向诊断设备120返回自身的升级条件验证结果。
步骤204:诊断设备120接收到车载终端110中的SOC111返回的MCU112的升级条件验证结果后,基于该升级条件验证结果确定MCU112满足升级条件时,向车载终端110中的SOC111发送MCU112的升级程序数据。
本申请实施例中,诊断设备120基于该升级条件验证结果确定MCU112不满足升级条件时,可以直接中断程序烧录流程,并确定MCU112升级失败,以及将表征MCU112升级失败的提示信息发送至车载终端110中的SOC111进行显示。
值得说的是,本申请实施例中,诊断设备120基于该升级条件验证结果确定MCU112满足升级条件后,向车载终端110中的SOC111发送MCU112的升级程序数据之前,还可以控制车载终端110中的MCU112切换至升级模式。具体的,可以采用但不限于以下方式:
首先,诊断设备120向车载终端110中的SOC111发送升级模式切换请求。
其次,车载终端110中的SOC111接收到诊断设备120发送的升级模式切换请求时,通过核间通信接口将该升级模式切换请求转发至MCU112。
然后,车载终端110中的MCU112接收到SOC111转发的升级模式切换请求时,基于该升级模式切换请求切换至升级模式,并通过核间通信接口向SOC111返回升级模式切换响应。
再次,车载终端110中的SOC111接收到MCU112发送的升级模式切换响应时,将该升级模式切换响应转发至诊断设备120。
最后,诊断设备120接收到车载终端110中的SOC111转发的升级模式切换响应后,基于该升级模式切换响应确定MCU112升级模式切换完毕。
进一步的,为了提高程序烧录的安全性,诊断设备120确定MCU112升级模式切换完毕之后,向车载终端110中的SOC111发送MCU112的升级程序数据之前,还可以进行安全访问验证。具体的,可以采用但不限于以下方式:
首先,诊断设备120向车载终端110中的SOC111发送安全访问请求。
其次,车载终端110中的SOC111接收到诊断设备120发送的安全访问请求时,基于协商的安全访问算法,对诊断设备120进行安全性验证。
在具体实施时,车载终端110中的SOC111可以生成一个随机数,并将该随机数发送至诊断设备120;诊断设备120接收到车载终端110中的SOC111发送的随机数时,采用本地保存的与车载终端110中的SOC111协商的安全访问算法对该随机数进行计算,得到第一验证码后返回至车载终端110中的SOC111;车载终端110中的SOC111接收到诊断设备120返回的第一验证码后,采用本地保存的与诊断设备120协商的安全访问算法对生成的随机数进行计算,得到第二验证码,并在检测出第一验证码和第二验证码相同时,确定诊断设备120的安全性验证通过,否则,确定诊断设备120的安全性验证不通过。
然后,车载终端110中的SOC111将诊断设备120的安全性验证结果返回至诊断设备120。
最后,诊断设备120接收到车载终端110中的SOC111返回的安全性验证结果后,基于该安全性验证结果确定安全性验证是否通过。
本申请实施例中,诊断设备120基于安全性验证结果确定安全性验证通过之后,向车载终端110中的SOC111发送MCU112的升级程序数据之前,还可以控制车载终端110中的MCU112擦写内存。具体的,可以采用但不限于以下方式:
首先,诊断设备120向车载终端110中的SOC111发送内存擦写请求。
其次,车载终端110中的SOC111接收到诊断设备120发送的内存擦写请求后,通过核间通信接口将该内存擦写请求转发至MCU112。
然后,车载终端110中的MCU112接收到SOC111转发的内存擦写请求时,基于该内存擦写请求擦写内存,并通过核间通信接口向SOC111返回内存擦写响应。
接着,车载终端110中的SOC111接收到MCU112返回的内存擦写响应后,将该内存擦写响应转发至诊断设备120。
最后,诊断设备120接收到车载终端110中的SOC111转发的内存擦写响应后,基于该内存擦写响应确定MCU12内存擦写完毕。
进一步的,诊断设备120基于该内存擦写响应确定MCU12内存擦写完毕后,即可向车载终端110中的SOC111发送MCU12的升级程序数据。
值得说的是,本申请实施例中,诊断设备120确定车载终端110中的目标升级对象为SOC111,并基于SOC111的内存地址范围,向车载终端110中的SOC111发送诊断升级服务请求后,也可以在接收到车载终端110中的SOC111返回的SOC111的升级条件验证结果时,基于该升级条件验证结果判断SOC111是否满足升级条件。
进一步的,诊断设备120基于该升级条件验证结果确定SOC111不满足升级条件时,可以直接中断程序烧录流程,并确定SOC111升级失败,以及将表征SOC111升级失败的提示信息发送至车载终端110中的SOC111进行显示。当然,诊断设备120基于该升级条件验证结果确定SOC111满足升级条件时,可以继续控制SOC111切换至升级模式,具体的,可以采用但不限于以下方式:
首先,诊断设备120向车载终端110中的SOC111发送升级模式切换请求。
然后,车载终端110中的SOC111接收到诊断设备120发送的升级模式切换请求时,基于该升级模式切换请求切换至升级模式,并向诊断设备120返回升级模式切换响应。
最后,诊断设备120接收到车载终端110中的SOC111发送的升级模式切换响应时,基于该升级模式切换响应确定SOC111升级模式切换完毕。
进一步的,诊断设备120确定SOC111升级模式切换完毕之后,还可以进行安全访问验证,具体验证方式与上述描述方式相同,在此不再赘述。
进一步的,诊断设备120确定安全性验证通过时,还可以指示车载终端110中的SOC111擦写内存。具体的,可以采用但不限于以下方式:
首先,诊断设备120向车载终端110中的SOC111发送内存擦写请求。
然后,车载终端110中的SOC111接收到诊断设备120发送的内存擦写请求后,基于该内存擦写请求擦写内存,并向诊断设备120发送内存擦写响应后。
最后,诊断设备120接收到车载终端110中的SOC111发送的内存擦写响应时,基于该内存擦写响应确定SOC111内存擦写完毕。
进一步的,诊断设备120基于该内存擦写响应确定SOC111内存擦写完毕后,即可向车载终端110中的SOC111发送SOC111的升级程序数据。
步骤205:车载终端110中的SOC111接收到诊断设备120发送的升级程序数据后,通过核间通信接口将该升级程序数据发送至MCU112。
实际应用中,为了确保程序烧录的顺利进行,车载终端110中的SOC111接收到诊断设备120发送的升级程序数据后,还可以对该升级程序数据进行完整性校验和兼容性检测,基于该升级程序数据的完整性校验结果,确定该升级程序数据的完整性校验通过,且基于该升级程序数据的兼容性校验结果,确定该升级程序数据的兼容性校验通过时,再通过核间通信接口将该升级程序数据发送至MCU112。
值得说的是,若目标升级对象为车载终端110中的SOC111,车载终端110中的SOC111接收到诊断设备120发送的升级程序数据后,也可以对该升级程序数据进行完整性校验和兼容性检测,并在确定该升级程序数据的完整性校验和兼容性检测均通过时,基于该升级程序数据进行程序烧录。
进一步的,车载终端中的SOC111基于该升级程序数据进行程序烧录之后,还可以向诊断设备120返回诊断升级服务响应,并在诊断设备120的控制下进行重启。具体的,可以采用但不限于以下方式:
首先,车载终端110中的SOC111向诊断设备120返回诊断升级服务响应。
其次,诊断设备120接收到车载终端110中的SOC111发送的诊断升级服务响应时,基于该诊断升级服务响应确定SOC111程序烧录完毕后,向SOC111发送重启SOC请求。
然后,车载终端110中的SOC111接收到诊断设备120发送的重启SOC请求后,基于该重启SOC请求进行重启,并向诊断设备120返回重启SOC响应。
最后,诊断设备120接收到车载终端110中的SOC111发送的重启SOC响应后,基于该重启SOC响应确定SOC111重启完毕时,确定SOC11完成升级。
步骤206:车载终端110中的MCU112接收到SOC111通过核间通信接口发送的升级程序数据后,基于该升级程序数据进行程序烧录。
进一步的,车载终端110中的MCU112基于该升级程序数据进行程序烧录之后,还可以向诊断设备120返回诊断升级服务响应,并在诊断设备120的控制下进行重启。具体的,可以采用但不限于以下方式:
首先,车载终端110中的MCU112通过核间通信接口向车载终端110中的SOC111返回诊断升级服务响应。
其次,车载终端110中的SOC111接收到MCU112返回的诊断升级服务响应时,将该诊断升级服务响应转发至诊断设备120。
然后,诊断设备120接收到车载终端110中的SOC111转发的诊断升级服务响应后,基于该诊断升级服务响应确定MCU112程序烧录完毕时,向车载终端110中的SOC111发送重启MCU请求。
再次,车载终端110中的SOC111接收到诊断设备120发送的重启MCU请求后,通过核间通信接口将该重启MCU请求转发至MCU112。
接着,车载终端110中的MCU112接收到SOC111通过核间通信接口转发的重启MCU请求后,基于该重启MCU请求进行重启,并通过核间通信接口向SOC111返回重启MCU响应。
随后,车载终端110中的SOC111接收到MCU112发送的重启MCU响应后,将该重启MCU响应转发至诊断设备120。
最后,诊断设备120接收到车载终端110中的SOC111转发的重启MCU响应后,基于该重启MCU响应确定MCU112重启完毕时,确定MCU112完成升级。
下面采用“诊断设备120对车载终端110中的MCU112进行程序烧录”为具体应用场景,对本申请实施例提供的程序烧录方法作进一步详细说明,参阅图3所示,本申请实施例提供的程序烧录方法的具体流程如下:
步骤301:诊断设备120确定车载终端110中的目标升级对象为MCU112时,基于MCU112的内存地址范围,向车载终端110中的SOC111发送诊断升级服务请求。
步骤302:车载终端110中的SOC111接收到诊断设备120发送的诊断升级服务请求后,基于该诊断升级服务请求中的内存地址范围,确定目标升级对象为MCU112时,通过核间通信接口向MCU112发送内存状态查询请求。
步骤303:车载终端110中的MCU112接收到SOC111通过核间通信接口发送的内存状态查询请求后,基于该内存状态查询请求获取内存状态信息。
步骤304:车载终端110中的MCU112通过核间通信接口将该内存状态信息返回至SOC111。
步骤305:车载终端110中的SOC111接收到MCU112通过核间通信接口返回的内存状态信息后,基于该内存状态信息,检测出MCU112的内存处于未工作状态且不小于升级程序数据占用的内存时,确定MCU112满足升级条件。
步骤306:车载终端110中的SOC111向诊断设备120返回MCU112的升级条件验证结果。
步骤307:诊断设备120接收到车载终端110中的SOC111返回的MCU112的升级条件验证结果后,基于该升级条件验证结果确定MCU112满足升级条件时,向车载终端110中的SOC111发送升级模式切换请求。
步骤308:车载终端110中的SOC111接收到诊断设备120发送的升级模式切换请求时,通过核间通信接口将该升级模式切换请求转发至MCU112。
步骤309:车载终端110中的MCU112接收到SOC111转发的升级模式切换请求时,基于该升级模式切换请求切换至升级模式。
步骤310:车载终端110中的MCU112通过核间通信接口向SOC111返回升级模式切换响应。
步骤311:车载终端110中的SOC111接收到MCU112发送的升级模式切换响应时,将该升级模式切换响应转发至诊断设备120。
步骤312:诊断设备120接收到车载终端110中的SOC111转发的升级模式切换响应后,基于该升级模式切换响应确定MCU112升级模式切换完毕时,向车载终端110中的SOC111发送安全访问请求。
步骤313:车载终端110中的SOC111接收到诊断设备120发送的安全访问请求时,生成一个随机数。
步骤314:车载终端110中的SOC111将该随机数发送至诊断设备120。
步骤315:诊断设备120接收到车载终端110中的SOC111发送的随机数时,采用本地保存的与车载终端110中的SOC111协商的安全访问算法对该随机数进行计算,得到第一验证码。
步骤316:诊断设备120将该第一验证码返回至车载终端110中的SOC111。
步骤317:车载终端110中的SOC111接收到诊断设备120返回的第一验证码后,采用本地保存的与诊断设备120协商的安全访问算法对生成的随机数进行计算,得到第二验证码,并在检测出第一验证码和第二验证码相同时,确定诊断设备120的安全性验证通过。
步骤318:车载终端110中的SOC111将诊断设备120的安全性验证结果返回至诊断设备120。
步骤319:诊断设备120接收到车载终端110中的SOC111返回的安全性验证结果后,基于该安全性验证结果确定安全性验证通过时,向车载终端110中的SOC111发送内存擦写请求。
步骤320:车载终端110中的SOC111接收到诊断设备120发送的内存擦写请求后,通过核间通信接口将该内存擦写请求转发至MCU112。
步骤321:车载终端110中的MCU112接收到SOC111转发的内存擦写请求时,基于该内存擦写请求擦写内存。
步骤322:车载终端110中的MCU112通过核间通信接口向SOC111返回内存擦写响应。
步骤323:车载终端110中的接收到MCU112返回的内存擦写响应后,将该内存擦写响应转发至诊断设备120。
步骤324:诊断设备120接收到车载终端110中的SOC111转发的内存擦写响应后,基于该内存擦写响应确定MCU12内存擦写完毕时,向车载终端110中的SOC111发送MCU12的升级程序数据。
步骤325:车载终端110中的SOC111接收到诊断设备120发送的MCU12的升级程序数据后,对该升级程序数据进行完整性校验和兼容性检测。
步骤326:车载终端110中的SOC111基于该升级程序数据的完整性校验结果,确定该升级程序数据的完整性校验通过,且基于该升级程序数据的兼容性校验结果,确定该升级程序数据的兼容性校验通过时,通过核间通信接口将该升级程序数据发送至MCU112。
步骤327:车载终端110中的MCU112接收到SOC111通过核间通信接口发送的升级程序数据后,基于该升级程序数据进行程序烧录。
步骤328:车载终端110中的MCU112通过核间通信接口向车载终端110中的SOC111返回诊断升级服务响应。
步骤329:车载终端110中的SOC111接收到MCU112返回的诊断升级服务响应时,将该诊断升级服务响应转发至诊断设备120。
步骤330:诊断设备120接收到车载终端110中的SOC111转发的诊断升级服务响应后,基于该诊断升级服务响应确定MCU112程序烧录完毕时,向车载终端110中的SOC111发送重启MCU请求。
步骤331:车载终端110中的SOC111接收到诊断设备120发送的重启MCU请求后,通过核间通信接口将该重启MCU请求转发至MCU112。
步骤332:车载终端110中的MCU112接收到SOC111通过核间通信接口转发的重启MCU请求后,基于该重启MCU请求进行重启。
步骤333:车载终端110中的MCU112通过核间通信接口向SOC111返回重启MCU响应。
步骤334:车载终端110中的SOC111接收到MCU112发送的重启MCU响应后,将该重启MCU响应转发至诊断设备120。
步骤335:诊断设备120接收到车载终端110中的SOC111转发的重启MCU响应后,基于该重启MCU响应确定MCU112重启完毕时,确定MCU112完成升级。
基于上述实施例,本申请实施例提供了一种应用于车载终端110中的SOC111的程序烧录装置,参阅图4所示,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录装置400至少包括:
请求接收单元401,用于接收诊断设备120发送的诊断升级服务请求;
升级验证单元402,用于基于诊断升级服务请求中的内存地址范围,确定目标升级对象为微控制单元MCU112时,对MCU112是否满足升级条件进行验证,并向诊断设备120返回升级条件验证结果;
数据承接单元403,用于接收诊断设备120基于升级条件验证结果确定MCU112满足升级条件时发送的升级程序数据;
数据转发单元404,用于通过核间通信接口将升级程序数据发送至MCU112进行程序烧录。
在一种可能的实施方式中,对MCU112是否满足升级条件进行验证时,升级验证单元402具体用于:
通过核间通信接口向MCU112发送内存状态查询请求;
接收MCU112基于内存状态查询请求获取内存状态信息后通过核间通信接口返回的内存状态信息;
基于内存状态信息,判断MCU112的内存是否处于未工作状态且不小于升级程序数据占用的内存;
若是,则确定MCU112满足升级条件;
若否,则确定MCU112不满足升级条件。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录装置400还包括:
安全验证单元405,用于接收诊断设备120发送的安全访问请求;基于协商的安全访问算法,对诊断设备120进行安全性验证,并将诊断设备120的安全性验证结果返回至诊断设备120。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录装置400还包括:
内存擦写单元406,用于接收诊断设备120发送的内存擦写请求;通过核间通信接口将内存擦写请求转发至MCU112;接收MCU112基于内存擦写请求擦写内存后通过核间通信接口返回的内存擦写响应,并将内存擦写响应转发至诊断设备120。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录装置400还包括:
数据检测单元407,用于对升级程序数据进行完整性校验和兼容性检测;基于升级程序数据的完整性校验结果,确定升级程序数据的完整性校验通过,且基于升级程序数据的兼容性校验结果,确定升级程序数据的兼容性校验通过。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录装置400还包括:
模式切换单元408,用于接收诊断设备120发送的升级模式切换请求;通过核间通信接口将升级模式切换请求转发至MCU112;接收MCU112基于升级模式切换请求切换至升级模式后通过核间通信接口返回的升级模式切换响应,并将升级模式切换响应转发至诊断设备120。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录装置400还包括:
重启单元409,用于接收MCU112基于升级程序数据进行程序烧录后通过核间通信接口返回的诊断升级服务响应,并将诊断升级服务响应转发至诊断设备120;接收诊断设备120基于诊断升级服务响应确定MCU112程序烧录完毕后发送的重启MCU112请求,并通过核间通信接口将重启MCU112请求转发至MCU112;接收MCU112基于重启MCU112请求进行重启后通过核间通信接口返回的重启MCU112响应,并将重启MCU112响应转发至诊断设备120。
基于上述实施例,本申请实施例还提供了一种应用于车载终端110中的MCU112的程序烧录装置,参阅图5所示,本申请实施例提供的应用于车载终端110中的MCU112的程序烧录装置500至少包括:
数据接收单元501,用于接收***级芯片SOC111通过核间通信接口发送的升级程序数据;其中,升级程序数据是,SOC111基于诊断设备120发送的诊断升级服务请求中的内存地址范围确定目标升级对象为MCU112,并将MCU112的升级条件验证结果返回至诊断设备120后,诊断设备120基于升级条件验证结果确定MCU112满足升级条件时发送至SOC111的;
程序烧录单元502,用于基于升级程序数据进行程序烧录。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的MCU112的程序烧录装置500还包括:
查询执行单元503,用于接收SOC111通过核间通信接口发送的内存状态查询请求;基于内存状态查询请求获取内存状态信息,并通过核间通信接口将内存状态信息返回至SOC111。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的MCU112的程序烧录装置500还包括:
擦写执行单元504,用于接收SOC111通过核间通信接口转发的内存擦写请求;基于内存擦写请求擦写内存,并通过核间通信接口向SOC111返回内存擦写响应。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的MCU112的程序烧录装置500还包括:
切换执行单元505,用于接收SOC111通过核间通信接口转发的升级模式切换请求;基于升级模式切换请求切换至升级模式,并通过核间通信接口向SOC111返回升级模式切换响应。
在一种可能的实施方式中,本申请实施例提供的应用于车载终端110中的MCU112的程序烧录装置500还包括:
重启执行单元506,用于通过核间通信接口向SOC111发送诊断升级服务响应;接收SOC111通过核间通信接口转发的重启MCU112请求,其中,重启MCU112请求是,SOC111将诊断升级服务响应转发至诊断设备120后,诊断设备120基于诊断升级服务响应确定MCU112程序烧录完毕时发送至SOC111的;基于重启MCU112请求进行重启,并通过核间通信接口向SOC111返回重启MCU112响应。
基于上述实施例,本申请实施例还提供了一种应用于诊断设备120的程序烧录装置,参阅图6所示,本申请实施例提供的应用于诊断设备120的程序烧录装置600至少包括:
请求发送单元601,用于确定车载终端110中的目标升级对象为微控制单元MCU112时,基于MCU112的内存地址范围,向车载终端110中的***级芯片SOC111发送诊断升级服务请求;
验证接收单元602,用于接收SOC111返回的MCU112的升级条件验证结果;其中,升级条件验证结果是,SOC111基于诊断升级服务请求中的内存地址范围确定目标升级对象为MCU112时,对MCU112是否满足升级条件进行验证后返回的;
数据发送单元603,用于基于升级条件验证结果确定MCU112满足升级条件时,向SOC111发送MCU112的升级程序数据,以使SOC111将升级程序数据通过核间通信接口发送至MCU112进行程序烧录。
在一种可能的实施方式中,本申请实施例提供的应用于诊断设备120的程序烧录装置600还包括:
安全访问单元604,用于向SOC111发送安全访问请求;接收SOC111基于协商的安全访问算法对诊断设备120进行安全性验证后返回的安全性验证结果;基于安全性验证结果确定安全性验证通过。
在一种可能的实施方式中,本申请实施例提供的应用于诊断设备120的程序烧录装置600还包括:
擦写控制单元605,用于向SOC111发送内存擦写请求;接收SOC111转发的内存擦写响应,其中,内存擦写响应是,SOC111通过核间通信接口将内存擦写请求转发至MCU112,MCU112基于内存擦写请求擦写内存后,通过核间通信接口返回至SOC111的;基于内存擦写响应确定MCU112内存擦写完毕。
在一种可能的实施方式中,本申请实施例提供的应用于诊断设备120的程序烧录装置600还包括:
切换控制单元606,用于向SOC111发送升级模式切换请求;接收SOC111转发的升级模式切换响应,其中,升级模式切换响应是,SOC111通过核间通信接口将升级模式切换请求转发至MCU112,MCU112基于升级模式切换请求切换至升级模式后,通过核间通信接口返回至SOC111的;基于升级模式切换响应确定MCU112升级模式切换完毕。
在一种可能的实施方式中,本申请实施例提供的应用于诊断设备120的程序烧录装置600还包括:
重启控制单元607,用于接收SOC111转发的诊断升级服务响应,其中,诊断升级服务响应是,MCU112基于升级程序数据进行程序烧录后通过核间通信接口返回至SOC111的;基于诊断升级服务响应确定MCU112程序烧录完毕后,向SOC111发送重启MCU112请求;接收SOC111转发的重启MCU112响应,其中,重启MCU112响应是,MCU112基于重启MCU112请求进行重启后通过核间通信接口返回至SOC111的;基于重启MCU112响应确定MCU112重启完毕。
需要说明的是,本申请实施例提供的上述三种程序烧录装置解决技术问题的原理与本申请实施例提供的程序烧录方法相似,因此,本申请实施例提供的上述三种程序烧录装置的实施可以参见本申请实施例提供的程序烧录方法的实施,重复之处不再赘述。
在介绍了本申请实施例提供的程序烧录方法和装置之后,接下来,对本申请实施例提供的车载终端110和诊断设备120进行简单介绍。
参阅图7所示,本申请实施例提供的车载终端110至少包括SOC111、MCU112和存储器113,存储器113上存储有可在SOC111上运行的第一计算机程序和可在MCU112上运行的第二计算机程序,SOC111执行第一计算机程序时实现本申请实施例提供的应用于车载终端110中的SOC111的程序烧录方法,MCU112执行第二计算机程序时实现本申请实施例提供的应用于车载终端110中的MCU112的程序烧录方法。
本申请实施例提供的车载终端110中,存储器113可以包括一个或多个计算机可读存储介质,计算机可读存储介质可以是非暂态的。存储器113还可以包括高速随机存取存储器以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。另外,存储器113所存储的资源还可以包括操作***和数据等,存储方式可以是短暂存储也可以是永久存储,其中,操作***可以是Windows、Unix、Linux等,数据可以包括各种各样的数据。
本申请实施例提供的车载终端110还可以包括显示屏114、输入输出接口115、通信接口116、传感器117、电源118以及通信总线119等。
需要说明的是,图7所示的车载终端110仅仅是一个示例,并不构成对车载终端110的限定,车载终端110可以包括比图示更多或更少的组件。
参阅图8所示,本申请实施例提供的诊断设备120至少包括:处理器801和存储器802,存储器802上存储有可在处理器801上运行的计算机程序,处理器801执行该计算机程序时实现实现本申请实施例提供的应用于诊断设备120的程序烧录方法。
本申请实施例提供的诊断设备800还可以包括连接不同组件(包括处理器801和存储器802)的总线803。其中,总线803表示几类总线结构中的一种或多种,包括存储器总线、***总线、局域总线等。
存储器802可以包括易失性存储器形式的可读介质,例如随机存储器(RandomAccess Memory,RAM)8021和/或高速缓存存储器8022,还可以进一步包括只读存储器(ReadOnly Memory,ROM)8023。
存储器802还可以包括具有一组(至少一个)程序模块8024的程序工具8025,程序模块8024包括但不限于:操作子***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
诊断设备800也可以与一个或多个外部设备804(例如键盘、遥控器等)通信,还可以与一个或者多个使得用户能与诊断设备800交互的设备通信(例如手机、电脑等),和/或,与使得诊断设备800与一个或多个其它诊断设备800进行通信的任何设备(例如路由器、调制解调器等)通信。这种通信可以通过输入/输出(Input/Output,I/O)接口805进行。并且,诊断设备800还可以通过网络适配器808与一个或者多个网络(例如局域网(Local AreaNetwork,LAN),广域网(Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图8所示,网络适配器806通过总线803与诊断设备800的其它模块通信。应当理解,尽管图8中未示出,可以结合诊断设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理器、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of IndependentDisks,RAID)子***、磁带驱动器以及数据备份存储子***等。
需要说明的是,图8所示的诊断设备800仅仅是一个示例,并不构成对诊断设备800的限定,诊断设备800可以包括比图示更多或更少的组件。
接下来,对本申请实施例提供的计算机可读存储介质进行介绍。本申请实施例提供的计算机可读存储介质存储有计算机指令,该计算机指令被执行时实现本申请实施例提供的应用于车载终端110中的SOC111的程序烧录方法;或者实现本申请实施例提供的应用于车载终端110中的MCU112的程序烧录方法;或者实现本申请实施例提供的应用于诊断设备120的程序烧录方法。
此外,本申请实施例提供的应用于车载终端110中的SOC111的程序烧录方法以及应用于车载终端110中的MCU112的程序烧录方法还可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在车载终端110上运行时,该程序代码用于使车载终端110执行本申请实施例提供的应用于车载终端110中的SOC111的程序烧录方法以及应用于车载终端110中的MCU112的程序烧录方法。
当然,本申请实施例提供的应用于诊断设备120的程序烧录方法也可以实现为一种程序产品,该程序产品包括程序代码,当该程序产品可以在诊断设备120上运行时,该程序代码用于使诊断设备120执行本申请实施例提供的应用于诊断设备120的程序烧录方法。
本申请实施例提供的程序产品可以采用一个或多个可读介质的任意组合,其中,可读介质可以是可读信号介质或者可读存储介质,而可读存储介质可以是但不限于是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合,具体地,可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、RAM、ROM、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、光纤、便携式紧凑盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
本申请实施例提供的程序产品可以采用CD-ROM并包括程序代码,还可以在计算设备上运行。然而,本申请实施例提供的程序产品不限于此,在本申请实施例中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (23)
1.一种程序烧录方法,其特征在于,应用于车载终端中的***级芯片SOC,包括:
接收诊断设备发送的诊断升级服务请求;
基于所述诊断升级服务请求中的内存地址范围,确定目标升级对象为微控制单元MCU时,对所述MCU是否满足升级条件进行验证,并向所述诊断设备返回升级条件验证结果;
接收所述诊断设备基于所述升级条件验证结果确定所述MCU满足所述升级条件时发送的升级程序数据,并通过核间通信接口将所述升级程序数据发送至所述MCU进行程序烧录。
2.如权利要求1所述的程序烧录方法,其特征在于,对所述MCU是否满足升级条件进行验证,包括:
通过所述核间通信接口向所述MCU发送内存状态查询请求;
接收所述MCU基于所述内存状态查询请求获取内存状态信息后通过所述核间通信接口返回的所述内存状态信息;
基于所述内存状态信息,判断所述MCU的内存是否处于未工作状态且不小于所述升级程序数据占用的内存;
若是,则确定所述MCU满足所述升级条件;
若否,则确定所述MCU不满足所述升级条件。
3.如权利要求1所述的程序烧录方法,其特征在于,向所述诊断设备返回升级条件验证结果之后,还包括:
接收所述诊断设备发送的安全访问请求;
基于协商的安全访问算法,对所述诊断设备进行安全性验证,并将所述诊断设备的安全性验证结果返回至所述诊断设备。
4.如权利要求1所述的程序烧录方法,其特征在于,向所述诊断设备返回升级条件验证结果之后,还包括:
接收所述诊断设备发送的内存擦写请求;
通过所述核间通信接口将所述内存擦写请求转发至所述MCU;
接收所述MCU基于所述内存擦写请求擦写内存后通过所述核间通信接口返回的内存擦写响应,并将所述内存擦写响应转发至所述诊断设备。
5.如权利要求1-4任一项所述的程序烧录方法,其特征在于,将所述升级程序数据通过核间通信接口发送至所述MCU进行程序烧录之前,还包括:
对所述升级程序数据进行完整性校验和兼容性检测;
基于所述升级程序数据的完整性校验结果,确定所述升级程序数据的完整性校验通过,且基于所述升级程序数据的兼容性校验结果,确定所述升级程序数据的兼容性校验通过。
6.如权利要求1-4任一项所述的程序烧录方法,其特征在于,将所述升级程序数据通过核间通信接口发送至所述MCU进行程序烧录之前,还包括:
接收所述诊断设备发送的升级模式切换请求;
通过所述核间通信接口将所述升级模式切换请求转发至所述MCU;
接收所述MCU基于所述升级模式切换请求切换至升级模式后通过所述核间通信接口返回的升级模式切换响应,并将所述升级模式切换响应转发至所述诊断设备。
7.如权利要求1-4任一项所述的程序烧录方法,其特征在于,将所述升级程序数据通过核间通信接口发送至所述MCU进行程序烧录之后,还包括:
接收所述MCU基于所述升级程序数据进行程序烧录后通过所述核间通信接口返回的诊断升级服务响应,并将所述诊断升级服务响应转发至所述诊断设备;
接收所述诊断设备基于所述诊断升级服务响应确定所述MCU程序烧录完毕后发送的重启MCU请求,并通过所述核间通信接口将所述重启MCU请求转发至所述MCU;
接收所述MCU基于所述重启MCU请求进行重启后通过所述核间通信接口返回的重启MCU响应,并将所述重启MCU响应转发至所述诊断设备。
8.一种程序烧录方法,其特征在于,应用于车载终端中的微控制单元MCU,包括:
接收***级芯片SOC通过核间通信接口发送的升级程序数据;其中,所述升级程序数据是,所述SOC基于诊断设备发送的诊断升级服务请求中的内存地址范围确定目标升级对象为所述MCU,并将所述MCU的升级条件验证结果返回至所述诊断设备后,所述诊断设备基于所述升级条件验证结果确定所述MCU满足所述升级条件时发送至所述SOC的;
基于所述升级程序数据进行程序烧录。
9.如权利要求8所述的程序烧录方法,其特征在于,接收***级芯片SOC通过核间通信接口发送的升级程序数据之前,还包括:
接收所述SOC通过所述核间通信接口发送的内存状态查询请求;
基于所述内存状态查询请求获取内存状态信息,并通过所述核间通信接口将所述内存状态信息返回至所述SOC。
10.如权利要求8所述的程序烧录方法,其特征在于,接收***级芯片SOC通过核间通信接口发送的升级程序数据之前,还包括:
接收所述SOC通过所述核间通信接口转发的内存擦写请求;
基于所述内存擦写请求擦写内存,并通过所述核间通信接口向所述SOC返回内存擦写响应。
11.如权利要求8-10任一项所述的程序烧录方法,其特征在于,基于所述升级程序数据进行程序烧录之前,还包括:
接收所述SOC通过所述核间通信接口转发的升级模式切换请求;
基于所述升级模式切换请求切换至升级模式,并通过所述核间通信接口向所述SOC返回升级模式切换响应。
12.如权利要求8-10任一项所述的程序烧录方法,其特征在于,基于所述升级程序数据进行程序烧录之后,还包括:
通过所述核间通信接口向所述SOC发送诊断升级服务响应;
接收所述SOC通过所述核间通信接口转发的重启MCU请求;其中,所述重启MCU请求是,所述SOC将所述诊断升级服务响应转发至所述诊断设备后,所述诊断设备基于所述诊断升级服务响应确定所述MCU程序烧录完毕时发送至所述SOC的;
基于所述重启MCU请求进行重启,并通过所述核间通信接口向所述SOC返回重启MCU响应。
13.一种程序烧录方法,其特征在于,应用于诊断设备,包括:
确定车载终端中的目标升级对象为微控制单元MCU时,基于所述MCU的内存地址范围,向所述车载终端中的***级芯片SOC发送诊断升级服务请求;
接收所述SOC返回的所述MCU的升级条件验证结果;其中,所述升级条件验证结果是,所述SOC基于所述诊断升级服务请求中的内存地址范围确定目标升级对象为所述MCU时,对所述MCU是否满足升级条件进行验证后返回的;
基于所述升级条件验证结果确定所述MCU满足所述升级条件时,向所述SOC发送所述MCU的升级程序数据,以使所述SOC将所述升级程序数据通过核间通信接口发送至所述MCU进行程序烧录。
14.如权利要求13所述的程序烧录方法,其特征在于,向所述SOC发送所述MCU的升级程序数据之前,还包括:
向所述SOC发送安全访问请求;
接收所述SOC基于协商的安全访问算法对所述诊断设备进行安全性验证后返回的安全性验证结果;
基于所述安全性验证结果确定安全性验证通过。
15.如权利要求13所述的程序烧录方法,其特征在于,向所述SOC发送所述MCU的升级程序数据之前,还包括:
向所述SOC发送内存擦写请求;
接收所述SOC转发的内存擦写响应;其中,所述内存擦写响应是,所述SOC通过所述核间通信接口将所述内存擦写请求转发至所述MCU,所述MCU基于所述内存擦写请求擦写内存后,通过所述核间通信接口返回至所述SOC的;
基于所述内存擦写响应确定所述MCU内存擦写完毕。
16.如权利要求13-15任一项所述的程序烧录方法,其特征在于,向所述SOC发送所述MCU的升级程序数据之后,还包括:
向所述SOC发送升级模式切换请求;
接收所述SOC转发的升级模式切换响应;其中,所述升级模式切换响应是,所述SOC通过所述核间通信接口将所述升级模式切换请求转发至所述MCU,所述MCU基于所述升级模式切换请求切换至升级模式后,通过所述核间通信接口返回至所述SOC的;
基于所述升级模式切换响应确定所述MCU升级模式切换完毕。
17.如权利要求13-15任一项所述的程序烧录方法,其特征在于,向所述SOC发送所述MCU的升级程序数据之后,还包括:
接收所述SOC转发的诊断升级服务响应;其中,所述诊断升级服务响应是,所述MCU基于所述升级程序数据进行程序烧录后通过所述核间通信接口返回至所述SOC的;
基于所述诊断升级服务响应确定所述MCU程序烧录完毕后,向所述SOC发送重启MCU请求;
接收所述SOC转发的重启MCU响应;其中,所述重启MCU响应是,所述MCU基于所述重启MCU请求进行重启后通过所述核间通信接口返回至所述SOC的;
基于所述重启MCU响应确定所述MCU重启完毕。
18.一种程序烧录装置,其特征在于,应用于车载终端中的***级芯片SOC,包括:
请求接收单元,用于接收诊断设备发送的诊断升级服务请求;
升级验证单元,用于基于所述诊断升级服务请求中的内存地址范围,确定目标升级对象为微控制单元MCU时,对所述MCU是否满足升级条件进行验证,并向所述诊断设备返回升级条件验证结果;
数据承接单元,用于接收所述诊断设备基于所述升级条件验证结果确定所述MCU满足所述升级条件时发送的升级程序数据;
数据转发单元,用于通过核间通信接口将所述升级程序数据发送至所述MCU进行程序烧录。
19.一种程序烧录装置,其特征在于,应用于车载终端中的微控制单元MCU,包括:
数据接收单元,用于接收***级芯片SOC通过核间通信接口发送的升级程序数据;其中,所述升级程序数据是,所述SOC基于诊断设备发送的诊断升级服务请求中的内存地址范围确定目标升级对象为所述MCU,并将所述MCU的升级条件验证结果返回至所述诊断设备后,所述诊断设备基于所述升级条件验证结果确定所述MCU满足所述升级条件时发送至所述SOC的;
程序烧录单元,用于基于所述升级程序数据进行程序烧录。
20.一种程序烧录装置,其特征在于,应用于诊断设备,包括:
请求发送单元,用于确定车载终端中的目标升级对象为微控制单元MCU时,基于所述MCU的内存地址范围,向所述车载终端中的***级芯片SOC发送诊断升级服务请求;
验证接收单元,用于接收所述SOC返回的所述MCU的升级条件验证结果;其中,所述升级条件验证结果是,所述SOC基于所述诊断升级服务请求中的内存地址范围确定目标升级对象为所述MCU时,对所述MCU是否满足升级条件进行验证后返回的;
数据发送单元,用于基于所述升级条件验证结果确定所述MCU满足所述升级条件时,向所述SOC发送所述MCU的升级程序数据,以使所述SOC将所述升级程序数据通过核间通信接口发送至所述MCU进行程序烧录。
21.一种车载终端,其特征在于,包括:存储器、***级芯片SOC和微控制单元MCU,所述存储器上存储有可在所述SOC上运行的第一计算机程序和可在所述MCU上运行的第二计算机程序,所述SOC执行所述第一计算机程序时实现如权利要求1-7任一项所述的程序烧录方法,所述MCU执行所述第二计算机程序时实现如权利要求8-12任一项所述的程序烧录方法。
22.一种诊断设备,其特征在于,包括:存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求13-17任一项所述的程序烧录方法。
23.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现如权利要求1-7任一项所述的程序烧录方法;或者实现如权利要求8-12任一项所述的程序烧录方法;或者实现如权利要求13-17任一项所述的程序烧录方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625906.2A CN113377384A (zh) | 2021-06-04 | 2021-06-04 | 一种程序烧录方法、装置、车载终端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110625906.2A CN113377384A (zh) | 2021-06-04 | 2021-06-04 | 一种程序烧录方法、装置、车载终端及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113377384A true CN113377384A (zh) | 2021-09-10 |
Family
ID=77575880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110625906.2A Pending CN113377384A (zh) | 2021-06-04 | 2021-06-04 | 一种程序烧录方法、装置、车载终端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113377384A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905039A (zh) * | 2021-09-30 | 2022-01-07 | 苏州挚途科技有限公司 | ***升级文件传输方法、装置及*** |
CN114430368A (zh) * | 2021-12-15 | 2022-05-03 | 惠州市德赛西威汽车电子股份有限公司 | 一种以太网烧录***及烧录方法 |
CN114513310A (zh) * | 2022-02-21 | 2022-05-17 | 中国第一汽车股份有限公司 | 一种车辆诊断设备的认证方法、装置、电子设备及介质 |
CN114793196A (zh) * | 2022-06-21 | 2022-07-26 | 国汽智控(北京)科技有限公司 | 固件升级方法、装置、设备和存储介质 |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2001282563A (ja) * | 2001-02-05 | 2001-10-12 | Hitachi Ltd | 自動車用制御装置 |
CN1346085A (zh) * | 2000-09-26 | 2002-04-24 | 民生科技股份有限公司 | 用于嵌入式微控制单元的更新程序码方法 |
CN103273893A (zh) * | 2013-05-29 | 2013-09-04 | 扬州泰博汽车电子智能科技有限公司 | 无线升级车身控制器及采用该车身控制器的烧录*** |
CN104503782A (zh) * | 2014-12-11 | 2015-04-08 | 中国南方电网有限责任公司电网技术研究中心 | 一种就地化继电保护装置远程软件升级的方法 |
CN105630477A (zh) * | 2014-11-28 | 2016-06-01 | 奇点新源国际技术开发(北京)有限公司 | 车载终端应用程序的升级方法及装置 |
CN108128104A (zh) * | 2018-01-11 | 2018-06-08 | 宁波琻捷电子科技有限公司 | 无线烧录***及其烧录方法 |
CN109656608A (zh) * | 2019-01-08 | 2019-04-19 | 深圳市网心科技有限公司 | 一种mcu固件升级方法及其相关设备 |
US20190205539A1 (en) * | 2017-12-28 | 2019-07-04 | Shenzhen Launch Software Co., Ltd. | Method and device for verifying upgrade of diagnosis connector of diagnostic equipment, and diagnosis connector |
CN111324362A (zh) * | 2018-12-14 | 2020-06-23 | 北京宝沃汽车有限公司 | 车辆、车辆电控***程序更新的方法和装置 |
CN111651184A (zh) * | 2020-08-10 | 2020-09-11 | 广州汽车集团股份有限公司 | 一种tbox软件升级方法、tbox及汽车 |
CN111930407A (zh) * | 2020-10-19 | 2020-11-13 | 广州汽车集团股份有限公司 | 车辆ecu软件升级方法、***、车载tbox的微控制器和soc端 |
CN112069502A (zh) * | 2020-07-22 | 2020-12-11 | 延锋伟世通电子科技(上海)有限公司 | 一种用于车载mcu的安全启动方法及装置 |
CN112148322A (zh) * | 2019-06-27 | 2020-12-29 | 杭州萤石软件有限公司 | 一种升级与片上***连接的单片机中固件的方法 |
CN112230948A (zh) * | 2019-06-30 | 2021-01-15 | 比亚迪股份有限公司 | 软件升级方法、设备、***、车辆及存储介质 |
CN112817631A (zh) * | 2021-01-29 | 2021-05-18 | 一汽解放汽车有限公司 | 一种车载控制器升级方法、装置、设备及存储介质 |
-
2021
- 2021-06-04 CN CN202110625906.2A patent/CN113377384A/zh active Pending
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1346085A (zh) * | 2000-09-26 | 2002-04-24 | 民生科技股份有限公司 | 用于嵌入式微控制单元的更新程序码方法 |
JP2001282563A (ja) * | 2001-02-05 | 2001-10-12 | Hitachi Ltd | 自動車用制御装置 |
CN103273893A (zh) * | 2013-05-29 | 2013-09-04 | 扬州泰博汽车电子智能科技有限公司 | 无线升级车身控制器及采用该车身控制器的烧录*** |
CN105630477A (zh) * | 2014-11-28 | 2016-06-01 | 奇点新源国际技术开发(北京)有限公司 | 车载终端应用程序的升级方法及装置 |
CN104503782A (zh) * | 2014-12-11 | 2015-04-08 | 中国南方电网有限责任公司电网技术研究中心 | 一种就地化继电保护装置远程软件升级的方法 |
US20190205539A1 (en) * | 2017-12-28 | 2019-07-04 | Shenzhen Launch Software Co., Ltd. | Method and device for verifying upgrade of diagnosis connector of diagnostic equipment, and diagnosis connector |
CN108128104A (zh) * | 2018-01-11 | 2018-06-08 | 宁波琻捷电子科技有限公司 | 无线烧录***及其烧录方法 |
CN111324362A (zh) * | 2018-12-14 | 2020-06-23 | 北京宝沃汽车有限公司 | 车辆、车辆电控***程序更新的方法和装置 |
CN109656608A (zh) * | 2019-01-08 | 2019-04-19 | 深圳市网心科技有限公司 | 一种mcu固件升级方法及其相关设备 |
CN112148322A (zh) * | 2019-06-27 | 2020-12-29 | 杭州萤石软件有限公司 | 一种升级与片上***连接的单片机中固件的方法 |
CN112230948A (zh) * | 2019-06-30 | 2021-01-15 | 比亚迪股份有限公司 | 软件升级方法、设备、***、车辆及存储介质 |
CN112069502A (zh) * | 2020-07-22 | 2020-12-11 | 延锋伟世通电子科技(上海)有限公司 | 一种用于车载mcu的安全启动方法及装置 |
CN111651184A (zh) * | 2020-08-10 | 2020-09-11 | 广州汽车集团股份有限公司 | 一种tbox软件升级方法、tbox及汽车 |
CN111930407A (zh) * | 2020-10-19 | 2020-11-13 | 广州汽车集团股份有限公司 | 车辆ecu软件升级方法、***、车载tbox的微控制器和soc端 |
CN112817631A (zh) * | 2021-01-29 | 2021-05-18 | 一汽解放汽车有限公司 | 一种车载控制器升级方法、装置、设备及存储介质 |
Non-Patent Citations (4)
Title |
---|
树哥: "嵌入式开发笔记——CPLD与MCU模拟SPI通信", pages 1 - 4, Retrieved from the Internet <URL:《https://blog.csdn.net/zzssdd2/article/details/111083410》> * |
秦锐: "专用型SOC片内Flash读写控制***的设计与实现", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》, pages 135 - 254 * |
邵仕平: "基于AUTOSAR的电动汽车整车控制***开发", 《中国优秀硕士学位论文全文数据库 (工程科技Ⅱ辑)》, pages 035 - 261 * |
陆俊伟;龚元明;周建鹏;李文静;: "基于Wi-Fi远程通信的无线烧录器的设计与实现", 计算机测量与控制, no. 11, pages 1 - 4 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113905039A (zh) * | 2021-09-30 | 2022-01-07 | 苏州挚途科技有限公司 | ***升级文件传输方法、装置及*** |
CN114430368A (zh) * | 2021-12-15 | 2022-05-03 | 惠州市德赛西威汽车电子股份有限公司 | 一种以太网烧录***及烧录方法 |
CN114430368B (zh) * | 2021-12-15 | 2023-06-30 | 惠州市德赛西威汽车电子股份有限公司 | 一种以太网烧录***及烧录方法 |
CN114513310A (zh) * | 2022-02-21 | 2022-05-17 | 中国第一汽车股份有限公司 | 一种车辆诊断设备的认证方法、装置、电子设备及介质 |
CN114793196A (zh) * | 2022-06-21 | 2022-07-26 | 国汽智控(北京)科技有限公司 | 固件升级方法、装置、设备和存储介质 |
CN114793196B (zh) * | 2022-06-21 | 2022-09-13 | 国汽智控(北京)科技有限公司 | 固件升级方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113377384A (zh) | 一种程序烧录方法、装置、车载终端及介质 | |
CN110347412B (zh) | 电子控制单元固件升级管理方法、装置、设备和存储介质 | |
CN107256188B (zh) | 安卓设备的控制方法、装置、终端及存储介质 | |
WO2010017775A1 (zh) | 基于can总线的汽车电子控制器代码刷新的控制方法 | |
CN109766217B (zh) | 一种车机***故障修复方法及装置 | |
CN103870305A (zh) | 一种设有usb/存储卡接口的车载音响的软件升级方法 | |
WO2022213641A1 (zh) | 进程接替的方法、装置、电子设备及存储介质 | |
CN112612490A (zh) | 车辆升级方法、车辆及存储介质 | |
CN102713858B (zh) | 信息处理装置的联机调试***及联机调试方法 | |
CN108664256A (zh) | ***的固件更新方法、装置和电池管理*** | |
CN109857426A (zh) | Bootloader程序更新方法、装置、电子设备及存储介质 | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
CN109597653A (zh) | Bios与bmc命令交互的方法、bios及bmc | |
CN111736873B (zh) | 电子控制单元的程序更新方法、装置、设备和存储介质 | |
TWI743709B (zh) | 可後台升級韌體的系統及後台升級韌體方法 | |
TW201305772A (zh) | 連續處理網路資料的系統及方法 | |
KR102109125B1 (ko) | Autosar 기반 차량 ecu 상태 관리 방법 | |
CN111198832B (zh) | 一种处理方法和电子设备 | |
WO2024103635A1 (zh) | 电机控制器cpld程序升级方法、装置、电机控制器及车辆 | |
CN116560688A (zh) | 用于域控制器的软件更新方法 | |
CN116610340A (zh) | 车辆软件的更新方法、装置、车辆及存储介质 | |
CN111475191A (zh) | 基于多核技术的汽车控制器软件升级***及方法 | |
CN114116034B (zh) | 分布式刷机方法和装置 | |
CN111505977B (zh) | 功能辅助调试方法、功能调试方法、装置、***及介质 | |
CN116539061A (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 |