CN114924750A - 一种车载应用软件生成方法、装置、设备及存储介质 - Google Patents
一种车载应用软件生成方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114924750A CN114924750A CN202210653722.1A CN202210653722A CN114924750A CN 114924750 A CN114924750 A CN 114924750A CN 202210653722 A CN202210653722 A CN 202210653722A CN 114924750 A CN114924750 A CN 114924750A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- data
- application software
- code
- interface
- 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/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/447—Target code generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/44—Encoding
- G06F8/443—Optimisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44505—Configuring for program initiating, e.g. using registry, configuration files
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明的实施例提供了一种车载应用软件生成方法、装置、设备及存储介质,涉及智能汽车领域,该方法包括:根据输入的目标车载应用软件的标识,从预设的数据库中获取目标车载应用软件对应的中间层数据;根据中间层数据,采用中间层数据对应的转换格式,生成目标车载应用软件的中间层代码;根据预先配置的目标车载应用软件到的底层代码、中间层代码以及应用层代码,生成目标车载应用软件。采用本发明,可以提升车载应用开发的效率,增加车载应用的可靠性。
Description
技术领域
本发明涉及智能汽车领域,具体而言,涉及一种车载应用软件生成方法、装置、设备及存储介质。
背景技术
ECU(Electronic Control Unit,电子控制单元)控制器作为新能源汽车的核心部件,负责车辆上的状态监控与安全,ECU控制器的可靠性与稳定性是新能源车辆工作时的重要参数指标。
目前市场上新能源车辆对于ECU控制器的软件层开发方式还在依靠手写代码,使得软件可靠性较低;不仅如此,尤其当开发出的软件面对多配置项目时,需要开发人员不断针对不同配置做适配,这就使得软件开发与维护成本很高。
发明内容
本发明实施例提供一种车载应用软件生成方法、装置、设备及存储介质,可以提升车载应用开发的效率,增加车载应用的可靠性。
第一方面,本发明实施例提供一种车载应用软件生成方法,所述方法包括:
根据输入的目标车载应用软件的标识,从预设的数据库中获取所述目标车载应用软件对应的中间层数据;
根据所述中间层数据,采用所述中间层数据对应的转换格式,生成所述目标车载应用软件的中间层代码;
根据预先配置的所述目标车载应用软件到的底层代码、所述中间层代码以及应用层代码,生成所述目标车载应用软件。
可选地,所述中间层数据包括:车载接口数据;
所述根据所述中间层数据,采用所述中间层数据对应的转换格式,生成所述目标车载应用软件的中间层代码,包括:
根据所述车载接口数据,采用所述车载接口数据对应的转换格式生成接口调用代码,所述中间层代码包括:所述接口调用代码。
可选地,所述根据所述车载接口数据,采用所述车载接口数据对应的转换格式生成接口调用代码,包括:
根据多类所述车载接口数据,分别采用多类所述车载接口数据对应的转换格式转换生成多类所述接口调用代码。
可选地,多类所述车载接口数据包括如下中至少两种车载接口数据:硬线接口数据、存储接口数据、通信接口数据、故障接口数据;
相应的,多类所述接口调用代码包括:所述至少两种车载接口数据对应的接口调用代码。
可选地,所述中间层数据还包括:车载配置数据;
所述根据所述中间层数据,生成所述目标车载应用软件的中间层代码,还包括:
根据所述车载配置数据,采用所述车载配置数据对应的转换格式生成所述目标车载应用软件的配置代码;所述中间层代码还包括:所述配置代码。
可选地,所述根据所述车载配置数据,采用所述车载配置数据对应的转换格式生成所述目标车载应用软件的配置代码,包括:
根据多类所述车载配置数据,分别采用多类所述车载配置数据对应的转换格式转换生成多类所述配置代码。
可选地,多类所述配置数据包括如下中至少两种车载配置数据:诊断配置数据、***标定配置数据、任务调度配置数据;
相应的,多类所述配置代码包括:所述至少两种车载配置数据对应的配置代码。
第二方面,本发明实施例还提供一种车载应用软件生成装置,所述装置包括:
获取模块,用于根据输入的目标车载应用软件的标识,从预设的数据库中获取所述目标车载应用软件对应的中间层数据;
转换模块,用于根据所述中间层数据,采用所述中间层数据对应的转换格式,生成所述目标车载应用软件的中间层代码;
处理模块,用于根据预先配置的所述目标车载应用软件到的底层代码、所述中间层代码以及应用层代码,生成所述目标车载应用软件。
第三方面,本发明实施例还提供一种车载应用软件生成设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的程序指令,当车载应用软件生成设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述的车载应用软件生成方法的步骤。
第四方面,本发明实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的车载应用软件生成方法的步骤。
本发明提供一种车载应用软件生成方法、装置、设备及存储介质,可以根据用户输入的目标车载应用的标识,从预设的数据库中获取到目标车载应用软件对应的中间层数据,并且采用对应的转换格式,将中间层数据转换生成目标车载应用软件的中间层代码,从而与预设配置的目标车载应用对应的底层代码、应用层代码,一起生成目标车载应用软件。通过这样的方法,可以提升车载应用软件的开发效率,降低车载应用开发成本,保证应用开发的实时性和可靠性,避免在软件开发过程中由于可靠性较低导致的重新设计和重新编码工作,也便于后续对车载应用进行更新维护,极大地减少了更新和维护的工作量。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明提供的一张车载应用软件生成方法的流程示意图;
图2为本发明提供的一种中间层数据的示意图;
图3为本发明提供的另一种车载应用软件开发方法的流程示意图;
图4为本发明提供的一种车载应用软件生成装置的示意图;
图5为本发明提供的一种车载应用软件生成设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在对本发明进行详细地解释之前,先对本发明的应用场景予以介绍。
智能汽车成为汽车发展的必然趋势,汽车电子技术的应用可以促使汽车更加智能化,尤其是ECU(Electronic Control Unit,电子控制单元)的引用,不仅提高汽车的驾驶性能,还能增加驾驶员的舒适性,更进一步满足人们的需求。ECU可以反映目前车辆的档位、充放电状态及功率,更准确的监测电池采样与继电器状态、过放及电池热失控风险,从而更好的保证驾驶员的生命财产安全。
但是,随着越来越多汽车智能ECU应用的运用,也使得汽车的电控***复杂化,增加了汽车电控***软件开发的复杂度,延长了开发周期。因此,厂家对于汽车ECU软件的可重用性就显得越来越高,如何提高汽车软件的开发效率,降低开发成本,增加软件的可靠性成为智能汽车发展的重要目标。
基于此,本发明提供一种车载应用软件生成方法、装置、设备及存储介质,可以根据用户输入的目标车载应用的标识,从预设的数据库中获取到目标车载应用软件对应的中间层数据,并且采用对应的转换格式,将中间层数据转换生成目标车载应用软件的中间层代码,从而与预设配置的目标车载应用对应的底层代码、应用层代码,一起生成目标车载应用软件。本发明下述实施例提供的车载应用软件生成方法可以由车载应用软件生成设备执行,该车载应用软件生成设备可以为笔记本电脑、台式电脑、服务器等计算机设备。
如下结合附图通过多个实施例进行解释说明。图1为本发明提供的一张车载应用软件生成方法的流程示意图。如图1所示,该方法包括:
S110,根据输入的目标车载应用软件的标识,从预设的数据库中获取目标车载应用软件对应的中间层数据。
在每辆汽车中都具有多个ECU控制器在同时运行,不同的ECU控制器通过硬线连接、总线通信的方式组成一个复杂的电子控制***,控制着整个汽车的运行以及实现所有的功能。
而对于ECU控制器的软件结构而言,可以分为底层、中间层和应用层三个层次。可选地,底层软件主要实现的是功能模块的硬件驱动的配置;中间层软件主要实现的是将底层和应用层进行隔离,将底层的输出进行初步处理以便于应用层软件的应用,同时实现将应用层信号处理作用到底层输出,即中间层一方面可以调用底层软件读取信号传递给应用层,另一方面还可以基于应用层下发的控制信号,调用底层软件驱动;中间层软件一般具有数据的输入/输出和应用服务的配置等功能;应用层软件主要实现的是进行各种算法的运行。
在本实施例中,汽车的所有中间层软件都可以基于预设数据库进行建立,数据库中可以事先定义好各种应用对应的各种接口数据和配置数据。
在一种可能的实现方式中,用户可以在车载应用软件生成设备中输入需要集成的车载应用软件名称,或直接在车载应用软件生成设备提供的显示屏中选择需要集成的车载应用软件名称,不同的车载应用软件名称对应不同的车载应用软件的标识,则车载应用软件就可以直接根据输入的目标车载应用软件的标识,从预设的数据库中获取目标车载应用软件对应的中间层数据。可选地,车载应用可以为“空调控制器应用”、“发动机控制应用”、“仪表控制应用”等。
可选地,在从预设的数据库中获取目标车载应用软件对应的中间层数据之前,车载应用软件生成设备可以先读取数据库中存储的所有数据并进行检测,当检测到数据库中存在非标准数据,例如存在木马、后门程序时,向用户提供错误警告和错误分析,从而实现对数据库的维护,保障数据库的安全性,避免后续利用数据在进行软件编译过程中出现配置不完整、编译错误等问题,影响用户体验。
用户对非标准信息进行修改后,当数据库中存储的所有数据信息都检测标准时,车载应用软件生成设备再从预设的数据库中获取目标车载应用软件对应的中间层数据。
S120,根据中间层数据,采用中间层数据对应的转换格式,生成目标车载应用软件的中间层代码。
在本实施例中,可以指定预设的编程语言,如Python进行中间层代码的生成。在本实施例中,不同的中间层数据对应不同的数据转换格式,且不同的格式可以事先预设在车载应用软件生成设备中,当获取目标车载应用软件对应的中间层数据后,便可以自动将中间层数据按照预设的格式转换为代码,保证中间层软件开发的高效性和可靠性。
可选地,转换格式包括数据对应的函数内容定义、数据库发生变化时回调函数定义等。在一种可能的实现方式中,可以调用开源的代码生成工具,将中间层数据按照对应的转换格式转换为目标车载应用软件的中间层代码。
S130,根据预先配置的目标车载应用软件到的底层代码、中间层代码以及应用层代码,生成目标车载应用软件。
在本实施例中,可预先采用第三方工具配置开发底层软件,如Visual Studio进行底层代码的开发,预先采用Matlab/Simulink模型进行应用层软件的开发,当目标车载应用软件的中间层代码生成后,先将中间层代码与底层代码、应用层代码集成在一起,再使用指定的编译器进行编译,如使用了Python进行源代码的编写,就可调用ant编译工具对源代码进行编译,编译完成后,便可以生成目标车载应用软件。
在一种可能的实现方式中,当用户需要对生成的目标车载应用软件进行版本更新迭代时,无需对汽车进行召回,只需要更新维护数据库即可,极大地减少了开发的工作量,并且车辆在交付给消费者之后软件依然实现迭代更新。
本实施例可以提升车载应用软件的开发效率,降低车载应用开发成本,保证应用开发的实时性和可靠性,避免在软件开发过程中由于可靠性较低导致的重新设计和重新编码工作,也便于后续对车载应用进行更新维护,极大地减少了更新和维护的工作量。
在上述图1提供的一种车载应用软件生成方法的基础上,可选地,中间层数据包括:车载接口数据,上述S120中,根据中间层数据,采用中间层数据对应的转换格式,生成目标车载应用软件的中间层代码,包括:
S210,根据车载接口数据,采用车载接口数据对应的转换格式生成接口调用代码。
中间层代码包括:接口调用代码。
对于应用软件而言,中间层软件的复用性最好,可以调用底层软件预留的标准函数接口来操纵硬件,并且不用关心底层软件的具体实现细节,这部分软件对硬件平台的依赖会较小。通常情况下,在中间层软件会涉及各种调用接口,并且会将数据转换为规范要求的数据接口,以支持上述调用接口,以规范各种应用的实现。
其中,中间层数据中的车载接口数据,就是为整个应用软件的协调和执行提供API(Application Programming Interface,应用程序编程接口),可以进行输入输出信号的初步处理,使得应用层软件可以独立于具体的ECU控制器硬件,实现底层和应用层之间的信号交互,并屏蔽了硬件的具体特征,可以提供标准服务接口供应用层软件使用。
在本实施例中,可以根据车载接口数据,采用车载接口数据对应的转换格式生成接口调用代码。接口调用代码提供标准接口函数以便应用层进行调用,以使得应用层软件可以实现车辆的控制逻辑。在整个应用软件中,应用层处于任务调度机制,当建立好任务队列并设定好任务的优先级之后,就可以通过中间层的接口执行每一个任务。
在本实施例中,通过对中间层的接口车载接口数据进行格式转换,从而可以得到中间层的接口调用代码,实现中间层的接口调用功能。
可选地,上述S210中,根据车载接口数据,采用车载接口数据对应的转换格式生成接口调用代码,包括:
S310,根据多类车载接口数据,分别采用多类车载接口数据对应的转换格式转换生成多类接口调用代码。
在一种可能的实现方式中,本实施例提供多类车载接口数据,其中,对于不同的车载接口数据对应不同的转换格式,可以分别采用多类车载接口数据对应的转换格式生成多类接口调用代码。
可选地,多类车载接口数据包括如下中至少两种车载接口数据:硬线接口数据、存储接口数据、通信接口数据、故障接口数据;
相应的,多类接口调用代码包括:至少两种车载接口数据对应的接口调用代码。
对于整车而言,多个ECU控制器可以通过硬线信号和CAN(Controller AreaNetwork,控制器域网)总线等通信方式进行信息交互。硬线信号即一根硬线对应一个开关或一个负载驱动,而CAN总线信号是采用无损结构的逐位仲裁的方式竞争向总线发送数据,只有两根线束与外部连接。
对于多类车载接口数据而言,其中硬线接口数据中包含应用层(ASW,ApplicationSoftware)硬线接口名、底层(BSW,Basic Software Layer)接口名、数据类型(包含数据转换)、调度方式。
硬线接口数据主要实现硬线接口的调用配置。可选地,ASW硬线接口名是作为应用层软件输入的变量名,BSW接口名是底层软件提供的可供调用用以获取底层变量值的函数或变量名。数据类型是该接口预先定义的C语言数据类型,数据转换是ASW真实值与底层接口数值的映射关系。调度方式分为实时调度与周期调度。
存储接口数据可以为NVM(Non-Volatile Memory,非易失性存储器)存储接口数据,其中包含ASW接口名、NVM接口名、数据类型(包含数据转换)、NVM存储分配信息。
存储接口数据主要实现非易失数据的存储读取。可选地,NVM存储分配信息指在非易失性存储器中对应的存储地址。
通信接口数据包含ASW接口名、通信接口名、数据类型(包含数据转换)、打包解析配置信息。
通信接口数据主要实现CAN总线的通信配置。CAN是广泛应用于汽车控制领域的标准总线协议。可选地,打包解析配置信息指在CAN网络通信中每帧的数据存储区域。
故障接口数据包含ASW接口名、故障接口名、故障响应与故障等级、故障确认方式。
故障接口数据主要实现对车辆的故障的响应。例如,车辆中发生电池电压过高故障、CAN节点通信超时故障、变速器故障等。可选地,故障接口名指用于置位与清除各DTC(Data Trouble Code,数据故障码)故障的调用接口,由BSW提供。故障响应配置指故障发生后执行的软件动作。故障等级指故障响应的等级,故障等级越高,执行动作的优先级越高。故障确认方式分为直接确认与debounce(可配置)确认两种方式。
在本实施例中,多类车载接口数据包括如下中至少两种车载接口数据,至少采用两种车载接口数据按照对应的转换格式转换为接口调用代码。
例如,根据硬线接口数据,可以生成硬线接口调用代码;根据存储接口数据,可以生成NVM读取与存储功能代码;根据通信接口数据,可以生成通信的打包解包功能代码;根据故障接口数据,可以生成故障功能代码。其中,在本实施例中,硬线接口调用代码、NVM读取与存储功能代码、通信的打包解包功能代码、故障功能代码都属于接口调用代码。
在本实施例中,通过从数据库调用多类车载接口数据,实现接口调用代码的生成,由于每一类车载接口数据都可以对应相应的功能调用,因此,通过从数据库调用车载接口数据的方式,就可以完成对不同功能调用接口的规定,辅助中间层实现信号交互的目的。
在上述图1提供的一种车载应用软件生成方法的基础上,可选地,中间层数据还包括:车载配置数据,上述S120中,根据中间层数据,采用中间层数据对应的转换格式,生成目标车载应用软件的中间层代码,还包括:
S410,根据车载配置数据,采用车载配置数据对应的转换格式生成目标车载应用软件的配置代码。
中间层代码还包括:配置代码。
对于中间层代码的实现而言,往往可以按照功能划分为多个模块,除了接口的规定,还可以对底层与应用层交互时的方式进行进一步的配置。可以从数据库中调用目标车载应用软件对应的车载配置数据,根据车载配置数据,采用车载配置数据对应的转换格式生成目标车载应用软件的配置代码。其中,车载配置数据即为中间层实现服务功能的配置数据,例如实现任务调度服务、统一诊断服务等的配置数据。
在本实施例中,通过对中间层的车载配置数据进行格式转换,从而可以得到中间层的配置代码,实现中间层的各种应用服务功能。
可选地,上述S410中,根据车载配置数据,采用车载配置数据对应的转换格式生成目标车载应用软件的配置代码,包括:
S510,根据多类车载配置数据,分别采用多类车载配置数据对应的转换格式转换生成多类配置代码。
在一种可能的实现方式中,本实施例提供多类车载配置数据,其中,对于不同的车载配置数据对应不同的转换格式,可以分别采用多类车载配置数据对应的转换格式生成多类配置代码。
可选地,多类配置数据包括如下中至少两种车载配置数据:诊断配置数据、***标定配置数据、任务调度配置数据;
相应的,多类配置代码包括:至少两种车载配置数据对应的配置代码。
对于汽车而言,汽车故障自诊断可以对汽车内部电子控制***、传感器以及不同元件等进行全面检测,在故障出现后,故障自诊断配置可以及时发现故障部位,并将故障信息以DTC的形式记录下来。DTC在记录到ECU控制器内部的NVM后,需要与外部诊断设备进行通信并上报故障,此时就需要一套诊断通信协议。在本实施例中,可以在中间层软件实现UDS(Unified Diagnostic Services,统一诊断服务)协议的配置。
为了实现UDS协议的配置,可以从数据库中调用诊断(UDS)配置数据,其中诊断配置数据包括DTC配置、DID(Data Identifier,数据标识符)配置、Snapshot(车载诊断中快照信息)配置、物流数据配置。
诊断配置数据主要实现对车辆的UDS诊断。可选地,DTC配置包含对各种故障对应的故障码的配置;DID配置包含对车辆各种参数对应标识符的配置;Snapshot配置包含对快照数据标识符及其长度、快照记录数据长度的配置;物流数据配置指软硬件版本号以及出厂配置等信息。
***标定配置数据主要用于实现配置底层软件的标定量。
任务调度配置数据主要用于实现配置应用层软件的任务调度周期与顺序。
在一种可能的实现方式中,多类配置数据还可以包括中断管理配置数据,以实现对***的复位重启服务的配置。
在本实施例中,多类车载配置数据包括如下中至少两种车载配置数据,至少采用两种车载配置数据按照对应的转换格式转换为配置代码。
例如,根据诊断配置数据,可以生成诊断配置代码;根据***标定配置数据,可以生成BSW标定代码;根据任务调度配置数据,可以生成任务调度代码。其中,在本实施例中,诊断配置代码、BSW标定代码、任务调度代码都属于配置代码。
在本实施例中,通过从数据库调用多类车载配置数据,实现配置代码的生成,由于每一类车载配置数据都可以实现具体服务的配置,因此,通过从数据库调用车载配置数据的方式,就可以对中间层进行各种不同服务的配置,辅助中间层实现信号交互的目的。
为了清楚地说明从数据库获取的各种中间层数据,本发明实施例提供一种中间层数据的示意图。图2为本发明提供的一种中间层数据的示意图。如图2所示,硬线接口数据包含ASW接口名、BSW接口名、数据类型(包含数据转换)、调度方式;存储接口数据包含ASW接口名、NVM接口名、数据类型(包含数据转换)、NVM存储分配信息;通信接口数据包含ASW接口名、通信接口名、数据类型(包含数据转换)、打包解析配置信息;故障接口数据包含ASW接口名、故障接口名、故障响应与故障等级、故障确认方式;诊断配置数据包括DTC配置、DID配置、Snapshot(配置、物流数据配置;配置数据还包括***标定配置数据和任务调度配置数据。
为了清楚地说明软件开发的过程,本发明实施例还提供一种车载应用软件开发方法的流程示意图。图3为本发明提供的另一种车载应用软件开发方法的流程示意图。如图3所示,该车载应用软件开发方法包括:
S1002,接收用户输入的目标车载应用软件的标识。
用户可以在车载应用软件生成设备中输入需要集成的车载应用软件名称,或直接在车载应用软件生成设备提供的显示屏中选择需要集成的车载应用软件名称,不同的车载应用软件名称对应不同的车载应用软件的标识,则车载应用软件就可以接收输入的目标车载应用软件的标识。
S1004,读取数据库。
从预设的数据库中获取目标车载应用软件对应的中间层数据。
S1006,数据库异常检测。
在从预设的数据库中获取目标车载应用软件对应的中间层数据之前,车载应用软件生成设备可以先读取数据库中存储的所有数据并进行检测。
S1008,判断数据库是否存在非标准数据。
S1009,提供错误分析报告提示用户进行修改。
当检测到数据库中存在非标准数据,例如存在木马、后门程序时,向用户提供错误警告和错误分析报告,提示用户进行修改,从而实现对数据库的维护,保障数据库的安全性,避免后续利用数据在进行软件编译过程中出现配置不完整、编译错误等问题,影响用户体验。
S1010,获取目标车载应用项目软件对应的中间层数据。
用户对非标准信息进行修改后,或检测出数据库不存在非标准数据,即数据库中存储的所有数据信息都检测标准时,车载应用软件生成设备再从预设的数据库中获取目标车载应用软件对应的中间层数据。
S1012,对中间层数据进行格式转换。
不同的中间层数据对应不同的数据转换格式,且不同的格式可以事先预设在车载应用软件生成设备中,当获取目标车载应用软件对应的中间层数据后,便可以自动将中间层数据按照预设的格式转换为代码,保证中间层软件开发的高效性和可靠性。
S1014,编译生成软件。
当目标车载应用软件的中间层代码生成后,先将中间层代码与底层代码、应用层代码集成在一起,再使用指定的编译器进行编译,便可以生成目标车载应用软件。
图4为本发明提供的一种车载应用软件生成装置的示意图,如图4所示,一种软件生成装置,包括:
获取模块1000,用于根据输入的目标车载应用软件的标识,从预设的数据库中获取目标车载应用软件对应的中间层数据;
转换模块2000,用于根据中间层数据,采用中间层数据对应的转换格式,生成目标车载应用软件的中间层代码;
处理模块3000,用于根据预先配置的目标车载应用软件到的底层代码、中间层代码以及应用层代码,生成目标车载应用软件。
可选地,中间层数据包括:车载接口数据;
可选地,转换模块2000,具体还用于根据车载接口数据,采用车载接口数据对应的转换格式生成接口调用代码。中间层代码包括:接口调用代码。
可选地,转换模块2000,具体还用于根据多类车载接口数据,分别采用多类车载接口数据对应的转换格式转换生成多类接口调用代码。
可选地,多类车载接口数据包括如下中至少两种车载接口数据:硬线接口数据、存储接口数据、通信接口数据、故障接口数据;
相应的,多类接口调用代码包括:至少两种车载接口数据对应的接口调用代码。
可选地,中间层数据还包括:车载配置数据。
可选地,转换模块2000,具体还用于根据车载配置数据,采用车载配置数据对应的转换格式生成目标车载应用软件的配置代码。中间层代码还包括:配置代码。
可选地,转换模块2000,具体还用于根据多类车载配置数据,分别采用多类车载配置数据对应的转换格式转换生成多类配置代码。
可选地,多类配置数据包括如下中至少两种车载配置数据:诊断配置数据、***标定配置数据、任务调度配置数据;
相应的,多类配置代码包括:至少两种车载配置数据对应的配置代码。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(System-on-a-Chip,简称SOC)的形式实现。
图5为本发明提供的一种车载应用软件生成设备的示意图,该设备可以是具备计算处理功能的计算设备或服务器。
该车载应用软件生成设备10包括:处理器11、存储介质12和总线13,存储介质12存储有处理器11可执行的机器可读指令,当该车载应用软件生成设备10执行时,处理器11与存储介质12之间通过总线13通信,处理器11执行机器可读指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (10)
1.一种车载应用软件生成方法,其特征在于,所述方法包括:
根据输入的目标车载应用软件的标识,从预设的数据库中获取所述目标车载应用软件对应的中间层数据;
根据所述中间层数据,采用所述中间层数据对应的转换格式,生成所述目标车载应用软件的中间层代码;
根据预先配置的所述目标车载应用软件到的底层代码、所述中间层代码以及应用层代码,生成所述目标车载应用软件。
2.根据权利要求1所述的方法,其特征在于,所述中间层数据包括:车载接口数据;
所述根据所述中间层数据,采用所述中间层数据对应的转换格式,生成所述目标车载应用软件的中间层代码,包括:
根据所述车载接口数据,采用所述车载接口数据对应的转换格式生成接口调用代码,所述中间层代码包括:所述接口调用代码。
3.根据权利要求2所述的方法,其特征在于,所述根据所述车载接口数据,采用所述车载接口数据对应的转换格式生成接口调用代码,包括:
根据多类所述车载接口数据,分别采用多类所述车载接口数据对应的转换格式转换生成多类所述接口调用代码。
4.根据权利要求3所述的方法,其特征在于,多类所述车载接口数据包括如下中至少两种车载接口数据:硬线接口数据、存储接口数据、通信接口数据、故障接口数据;
相应的,多类所述接口调用代码包括:所述至少两种车载接口数据对应的接口调用代码。
5.根据权利要求1所述的方法,其特征在于,所述中间层数据还包括:车载配置数据;
所述根据所述中间层数据,生成所述目标车载应用软件的中间层代码,还包括:
根据所述车载配置数据,采用所述车载配置数据对应的转换格式生成所述目标车载应用软件的配置代码;所述中间层代码还包括:所述配置代码。
6.根据权利要求5所述的方法,其特征在于,所述根据所述车载配置数据,采用所述车载配置数据对应的转换格式生成所述目标车载应用软件的配置代码,包括:
根据多类所述车载配置数据,分别采用多类所述车载配置数据对应的转换格式转换生成多类所述配置代码。
7.根据权利要求6所述的方法,其特征在于,多类所述配置数据包括如下中至少两种车载配置数据:诊断配置数据、***标定配置数据、任务调度配置数据;
相应的,多类所述配置代码包括:所述至少两种车载配置数据对应的配置代码。
8.一种车载应用软件生成装置,其特征在于,所述装置包括:
获取模块,用于根据输入的目标车载应用软件的标识,从预设的数据库中获取所述目标车载应用软件对应的中间层数据;
转换模块,用于根据所述中间层数据,采用所述中间层数据对应的转换格式,生成所述目标车载应用软件的中间层代码;
处理模块,用于根据预先配置的所述目标车载应用软件到的底层代码、所述中间层代码以及应用层代码,生成所述目标车载应用软件。
9.一种车载应用软件生成设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的程序指令,当车载应用软件生成设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至7任一所述的车载应用软件生成方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至7任一所述的车载应用软件生成方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653722.1A CN114924750A (zh) | 2022-06-09 | 2022-06-09 | 一种车载应用软件生成方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210653722.1A CN114924750A (zh) | 2022-06-09 | 2022-06-09 | 一种车载应用软件生成方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114924750A true CN114924750A (zh) | 2022-08-19 |
Family
ID=82814315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210653722.1A Pending CN114924750A (zh) | 2022-06-09 | 2022-06-09 | 一种车载应用软件生成方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114924750A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024055262A1 (en) * | 2022-09-15 | 2024-03-21 | Intel Corporation | Programming statements in embedded domain specific language |
-
2022
- 2022-06-09 CN CN202210653722.1A patent/CN114924750A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024055262A1 (en) * | 2022-09-15 | 2024-03-21 | Intel Corporation | Programming statements in embedded domain specific language |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515366B (zh) | 一种故障诊断方法及装置 | |
CN111474921A (zh) | 一种汽车诊断软件的配置方法及相关设备 | |
CN111488165B (zh) | 车辆ecu通过脚本升级的方法及其*** | |
CN108268024A (zh) | 车辆诊断方法、装置、终端及计算机可读存储介质 | |
CN104932480A (zh) | 汽车诊断***设计方法和装置 | |
CN114265386B (zh) | 一种基于soa的应用服务诊断架构及方法 | |
EP2889775B1 (en) | Computer having self-monitoring function and monitoring program | |
CN115437338A (zh) | 远程诊断方法及装置、电子设备和存储介质 | |
WO2022041720A1 (zh) | 一种基于uds的通信方法、ecu及上位机 | |
CN114924750A (zh) | 一种车载应用软件生成方法、装置、设备及存储介质 | |
WO2023103712A1 (zh) | Ecu升级方法、装置及可读存储介质 | |
CN113433923A (zh) | 车辆远程诊断方法、***、可读存储介质及设备 | |
CN115437339A (zh) | 远程诊断方法及装置、电子设备和存储介质 | |
CN115469629A (zh) | 远程诊断方法、装置、***、电子设备和存储介质 | |
CN114640662A (zh) | 一种基于云平台的汽车远程诊断***及方法 | |
CN111624981B (zh) | 一种汽车助力转向***的方向盘角度标定***及标定方法 | |
CN114995792B (zh) | 汽车诊断设备的组件化开发方法、设备、介质及电子设备 | |
CN112653726A (zh) | 车载终端及其操作方法、计算机可读存储介质及处理器 | |
CN113835723A (zh) | 一种用于车辆电子控制单元的片上***、升级***及方法 | |
CN109286689B (zh) | 一种信息发送方法、装置及车载人车交互终端 | |
CN116578066A (zh) | 一种车辆诊断方法、装置、设备及介质 | |
CN114488997B (zh) | Ecu刷写的方法、装置、电子设备及存储介质 | |
US9304171B2 (en) | Computer-implemented method for generating software, a battery, and a motor vehicle | |
CN113253701B (zh) | 车辆远程诊断***及方法 | |
CN114879633A (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 |