一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

车辆控制代码自动生成方法、装置、存储介质和电子设备与流程

2022-12-06 22:41:05 来源:中国专利 TAG:


1.本公开涉及智能汽车软件开发技术领域,尤其涉及车辆控制代码自动生成方法、装置、存储介质和电子设备。


背景技术:

2.随着人们对汽车性能要求的不断提高,对于车辆控制代码的需求量和质量也不断提升。对于车载控制单元的控制代码生成一般利用统一的开发平台进行代码开发配置,以实现各种电子控制单元(electronic control unit,ecu)相关参数、验证和可执行代码生成。
3.统一的开发平台一般利用软件供用方提供的配置工具生成电子控制单元的配置描述文档,但形成的配置描述文档通常存在标准差异,导致相互之间兼容性低;并且,配置工具普遍使用在图形化界面操作,需要先完成各模块配置及验证,才能通过图形化界面触发对应的按钮来进行对应的代码生成,图形化界面需要很多的算力来处理图形,同时图形化界面的显示及操作过于分散,信息不集中,执行效率抵下。此外,图形化界面同时显示了很多可操作区域,操作人员需要点击多次才能完成代码生成指令,操作繁琐,易引入人工错误,代码的生成效率和准确率低下。


技术实现要素:

4.为了解决上述提出的至少一个技术问题,本公开提出了车辆控制代码自动生成方法、装置、存储介质和电子设备。
5.根据本公开的一方面,提供了一种车辆控制代码自动生成方法,其包括:
6.基于目标功能接口接收车载控制单元的至少一组代码生成数据,所述代码生成数据包括第一指令参数和第二指令参数,所述第一指令参数用于表征车载控制单元的系统描述文件的存储信息,第二指令参数包括生成目标控制代码文件所需的配置模块信息,所述系统描述文件用于描述所述车载控制单元对应的系统模块信息;
7.获取所述第一指令参数对应的系统描述文件;
8.基于所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件。
9.在一些可能的实施方式中,所述基于所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件,包括:
10.对所述系统描述文件进行文件解析,得到所述系统描述文件包括的系统模块信息;
11.若所述系统模块信息与所述第二指令参数包括的配置模块信息相匹配,获取所述配置模块信息对应的配置模块数据;
12.基于预设标准文档验证所述配置模块信息对应的配置模块数据是否正常;
13.若正常,基于预设代码模板对所述配置模块数据进行代码生成处理,得到所述目标控制代码文件。
14.在一些可能的实施方式中,在所述若所述系统模块信息与所述第二指令参数包括的配置模块信息相匹配,获取所述配置模块信息对应的配置模块数据之前,所述方法还包括:
15.检测所述第二指令参数的参数状态,得到参数状态检测结果;
16.在所述参数状态检测结果为所述参数状态不为空的情况下,触发所述若所述系统模块信息与所述第二指令参数包括的配置模块信息相匹配,获取所述配置模块信息对应的配置模块数据的步骤。
17.在一些可能的实施方式中,所述方法还包括:
18.在所述参数状态检测结果为所述参数状态为空的情况下,获取所述系统模块信息对应的配置模块数据;
19.基于所述预设标准文档验证所述系统模块信息对应的配置模块数据是否正常;
20.若正常,基于所述预设代码模板对所述系统模块信息对应的配置模块数据进行代码生成处理,得到所述目标控制代码文件。
21.在一些可能的实施方式中,所述代码生成数据还包括第三指令参数,所述第三指令参数表征所述目标控制代码文件的目标路径信息,在所述基于所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件之后,还包括:
22.基于所述第三指令参将所述目标控制代码文件存储至所述目标路径信息对应的存储位置。
23.在一些可能的实施方式中,所述代码生成数据还包括第四指令参数,所述第四指令参数包括应用程序信息,在所述基于目标功能接口接收车载控制单元的至少一组代码生成数据后,还包括:
24.基于所述应用程序信息确定所述第四指令参数对应的目标应用程序;
25.启动所述目标应用程序;
26.所述基于所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件包括:
27.通过所述目标应用程序对所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件。
28.在一些可能的实施方式中,所述方法还包括:
29.检测所述第三指令参数的目标路径信息对应的文件路径的路径状态,得到路径状态检测结果;
30.在所述路径状态检测结果为正常的情况下,触发所述获取所述第一指令参数对应的系统描述文件的步骤。
31.根据本公开的第二方面,提供车辆控制代码自动生成装置,所述装置包括:
32.代码生成数据接收模块,用于基于目标功能接口接收车载控制单元的至少一组代码生成数据,所述代码生成数据包括第一指令参数和第二指令参数,所述第一指令参数用于表征车载控制单元的系统描述文件的存储信息,第二指令参数包括生成目标控制代码文
件所需的配置模块信息,所述系统描述文件用于描述所述车载控制单元对应的系统模块信息;
33.系统描述文件获取模块,用于获取所述第一指令参数对应的系统描述文件;
34.代码生成模块,用于基于所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件。
35.根据本公开的第三方面,提供了一种电子设备,包括至少一个处理器,以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面中任意一项所述的车辆控制代码自动生成方法。
36.根据本公开的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令或至少一段程序,所述至少一条指令或至少一段程序由处理器加载并执行以实现如第一方面中任意一项所述的车辆控制代码自动生成方法。
37.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。
38.执行本公开,具有如下有益效果:
39.本技术的技术方案通过目标功能接口接收车载控制单元的至少一组代码生成数据,所述代码生成数据包括第一指令参数和第二指令参数,所述第一指令参数用于表征车载控制单元的系统描述文件的存储信息,第二指令参数包括生成目标控制代码文件所需的配置模块信息,所述系统描述文件用于描述所述车载控制单元对应的系统模块信息;利用包括多个命令参数的代码生成数据一次性输入目标控制代码生成的指令,避免多次点击操作造成的运行的卡断以及人工失误,降低人工干预,提高车辆控制代码生成的正确率和效率;获取所述第一指令参数对应的系统描述文件,能够自动解析识别任何路径下的系统描述文件;基于所述第一指令参数对应的系统描述文件和所述第二指令参数进行代码生成处理,得到所述至少一组代码生成数据各自的目标控制代码文件,利用一组代码生成数据生成控制代码。不需要很多的算力来处理图形,只需要专注于代码生成的核心逻辑,系统资源的使用更合理,能够充分保证系统的其他工作的正常进行,提高代码生成的效率。
40.根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
41.为了更清楚地说明本说明书实施例或现有技术中的技术方案和优点,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它附图。
42.图1示出根据本公开实施例一种实施环境的结构示意图;
43.图2示出根据本公开实施例的一种车辆控制代码自动生成方法的流程示意图;
44.图3示出根据本公开实施例第一种目标控制代码文件生成方法的流程示意图;
45.图4示出根据本公开实施例的第二指令参数的状态检测方法的流程示意图;
46.图5示出根据本公开实施例第二种目标控制代码文件生成方法的流程示意图;
47.图6示出根据本公开实施例的第三指令参数检测方法的流程示意图;
48.图7示出根据本公开实施例的一种车辆控制代码自动生成装置的结构示意图;
49.图8示出根据本公开实施例的一种电子设备的框图;
具体实施方式
50.下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
52.以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
53.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
54.本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。
55.另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
56.经典汽车开放系统架构平台(autosar classic platform,autosar cp)以处理控制系统的电子控制单元(ecu)为主要对象。autosar cp中定义的软件架构具有的三层结构,分别为应用软件层(application software layer,asw)、运行时环境(runtime environment,rte)、基础软件层(basic software layer,bsw),其中bsw是提供ecu通常使用的功能层。基础软件层(basic software layer,bsw)配置一般使用软件供应商提供的bsw配置工具,而不是由汽车制造商或供应商自行开发。bsw配置阶段需要开发人员通过bsw配置工具来配置ecu相关参数、验证和生成可执行代码。而每个软件供应方都有自己的bsw配置工具,虽然都是符合autosar标准,但生成出来的arxml文件存在部分细微差异,相互之间兼容性不高,autosar标准各协议栈及下属模块支持不全;并且,bsw配置工具普遍使用在图形化界面操作,存在图形化界面操作的弊端。因此,本公开直接利用目标功能接口自动验证参数以及生成可执行代码,降低人工干预,提高车辆控制代码生成的正确率和效率。如图
1所示,本公开的运行环境可以为配置有包括目标功能接口1的bsw配置工具、汽车开发系统架构平台工具平台2(autosar tool platform,artop)、基于java集成开发环境(eclipse)基础平台3、eclipse中的模型框架4(eclipse modeling framework,emf)以及eclipse平台提供的xpand插件5的操作系统。
57.图2示出根据本公开实施例的一种车辆控制代码自动生成方法的流程示意图,如图2所示,上述方法包括:
58.s101、基于目标功能接口接收车载控制单元的至少一组代码生成数据,代码生成数据包括第一指令参数和第二指令参数,第一指令参数用于表征车载控制单元的系统描述文件的存储信息,第二指令参数包括生成目标控制代码文件所需的配置模块信息,系统描述文件用于描述车载控制单元对应的系统模块信息;
59.基于指定工具获取用户输入的代码生成数据,或基于指定工具获取用户输入的代码生成数据获取指令,以获取包括至少一组代码生成数据的脚本文件。通过目标功能接口获取每一组代码生成数据,代码生成数据为用于自动生成目标控制代码的命令数据的集合。
60.通过目标功能接口接收一组或多组代码生成数据,通过代码生成数据确定目标应用程序,通过目标应用程序解析每一代码生成数据。示例性的,目标功能接口可以为命令行接口,获取命令行工具中用户输入的一组代码生成数据,执行时,通过命令行接口获取该代码生成数据。或者在命令行工具中输入调用指定脚本文件,按序执行脚本文件中每一组代码生成数据,直至生成每一组代码生成数据对应的目标控制代码。
61.代码生成数据包括第一指令参数和第二指令参数,第一指令参数和第二指令参数通过预设分隔符分割,示例性的,预设分隔符为空格。第一指令参数包括车载控制单元的系统描述文件的绝对路径和系统描述文件的文件名,通过第一指令参数能够确定系统描述文件,若第一指令参数为空,或根据第一指令参数未找到系统描述文件,目标应用程序报错,并提示操作命令不可识别。一个实施例中,系统描述文件包括用户基于需求和基于classic autosar标准文档配置的车载控制单元对用的系统模块信息,系统描述文件的后缀可以为arxml。示例性的,第一指令参数为“d:\cmdgenerate\config.arxml”,其中,config.arxml为系统描述文件的文件名,d:\cmdgenerate为系统描述文件的绝对路径。第二指令参数包括生成目标代码文件需要的配置模块信息,配置模块信息包括至少一个配置模块名称,配置模块为基于classic autosar标准的can通信协议栈、诊断协议栈、标定协议栈、系统协议栈、内存协议栈、系统服务协议栈、通信服务协议栈所包含的模块,示例性的,第二指令参数为“pdur,os,com”,第二指令参数包括pdur配置模块、os配置模块和com配置模块。
62.s102、获取第一指令参数对应的系统描述文件;
63.利用目标应用程序基于第一指令参数获取系统描述文件,第一指令参数包括系统描述文件的绝对路径和系统描述文件名称。
64.基于系统描述文件的绝对路径确定系统描述文件所在的文件目录,基于系统描述文件的名称确定第一指令参数对应的系统描述文件。
65.s103、基于第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件。
66.若系统描述文件均包含第二指令参数对应的配置模块,基于预设框架和预设元模
型对系统描述文件进行解析,并基于第二指令参数确定系统描述文件中所需要的配置模块,基于系统描述文件中第二指令参数对应的配置模块信息以及预设代码模板,生成每组代码生成数据对应的目标控制代码文件。
67.示例性的,基于emf框架生成的autosar元模型对系统描述文件进行解析,emf的核心模型ecore实现了对autosar元模型的反射访问和设置;通过artop提供的接口可以获取系统描述文件解析的第二指令对应的配置模块对应的元模型实例,artop实现了autosar元模型解析的具体逻辑。根据元模型实例的ecuc-module-configuration-values标签结构下存放的组件的各容器、参数定义信息,结合工具的xpand代码模板生成需要的目标控制代码文件,xpand为eclipse平台提供的插件。示例性的,目标控制代码文件可以为后缀为.c和.h类代码文件。
68.autosar元模型是从emf的核心模型ecore继承和扩展而来,根据第一指令参数可以解析并识别任何路径下的符合autosar标准的系统描述文件,并在内存中形成autosar元模型实例,方便针对任意系统描述文件的处理。对系统描述文件的代码生成通过工具的命令实现,则可利用命令脚本组合多个命令进行自动化编辑操作,降低人工的干预,进一步提升代码生成的正确率和效率。
69.通过一组代码生成数据自动化生成代码,节省系统资源。若利用图形化界面的应用生成代码需要对图形处理,线程多占用系统资源多,线程切换的时候,系统对堆栈的操作效率极其低下。图形化界面的应用在线程较多的时候,不适合采用识别码ip防止线程停止响应,因此,利用图形化界面的应用生成代码,容易出现阻塞。而通过一组代码生成数据生成代码不需要很多的算力来处理图形,只需要专注于代码生成的核心逻辑,系统资源的使用更合理,能够充分保证系统的其他工作的正常进行,并且不会因为线程被阻塞就停止响应。
70.请参阅图3,在一些实施例中,基于第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件,包括:
71.s1031、对系统描述文件进行文件解析,得到系统描述文件包括的系统模块信息;
72.s1033、若系统模块信息与第二指令参数包括的配置模块信息相匹配,获取配置模块信息对应的配置模块数据;
73.s1035、基于预设标准文档验证配置模块信息对应的配置模块数据是否正常;
74.s1037、若正常,基于预设代码模板对配置模块数据进行代码生成处理,得到目标控制代码文件。
75.具体的,目标应用程序基于第一指令参数获取系统描述文件后,解析系统描述文件包括的系统模块信息,获取第二指令参数对应的配置模块信息,配置模块信息包括至少一个配置模块名称,基于配置模块名称判断第二指令参数对应的配置模块信息是否均存在于系统描述文件中,若配置模块信息中的任意配置模块不全存在于系统描述文件中,则报错,提示存在不可识别的命令。若在系统描述文件中能查询到第二指令参数对应的配置模块信息,则从系统描述文件中获取配置模块信息对应的配置模块数据。基于预设标准文档验证配置模块信息对应的配置模块数据是否符合标准,若不符合标准,则报错,并提示检测系统描述文件。若配置模块信息对应的配置模块数据符合标准,则基于预设代码模板对配置模块数据进行代码生成处理,得到目标控制代码文件。
76.示例性的,第一指令参数为“d:\cmdgenerate\config.arxml”,目标应用程序基于第一指令参数获取系统描述文件config.arxml;第二指令参数为“pdur,os,com”,基于第二指令参数获取模块配置信息包括pdur模块,os模块和com模块;判断系统描述文件config.arxml是否包括pdur模块,os模块和com模块,若任一模块不存在于系统描述文件config.arxml中,则报错,并提示不存在该模块,若pdur模块,os模块和com模块均包括于系统描述文件config.arxml中,则基于第二指令参数获取系统描述文件config.arxml中模块配置信息对应的模块配置数据,即获取系统描述文件config.arxml中pdur模块,os模块和com模块对应的模块配置数据,基于classic autosar标准文档验证pdur模块,os模块和com模块对应的模块配置数据是否符合标准,若不符合标准,则报错,并提示检测系统描述文件;若符合标准,则基于xpand代码模板对pdur模块,os模块和com模块进行代码生成处理,得到目标控制代码文件。
77.每个软件提供方都有自己的基础软件层(basic software layer,bsw)配置工具,虽然都是符合classic autosar标准,但生成出来的系统描述文件如通用配置文件或数据库文件仍存在部分细微差异,相互之间兼容性不高,classic autosar标准各协议栈及下属模块支持不全,而利用代码生成数据自动化生成代码,能够基于预设标准文档对配置模块信息对应的配置模块数据进行验证,若不符合标准,能够及时地、有针对性的报错,及时通知用户纠错,并提高生成代码的正确率。
78.请参阅图4,在一些实施例中,在若系统模块信息与第二指令参数包括的配置模块信息相匹配,获取配置模块信息对应的配置模块数据之前,所述方法还包括:
79.s1032、检测第二指令参数的参数状态,得到参数状态检测结果;
80.s1034、在参数状态检测结果为参数状态不为空的情况下,触发若系统模块信息与第二指令参数包括的配置模块信息相匹配,获取配置模块信息对应的配置模块数据的步骤。
81.具体的,需要对第二指令参数进行检测,判断是否为空,若第二指令参数不为空,则获取第二指令参数中的配置模块信息,并将配置模块信息与系统模块信息匹配。保证基于代码生成数据能够正常生成代码,提高生成目标控制代码文件的正确率。
82.请参阅图5,在一些实施例中,所述方法还包括:
83.s201、在参数状态检测结果为参数状态为空的情况下,获取系统模块信息对应的配置模块数据;
84.s202、基于预设标准文档验证系统模块信息对应的配置模块数据是否正常;
85.s203、若正常,基于预设代码模板对系统模块信息对应的配置模块数据进行代码生成处理,得到目标控制代码文件。
86.具体的,若第二指令参数为空,即不限定生成目标控制代码文件所需要的配置模块信息,则获取系统描述文件中系统模块信息对应的配置模块数据,基于预设标准文档验证所有的系统模块信息对应的配置模块数据是否符合标准,若不符合标准,目标应用程序报错,并提示检查系统描述文件。若系统模块信息对应的配置模块数据均符合标准,则基于预设代码模板对系统模块信息对应的配置模块数据进行代码生成处理,得到目标控制代码文件。
87.示例性的,预设标准文档可以为classic autosar标准文档,系统描述文件中的配
置模块数据只要符合classic autosar标准文档的规定,都可以做相应的解析和代码生成,不需要很多的算力来处理图形,只需要专注于代码生成的核心逻辑,系统资源的使用更合理,能够充分保证系统的其他工作的正常进行。
88.在一些实施例中,代码生成数据还包括第三指令参数,第三指令参数表征目标控制代码文件的目标路径信息,在基于第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件之后,还包括:
89.s104、基于第三指令参将目标控制代码文件存储至目标路径信息对应的存储位置。
90.具体的,代码生成数据还包括第三指令参数,第三指令参数包括目标控制代码文件的目标路径信息,在生成目标控制代码文件后,将目标控制代码文件存储至目标路径信息对应的存储位置。以保证,生成的目标控制代码文件存储至用户指定的位置,方便用户使用。
91.示例性的,第三指令参数为“d:\cmdgenerate\output”,将生成的目标控制代码文件存储至d盘下的cmdgenerate文件下的output中。
92.在一些实施例中,代码生成数据还包括第四指令参数,第四指令参数包括应用程序信息,在基于目标功能接口接收车载控制单元的至少一组代码生成数据后,还包括:
93.s301、基于应用程序信息确定第四指令参数对应的目标应用程序;
94.s302、启动目标应用程序;
95.代码生成数据话包括第四指令参数,目标功能接口接收第四指令参数,启动第四指令参数对应的目标应用程序,并将代码生成数据发送至目标应用程序,目标应用程序对代码生成数据进行分析,获取第一指令参数、第二指令参数和第三指令参数。
96.示例性的,代码生成数据如下:
97.eclipsec.exe

nosplash

application com.caic.bs.cp.codegen“d:\cmdgenerate\config.arxml”“d:\cmdgenerate\output”“pdur,os,com”,其中每个指令参数之间使用空格分开,第一指令参数为“d:\cmdgenerate\config.arxml”,第二指令参数为“pdur,os,com”,第三指令参数为“d:\cmdgenerate\output”,第四指令参数为eclipsec.exe

nosplash

application com.caic.bs.cp.codegen;eclipsec.exe支持控制台启动eclipse,

nosplash参数控制运行同时不显示启动页面,通过

application指向com.caic.bs.cp.codegen代码生成工具的实际应用。com.caic.bs.cp.codegen应用为目标应用程序,是生成代码的核心工具。执行代码生成时,目标应用程序获取代码生成数据解析出:第一指令参数对应的系统描述文件、第三指令参数对应的目标控制代码文件的存储位置以及生成目标控制代码文件所需要的配置模块信息。
98.基于第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件包括:
99.s401、通过目标应用程序对第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件。
100.目标应用程序基于预设代码模板对第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件,并将目标控制代码文件输出到第三指令参数对应的存储位置。
101.通过目标功能接口一次性接收代码生成数据,可以非常方便的利用脚本、操作说明书或设计文档等生成代码,能够避免图形化界面需要数十次点击和一歩一截屏所带来的复杂性。
102.请参阅图6,在一些实施例中,所述方法还包括:
103.s501、检测第三指令参数的目标路径信息对应的文件路径的路径状态,得到路径状态检测结果;
104.s502、在路径状态检测结果为正常的情况下,触发获取第一指令参数对应的系统描述文件的步骤。
105.在s103步骤之前,还需要检测第三指令参数指向的目标控制代码文件的目标路径是否存在,若不存在,则目标应用程序报错,并提示不可识别命令。若存在目标控制代码文件的目标路径,则继续执行s103,以生成目标控制代码文件。
106.启动目标应用程序后,目标应用程序获取代码生成数据后,基于代码生成数据分析出第一指令参数、第二指令参数和第三指令参数,对第一指令参数和第三指令参数进行验证,即确定是否有输入的系统描述文件以及是否存在输出的目标控制代码文件的存储位置,确定有输入的系统描述文件以及存在输出的目标控制代码文件的存储位置后,进行代码的生成。若第一指令参数和第三指令参数存在问题,则有针对性的、及时的提示用户不能识别命令,使得用户及时纠错,确保程序的正常运行,提高代码生成的效率和正确率。
107.请参阅图7,根据本公开的第二方面,提供车辆控制代码自动生成装置,所述装置包括:
108.代码生成数据接收模块10,用于基于目标功能接口接收车载控制单元的至少一组代码生成数据,代码生成数据包括第一指令参数和第二指令参数,第一指令参数用于表征车载控制单元的系统描述文件的存储信息,第二指令参数包括生成目标控制代码文件所需的配置模块信息,系统描述文件用于描述车载控制单元对应的系统模块信息;
109.系统描述文件获取模块20,用于获取第一指令参数对应的系统描述文件;
110.代码生成模块30,用于基于第一指令参数对应的系统描述文件和第二指令参数进行代码生成处理,得到至少一组代码生成数据各自的目标控制代码文件。
111.在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
112.本技术实施例提供了一种车辆控制代码自动生成设备,该生成设备可以为终端或服务器,该车辆控制代码自动生成设备包括处理器和存储器,该存储器中存储有至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现如上述方法实施例所提供的车辆控制代码自动生成方法。
113.存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
114.本技术实施例所提供的方法实施例可以在移动终端、计算机终端、服务器或者类似的运算装置等电子设备中执行。图8是本技术实施例提供的一种车辆控制代码自动生成方法的电子设备的硬件结构框图。如图8所示,该电子设备900可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,cpu)910(处理器910可以包括但不限于微处理器mcu或可编程逻辑器件fpga等的处理装置)、用于存储数据的存储器930,一个或一个以上存储应用程序923或数据922的存储介质920(例如一个或一个以上海量存储设备)。其中,存储器930和存储介质920可以是短暂存储或持久存储。存储在存储介质920的程序可以包括一个或一个以上模块,每个模块可以包括对电子设备中的一系列指令操作。更进一步地,中央处理器910可以设置为与存储介质920通信,在电子设备900上执行存储介质920中的一系列指令操作。电子设备900还可以包括一个或一个以上电源960,一个或一个以上有线或无线网络接口950,一个或一个以上输入输出接口940,和/或,一个或一个以上操作系统921,例如windows servertm,mac os xtm,unixtm,linuxtm,freebsdtm等等。
115.输入输出接口940可以用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备900的通信供应商提供的无线网络。在一个实例中,输入输出接口940包括一个网络适配器(network interface controller,nic),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,输入输出接口940可以为射频(radio frequency,rf)模块,其用于通过无线方式与互联网进行通讯。
116.本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备900还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
117.本技术的实施例还提供了一种计算机可读存储介质,存储介质可设置于电子设备之中以保存用于实现方法实施例中一种车辆控制代码自动生成方法相关的至少一条指令或至少一段程序,该至少一条指令或该至少一段程序由该处理器加载并执行以实现上述方法实施例提供的车辆控制代码自动生成方法。
118.可选地,在本实施例中,上述存储介质可以位于计算机网络的多个网络服务器中的至少一个网络服务器。可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
119.根据本技术的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实现方式中提供的方法。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献