CN117331565B - 软件生成方法、装置、计算机设备及存储介质 - Google Patents
软件生成方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN117331565B CN117331565B CN202311302651.1A CN202311302651A CN117331565B CN 117331565 B CN117331565 B CN 117331565B CN 202311302651 A CN202311302651 A CN 202311302651A CN 117331565 B CN117331565 B CN 117331565B
- Authority
- CN
- China
- Prior art keywords
- software
- application software
- layer
- verification
- basic
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000012795 verification Methods 0.000 claims abstract description 79
- 230000015654 memory Effects 0.000 claims description 29
- 230000001419 dependent effect Effects 0.000 claims description 19
- 238000013507 mapping Methods 0.000 claims description 10
- 230000010354 integration Effects 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 5
- 238000011161 development Methods 0.000 abstract description 26
- 238000013461 design Methods 0.000 abstract description 22
- 238000004891 communication Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 16
- 230000008569 process Effects 0.000 description 8
- 238000007726 management method Methods 0.000 description 7
- 239000013256 coordination polymer Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 3
- 230000006978 adaptation Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000003745 diagnosis Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000008571 general function Effects 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000005059 dormancy Effects 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
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
- 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)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及验证技术领域,公开了软件生成方法、装置、设备及存储介质,该方法包括:在第一验证系统中构建应用软件层的快速原型系统,第一验证系统用以生成应用软件层;在快速原型系统中导入应用软件层的模型描述文件;基于模型描述文件生成应用软件层;在第二验证系统中配置基础软件;将应用软件层中的应用软件与基础软件进行集成,得到目标软件。通过实施本发明,无需等待基础软件的最小系统,直接在快速原型系统已有环境中开发,多个工程师可以不受许可限制,并行开发,极大提升开发效率;编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及软件生成方法、装置、设备及存储介质。
背景技术
车载软件包括基础软件层BSW和应用软件层ASW,基础软件层作为嵌入式系统的基础软件层,为系统提供了通用的功能和服务,例如任务管理、内存管理、定时器管理、中断处理、通信协议堆栈等。基础软件层通过封装底层硬件和提供统一的接口,为应用软件层提供了更高级别的开发接口和功能调用。应用软件层作为嵌入式系统的应用软件层,通常由用户自己或第三方开发,实现具体的业务逻辑。应用软件层是系统的最顶层,负责业务逻辑的实现和上层应用的交互。应用层软件应用软件层通常包含十几甚至上百个应用软件组成,通常需要数位甚至数十位软件工程师配合开发。一个设计工具的使用许可通常被多个开发工程师串行分时复用,无法并行设计应用软件,极大增加总开发时间。
目前,常用的设计工具为AutoSAR CP,而应用软件开发验证依赖AutoSAR CP设计基础软件层最小系统需要首先配置好,再做编码开发,最终再将两者进行集成,由于AutoSAR CP中基础软件层最小系统的配置是需要等待的,对于开发工程师而言,无法并行设计应用软件,且单个最小系统的配置过程时间较长,极大影响了开发效率。
发明内容
有鉴于此,本发明提供了一种软件生成方法、装置、设备及存储介质,以解决由于应用软件开发验证过程中,一个设计工具的使用许可通常被多个开发工程师串行分时复用,且基础软件层最小系统的配置是需要等待的,对于开发工程师而言,无法并行设计应用软件,同时单个最小系统的配置过程时间较长,极大影响了开发效率的问题。
第一方面,本发明提供了一种软件生成方法,所述方法包括:在第一验证系统中构建应用软件层的快速原型系统,所述第一验证系统用以生成应用软件层;在所述快速原型系统中导入所述应用软件层的模型描述文件;基于所述模型描述文件生成应用软件层;在第二验证系统中配置基础软件;将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件。
本发明实施例提供的软件生成方法,首先,在第一验证系统中构建应用软件层的快速原型系统,在所述快速原型系统中导入所述应用软件层的模型描述文件;基于所述模型描述文件生成应用软件层,无需等待基础软件的最小系统,直接在快速原型系统已有环境中开发,多个工程师可以不受许可限制,并行开发,极大提升开发效率;其次,将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件,编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
在一种可选的实施方式中,所述在第二验证系统中配置基础软件,包括:在第二验证系统中搭建基础软件的最小系统;基于所述最小系统,在第二验证系统中配置验证基础软件的完整系统;在所述完整系统配置所述基础软件。
本发明实施例提供的软件生成方法,通过在第二验证系统中搭建基础软件的最小系统,最小系统只包含必要的组件和功能,不包含多余的软件和服务,因此占用的系统资源更少。这可以提高系统的运行效率,并减少对计算资源的需求。
在一种可选的实施方式中,所述基于所述模型描述生成应用软件层,包括:基于所述模型描述文件生成实时运行环境;基于所述模型描述文件进行编译,得到应用软件;基于所述实时运行环境和所述应用软件,生成应用软件层。
本发明实施例提供的软件生成方法,通过自动生成的代码模板,开发人员可以快速生成项目的框架结构、函数和类等代码组织结构,从而加速软件开发的进程。
在一种可选的实施方式中,在所述在第一验证系统中构建应用软件层的快速原型系统之后,所述方法还包括:在所述快速原型系统中配置依赖资源,所述依赖资源包括应用层依赖的总线信号和存储数据。
在一种可选的实施方式中,在所述基于所述模型描述文件生成应用软件层之后,所述方法还包括:基于所述依赖资源将所述应用软件层发送至目标调试硬件,通过所述目标调试硬件对所述应用软件层进行调试;若接收到所述目标调试硬件反馈的调试通过结果,执行将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件的步骤。
在一种可选的实施方式中,在所述在第一验证系统中构建应用软件层的快速原型系统之后,所述方法还包括:在所述快速原型系统中映射任务资源和操作系统资源,将所述应用软件的可运行实体、初始化类型、周期类型和操作系统任务进行映射。
在一种可选的实施方式中,所述将所述应用软件层中的所述应用软件与所述基础软件进行集成,得到目标软件,包括:获取所述实时运行环境;基于所述实时运行环境,得到所述应用软件与所述基础软件之间的连接关系;基于所述连接关系对所述应用软件与所述基础软件进行集成,得到目标软件。
本发明实施例提供的软件生成方法,通过基于所述连接关系对所述应用软件与所述基础软件进行集成,得到目标软件,编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
第二方面,本发明提供了一种软件生成装置,所述装置包括:
构建模块,用于在第一验证系统中构建应用软件层的快速原型系统,所述第一验证系统用以生成应用软件层;导入模块,用于在所述快速原型系统中导入所述应用软件层的模型描述文件;生成模块,用于基于所述模型描述文件生成应用软件层;配置模块,用于在第二验证系统中配置基础软件;集成模块,用于将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件。
第三方面,本发明提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的软件生成方法。
第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的软件生成方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的软件生成方法的流程示意图;
图2是根据本发明实施例的第一验证系统结构示意图;
图3是根据本发明实施例的另一软件生成方法的流程示意图;
图4是根据本发明实施例的软件生成装置的结构框图;
图5是本发明实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
车载软件包括基础软件层BSW和应用软件层ASW,基础软件层作为嵌入式系统的基础软件层,为系统提供了通用的功能和服务,例如任务管理、内存管理、定时器管理、中断处理、通信协议堆栈等。基础软件层通过封装底层硬件和提供统一的接口,为应用软件层提供了更高级别的开发接口和功能调用。应用软件层作为嵌入式系统的应用软件层,通常由用户自己或第三方开发,实现具体的业务逻辑。应用软件层是系统的最顶层,负责业务逻辑的实现和上层应用的交互。应用层软件应用软件层通常包含十几甚至上百个应用软件组成,通常需要数位甚至数十位软件工程师配合开发。一个设计工具的使用许可通常被多个开发工程师串行分时复用,无法并行设计应用软件,极大增加总开发时间。
目前,常用的设计工具为AutoSAR CP,而应用软件开发验证依赖AutoSAR CP设计基础软件层最小系统需要首先配置好,再做编码开发,最终再将两者进行集成,由于AutoSAR CP中基础软件层最小系统的配置是需要等待的,对于开发工程师而言,无法并行设计应用软件,且单个最小系统的配置过程时间较长,极大影响了开发效率
本发明实施例提供的软件生成方法,首先,在第一验证系统中构建应用软件层的快速原型系统,在所述快速原型系统中导入所述应用软件层的模型描述文件;基于所述模型描述文件生成应用软件层,无需等待基础软件的最小系统,直接在快速原型系统已有环境中开发,多个工程师可以不受许可限制,并行开发,极大提升开发效率;其次,将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件,通过编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
根据本发明实施例,提供了一种软件生成方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种软件生成方法,图1是根据本发明实施例的软件生成方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,在第一验证系统中构建应用软件层的快速原型系统,第一验证系统用以生成应用软件层。
具体地,如图2所示,第一验证系统包括:接口适配层模块,用于进行接口转换;应用软件层模块,用于存放应用软件;基础软件接口模块,用于支持基础软件与应用软件集成;实时运行环境适配层,用于支撑符合第二验证系统标准的应用软件;第二验证系统接口层,用于连接第二验证系统;通信服务模块,用于支持汽车电子开发的通信协议栈;存储服务模块,用于支持汽车电子开发的存储服务栈;诊断服务模块,用于支持汽车电子开发的诊断服务栈;系统服务及复杂驱动模块,用于支持系统服务及复杂驱动;硬件驱动接口模块,用于将应用软件层发送至目标调试硬件。快速原型系统是一种迅速构建和测试概念验证的软件开发方法。它可以帮助开发工程师在短时间内创建一个初步的、可演示的软件原型,以便开发工程师能够提供反馈并验证概念的可行性。
步骤S102,在快速原型系统中导入应用软件层的模型描述文件。
具体地,在软件开发中,模型描述文件(ARXML文件,AUTOSAR XML)是一种用于描述汽车电子系统的标准文件格式,它是AUTOSAR(Automotive Open System Architecture)开放系统架构的一部分,用于定义汽车电子系统的软件和硬件构建。模型描述文件主要用于描述:
(1)软件组件,ARXML文件定义了汽车电子系统的软件组件,包括ECU(ElectronicControl Unit,电控单元)以及各种应用软件、服务与模块等。它描述了软件组件的功能、接口、作用域等信息。
(2)通信与信号,ARXML文件描述了不同软件组件之间的通信和信号传输方式。它定义了消息、信号、端口和接口等关键概念,以及它们之间的连接关系和通信规约。
(3)数据类型与参数,ARXML文件定义了用于描述数据的类型和参数。它包括了数据类型的定义、取值范围、单位、解析规则等,以及参数的配置和传递方式。
(4)硬件配置,ARXML文件还可以描述汽车电子系统的硬件配置信息,包括ECU的硬件特性、电路连接和引脚映射等。模型描述文件由汽车机厂架构设计团队通过EEA等工具设计释放,定义了AutoSAR SWC应用软件架构设计的如Runnable(可运行实体)、触发事件、接口定义、信号映射关系等,由供应商软件工程师进行编码实现。
步骤S103,基于模型描述文件生成应用软件层。
具体地,根据模型描述文件中的信息,设计应用软件的架构,确定应用的模块划分、数据结构设计、算法选择等,在这个阶段,确定如何将模型的属性和关系映射到应用软件的数据结构和逻辑处理方式。为了自动生成应用软件层的代码,编写代码生成器工具,代码生成器根据模型描述文件中定义的规则和约束,生成应用软件的源代码,使用编写好的代码生成器,根据模型描述文件生成应用软件层的代码。这包括生成实体类、数据访问层、业务逻辑层等各个模块的代码。
步骤S104,在第二验证系统中配置基础软件。
具体地,基础软件通常包括底层操作系统、通信协议栈、驱动程序等。这些软件提供了整车软件运行所需的基本功能和支持,第二验证系统为用于生成基础软件的系统,例如AUTOSAR。
步骤S105,将应用软件层中的应用软件与基础软件进行集成,得到目标软件。
具体地,将应用软件层中的应用软件与基础软件进行集成是生成目标软件的重要步骤,首先需要确定应用软件与基础软件之间的接口和通信协议。这包括定义数据传输格式、消息格式、API接口等。通过定义清晰的接口和通信协议,确保应用软件能够与基础软件进行有效的交互和通信。将开发完成的应用软件模块与基础软件进行集成,将应用软件模块与底层操作系统、通信协议栈、驱动程序等基础软件进行连接和调用。通过正确的接口使用和依赖关系管理,将应用软件与基础软件进行有效整合,以实现整车软件的功能。在一些实施例的可选方式中,在集成完成后,对目标软件进行功能验证和测试,验证应用软件和基础软件的协同工作是否符合要求,以及整车软件的功能是否满足设计需求。通过运行实际场景和测试用例,验证目标软件在各种情况下的正确性和稳定性。
本发明实施例提供的软件生成方法,首先,在第一验证系统中构建应用软件层的快速原型系统,在快速原型系统中导入应用软件层的模型描述文件;基于模型描述文件生成应用软件层,无需等待基础软件的最小系统,直接在快速原型系统已有环境中开发,多个工程师可以不受许可限制,并行开发,极大提升开发效率;其次,将应用软件层中的应用软件与基础软件进行集成,得到目标软件,通过编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
在本实施例中提供了一种软件生成方法,图3是根据本发明实施例的软件生成方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,在第一验证系统中构建应用软件层的快速原型系统,第一验证系统用以生成应用软件层。详细请参见图1所示实施例的步骤S101,在此不再赘述。
步骤S302,在快速原型系统中导入应用软件层的模型描述文件。详细请参见图1所示实施例的步骤S102,在此不再赘述。
步骤S303,基于模型描述文件生成应用软件层。
具体地,步骤S303包括:
步骤S3031,基于所述模型描述文件生成实时运行环境。
具体地,所述模型描述文件包括实时运行环境描述文件和应用软件描述文件,实时运行环境(Real-Time Execution Environment,RTE)是一种用于支持实时应用程序的软件执行环境,提供了各个应用软件之间的连接关系,以及应用软件和基础软件之间的连接关系。通过解析模型描述文件,根据解析得到的模型信息,如:数据类型定义和应用软件调用关系等。可以使用代码模板引擎或代码生成工具来生成代码模板。代码模板定义了代码生成的结构和逻辑,其中包含了模型所需的类、方法、属性等代码片段。
步骤S3032,基于所述模型描述文件进行编译,得到应用软件。
具体地,应用软件模块是实现具体功能的核心部分,它可以调用基础软件提供的功能接口,实现整车的各项功能需求。通过将模型信息填充到相应的代码模板中,可以生成具体的代码文件。响应于开放架构工程师基于应用软件描述文件发出的编译指令,进行编译,得到编译好的应用软件的代码。
步骤S3033,基于实时运行环境和应用软件,生成应用软件层。
具体地,将应用软件部署到目标实时运行环境中,将应用程序烧录到硬件设备上,或在实时框架中进行配置和安装。一旦部署完成,应用软件可以在实时运行环境中运行,并按照设计和实现的功能进行操作和交互。
本发明实施例提供的软件生成方法,通过自动生成的代码模板,开发人员可以快速生成项目的框架结构、函数和类等代码组织结构,从而加速软件开发的进程。
步骤S304,在第二验证系统中配置基础软件。
具体地,步骤S304包括:
步骤S3041,在第二验证系统中搭建基础软件的最小系统。
具体地,最小系统是基础软件的最基本形态,通常包括必要的功能模块和服务,可以作为后续应用开发的基础,根据目标平台的要求和应用场景,进行最小系统设计,包括确定基础软件的组成部分和功能模块,例如文件系统、网络协议栈、驱动程序等。同时,也需要考虑系统的可扩展性和可定制性,确保能够满足后续的应用需求。
步骤S3042,基于最小系统,在第二验证系统中配置验证基础软件的完整系统。
具体地,根据验证基础软件的要求,在第二验证系统中选择适当的软件组件和工具。根据需求和所选的软件,进行系统设计与集成。
步骤S3043,在完整系统配置基础软件。
具体地,在完整系统配置基础软件,基于架构设计,进行基础软件的实现。基础软件通常包括底层操作系统、通信协议栈、驱动程序等。这些软件提供了整车软件运行所需的基本功能和支持。实现基础软件可以采用编程语言、开发工具和技术栈等。
本发明实施例提供的软件生成方法,通过在第二验证系统中搭建基础软件的最小系统,最小系统只包含必要的组件和功能,不包含多余的软件和服务,因此占用的系统资源更少。这可以提高系统的运行效率,并减少对计算资源的需求。
步骤S305,将应用软件层中的应用软件与基础软件进行集成,得到目标软件。
具体地,步骤S305包括:
步骤S3051,获取实时运行环境。
具体地,实时运行环境是在步骤S303中得到的。
步骤S3052,基于实时运行环境,得到应用软件与基础软件之间的连接关系。
具体地,实时运行环境提供了各个应用软件之间的连接关系,以及应用软件和基础软件之间的连接关系。
步骤S3053,基于连接关系对应用软件与基础软件进行集成,得到目标软件。
具体地,基于实时运行环境中的连接关系对应用软件与基础软件进行集成,得到目标软件。
本发明实施例提供的软件生成方法,通过基于连接关系对应用软件与基础软件进行集成,得到目标软件,编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
在一些实施例的可选方式中,在在第一验证系统中构建应用软件层的快速原型系统之后,方法还包括:在快速原型系统中配置依赖资源,依赖资源包括应用层依赖的总线信号和存储数据。
具体地,在快速原型系统中添加依赖资源,包括应用层开依赖的总线信号、数据存储等。快速原型系统可以提供CAN/CANFD/LIN等通信接口快速配置,导入目标项目的CAN/CANFD总线数据库DBC文件,LIN总线数据库LDF文件,生成SWC中用到的信号输入输出,以提供真实的硬件验证环境;快速原型系统提供数据存储接口,可以模拟上下电、休眠唤醒后SWC读写持久化数据的要求。
在一些实施例的可选方式中,在步骤S303,基于模型描述文件生成应用软件层之后,该方法还包括:基于依赖资源将应用软件层发送至目标调试硬件,通过目标调试硬件对应用软件层进行调试;若接收到目标调试硬件反馈的调试通过结果,执行将应用软件层中的应用软件与基础软件进行集成,得到目标软件的步骤。
具体地,准备一台原型硬件,其中包含与目标设备相对应的处理器、内存和其他必要的硬件组件,基于依赖资源将应用软件层下载到原型硬件进行调试,通过在代码中设置断点,在原型硬件上暂停应用软件的执行,并逐步执行代码以调试和分析应用程序的行为。
在一些实施例的可选方式中,在步骤S301,第一验证系统中构建应用软件层的快速原型系统之后,该方法还包括:在快速原型系统中映射任务资源和操作系统资源,将应用软件的可运行实体、初始化类型、周期类型和操作系统任务进行映射。
具体地,在快速原型中映射任务(Task)和(OS)资源的主要工作是提供一个工具,把各个SWC(应用软件)的Runnable(可运行实体)、触发事件(初始化类型及周期类型)和FreeRTOS Task(操作系统任务)进行映射,以生成符合RTE标准的Init初始化、Cyclic周期型任务。
在本实施例中还提供了一种软件生成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种软件生成装置,如图4所示,包括:
构建模块401,用于在第一验证系统中构建应用软件层的快速原型系统,第一验证系统用以生成应用软件层;
导入模块402,用于在快速原型系统中导入应用软件层的模型描述文件;
生成模块403,用于基于模型描述文件生成应用软件层;
配置模块404,用于在第二验证系统中配置基础软件;
集成模块405,用于将应用软件层中的应用软件与基础软件进行集成,得到目标软件。
本发明实施例提供的软件生成装置,首先,在第一验证系统中构建应用软件层的快速原型系统,在快速原型系统中导入应用软件层的模型描述文件;基于模型描述文件生成应用软件层,无需等待基础软件的最小系统,直接在快速原型系统已有环境中开发,多个工程师可以不受许可限制,并行开发,极大提升开发效率;其次,将应用软件层中的应用软件与基础软件进行集成,得到目标软件,编码完成后可以直接在快速验证原型硬件上验证,无效等待目标硬件设计,进一步提高了软件生成的效率。
在一些可选的实施方式中,配置模块404包括:
搭建单元,用于在第二验证系统中搭建基础软件的最小系统。
完整系统配置单元,用于基于最小系统,在第二验证系统中配置验证基础软件的完整系统。
基础软件配置单元,用于在完整系统配置基础软件。
在一些可选的实施方式中,生成模块403包括:
实时运行环境生成单元,用于基于模型描述文件生成实时运行环境。
应用软件生成单元,用于基于所述模型描述文件进行编译,得到应用软件。
应用软件层生成单元,用于基于所述实时运行环境和所述应用软件,生成应用软件层。
在一些可选的实施方式中,软件生成装置包括:
依赖资源配置模块,用于在快速原型系统中配置依赖资源,依赖资源包括应用层依赖的总线信号和存储数据。
在一些可选的实施方式中,软件生成装置包括:
调试模块,用于基于依赖资源将应用软件层发送至目标调试硬件,通过目标调试硬件对应用软件层进行调试。
集成模块,用于若接收到目标调试硬件反馈的调试通过结果,执行将应用软件层中的应用软件与基础软件进行集成,得到目标软件的步骤。
在一些可选的实施方式中,软件生成装置包括:
映射模块,用于在快速原型系统中映射任务资源和操作系统资源,将应用软件的可运行实体、初始化类型、周期类型和操作系统任务进行映射。
在一些可选的实施方式中,集成模块405包括:
实时运行环境获取单元,用于获取实时运行环境。
连接关系获取单元,用于基于实时运行环境,得到应用软件与基础软件之间的连接关系。
目标软件生产单元,用于基于连接关系对应用软件与基础软件进行集成,得到目标软件。
上述各个模块和单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的验证装置是以功能单元的形式来呈现,这里的单元是指ASIC(Application Specific Integrated Circuit,专用集成电路)电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本发明实施例还提供一种计算机设备,具有上述图5所示的验证装置。
请参阅图5,图5是本发明可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,存储器20存储有可由至少一个处理器10执行的指令,以使至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本发明实施例还提供了一种计算机可读存储介质,上述根据本发明实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的第一存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (7)
1.一种软件生成方法,其特征在于,所述方法包括:
在第一验证系统中构建应用软件层的快速原型系统,所述第一验证系统用以生成应用软件层;
在所述快速原型系统中导入所述应用软件层的模型描述文件;
基于所述模型描述文件生成应用软件层;
在第二验证系统中配置基础软件;
将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件;
所述在第二验证系统中配置基础软件,包括:
在第二验证系统中搭建基础软件的最小系统;
基于所述最小系统,在第二验证系统中配置验证基础软件的完整系统;
在所述完整系统配置所述基础软件;
所述基于所述模型描述文件生成应用软件层,包括:
基于所述模型描述文件生成实时运行环境;
基于所述模型描述文件进行编译,得到应用软件;
基于所述实时运行环境和所述应用软件,生成应用软件层;
所述将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件,包括:
获取所述实时运行环境;
基于所述实时运行环境,得到所述应用软件与所述基础软件之间的连接关系;
基于所述连接关系对所述应用软件与所述基础软件进行集成,得到目标软件。
2.根据权利要求1所述的方法,其特征在于,在所述在第一验证系统中构建应用软件层的快速原型系统之后,所述方法还包括:
在所述快速原型系统中配置依赖资源,所述依赖资源包括应用层依赖的总线信号和存储数据。
3.根据权利要求2所述的方法,其特征在于,在所述基于所述模型描述文件生成应用软件层之后,所述方法还包括:
基于所述依赖资源将所述应用软件层发送至目标调试硬件,通过所述目标调试硬件对所述应用软件层进行调试;
若接收到所述目标调试硬件反馈的调试通过结果,执行将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件的步骤。
4.根据权利要求1所述的方法,其特征在于,在所述在第一验证系统中构建应用软件层的快速原型系统之后,所述方法还包括:
在所述快速原型系统中映射任务资源和操作系统资源,将所述应用软件的可运行实体、初始化类型、周期类型和操作系统任务进行映射。
5.一种软件生成装置,其特征在于,所述装置包括:
构建模块,用于在第一验证系统中构建应用软件层的快速原型系统,所述第一验证系统用以生成应用软件层;
导入模块,用于在所述快速原型系统中导入所述应用软件层的模型描述文件;
生成模块,用于基于所述模型描述文件生成应用软件层;
配置模块,用于在第二验证系统中配置基础软件;
集成模块,用于将所述应用软件层中的应用软件与所述基础软件进行集成,得到目标软件;
配置模块包括:搭建单元,用于在第二验证系统中搭建基础软件的最小系统;完整系统配置单元,用于基于最小系统,在第二验证系统中配置验证基础软件的完整系统;基础软件配置单元,用于在完整系统配置基础软件;
生成模块包括:实时运行环境生成单元,用于基于模型描述文件生成实时运行环境;应用软件生成单元,用于基于所述模型描述文件进行编译,得到应用软件;应用软件层生成单元,用于基于所述实时运行环境和所述应用软件,生成应用软件层;
集成模块包括:实时运行环境获取单元,用于获取实时运行环境;连接关系获取单元,用于基于实时运行环境,得到应用软件与基础软件之间的连接关系;目标软件生产单元,用于基于连接关系对应用软件与基础软件进行集成,得到目标软件。
6.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至4中任一项所述的软件生成方法。
7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至4中任一项所述的软件生成方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311302651.1A CN117331565B (zh) | 2023-10-09 | 2023-10-09 | 软件生成方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311302651.1A CN117331565B (zh) | 2023-10-09 | 2023-10-09 | 软件生成方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117331565A CN117331565A (zh) | 2024-01-02 |
CN117331565B true CN117331565B (zh) | 2024-05-28 |
Family
ID=89294913
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311302651.1A Active CN117331565B (zh) | 2023-10-09 | 2023-10-09 | 软件生成方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117331565B (zh) |
Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375731A (zh) * | 2010-08-23 | 2012-03-14 | 融建信息技术(厦门)有限公司 | 一种免编码集成应用软件平台系统 |
CN103543992A (zh) * | 2012-07-11 | 2014-01-29 | 神州数码信息系统有限公司 | 一种面向服务的软件构建方法 |
CN103677835A (zh) * | 2013-12-16 | 2014-03-26 | 北京经纬恒润科技有限公司 | 软件集成方法及系统 |
CN108345258A (zh) * | 2018-05-10 | 2018-07-31 | 河南机电职业学院 | 一种基于模型设计的整车控制器 |
CN109799971A (zh) * | 2018-12-07 | 2019-05-24 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
CN111399816A (zh) * | 2020-03-12 | 2020-07-10 | 华大半导体有限公司 | 汽车ecu程序文件生成方法及系统、存储介质及终端 |
KR20210029327A (ko) * | 2019-09-05 | 2021-03-16 | 현대위아 주식회사 | 오토사 기반 어플리케이션 소프트웨어 컴포넌트 |
CN113076115A (zh) * | 2021-04-21 | 2021-07-06 | 扬州万方电子技术有限责任公司 | 基于国产平台的基础软件封装方法 |
CN114527728A (zh) * | 2022-01-28 | 2022-05-24 | 哈尔滨工业大学 | 基于autosar的电机控制器软件架构 |
CN114840191A (zh) * | 2022-04-12 | 2022-08-02 | 阿尔特汽车技术股份有限公司 | 软件代码自动生成方法、装置、设备及可读存储介质 |
CN115098072A (zh) * | 2022-06-22 | 2022-09-23 | 浙江极氪智能科技有限公司 | 一种用于车辆的新型软件架构 |
CN115167343A (zh) * | 2022-06-24 | 2022-10-11 | 浙江极氪智能科技有限公司 | 一种故障代码(dtc)存储与回读的优化方法 |
EP4092532A1 (en) * | 2021-05-17 | 2022-11-23 | Bayerische Motoren Werke Aktiengesellschaft | Generating a timestamp at a control unit |
CN115544604A (zh) * | 2022-10-26 | 2022-12-30 | 埃诺威(苏州)新能源科技有限公司 | 应用软件层模型的生成方法、生成装置与电子设备 |
CN116225418A (zh) * | 2022-12-30 | 2023-06-06 | 潍柴动力股份有限公司 | 一种汽车控制器软件快速开发系统及方法 |
CN116737117A (zh) * | 2023-05-31 | 2023-09-12 | 上汽通用汽车有限公司 | 基于Autosar架构的模型开发方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040163078A1 (en) * | 2003-02-13 | 2004-08-19 | Correa Colt R. | Method for rapidly prototyping, testing and verifying application software |
-
2023
- 2023-10-09 CN CN202311302651.1A patent/CN117331565B/zh active Active
Patent Citations (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102375731A (zh) * | 2010-08-23 | 2012-03-14 | 融建信息技术(厦门)有限公司 | 一种免编码集成应用软件平台系统 |
CN103543992A (zh) * | 2012-07-11 | 2014-01-29 | 神州数码信息系统有限公司 | 一种面向服务的软件构建方法 |
CN103677835A (zh) * | 2013-12-16 | 2014-03-26 | 北京经纬恒润科技有限公司 | 软件集成方法及系统 |
CN108345258A (zh) * | 2018-05-10 | 2018-07-31 | 河南机电职业学院 | 一种基于模型设计的整车控制器 |
CN109799971A (zh) * | 2018-12-07 | 2019-05-24 | 陕西法士特齿轮有限责任公司 | 一种文件生成装置和方法 |
KR20210029327A (ko) * | 2019-09-05 | 2021-03-16 | 현대위아 주식회사 | 오토사 기반 어플리케이션 소프트웨어 컴포넌트 |
CN111399816A (zh) * | 2020-03-12 | 2020-07-10 | 华大半导体有限公司 | 汽车ecu程序文件生成方法及系统、存储介质及终端 |
CN113076115A (zh) * | 2021-04-21 | 2021-07-06 | 扬州万方电子技术有限责任公司 | 基于国产平台的基础软件封装方法 |
EP4092532A1 (en) * | 2021-05-17 | 2022-11-23 | Bayerische Motoren Werke Aktiengesellschaft | Generating a timestamp at a control unit |
CN114527728A (zh) * | 2022-01-28 | 2022-05-24 | 哈尔滨工业大学 | 基于autosar的电机控制器软件架构 |
CN114840191A (zh) * | 2022-04-12 | 2022-08-02 | 阿尔特汽车技术股份有限公司 | 软件代码自动生成方法、装置、设备及可读存储介质 |
CN115098072A (zh) * | 2022-06-22 | 2022-09-23 | 浙江极氪智能科技有限公司 | 一种用于车辆的新型软件架构 |
CN115167343A (zh) * | 2022-06-24 | 2022-10-11 | 浙江极氪智能科技有限公司 | 一种故障代码(dtc)存储与回读的优化方法 |
CN115544604A (zh) * | 2022-10-26 | 2022-12-30 | 埃诺威(苏州)新能源科技有限公司 | 应用软件层模型的生成方法、生成装置与电子设备 |
CN116225418A (zh) * | 2022-12-30 | 2023-06-06 | 潍柴动力股份有限公司 | 一种汽车控制器软件快速开发系统及方法 |
CN116737117A (zh) * | 2023-05-31 | 2023-09-12 | 上汽通用汽车有限公司 | 基于Autosar架构的模型开发方法 |
Non-Patent Citations (3)
Title |
---|
"汽车电子系统级工具链的研究与实现";袁光龙;《中国优秀硕士学位论文全文数据库信息科技辑》;20160315;全文 * |
"AUTOSAR Based Dual Core Partitioning for Power Train Application of BMS";Jyothy Jayan;《2019 IEEE International Conference on Intelligent Techniques in Control, Optimization and Signal Processing (INCOS)》;20200109;全文 * |
基于ASPICE流程标准的车载电控单元正向开发研究;曾备;;汽车实用技术;20200715(第13期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117331565A (zh) | 2024-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106940428B (zh) | 芯片验证方法、装置及系统 | |
Rumpe | Agile Modeling with the UML | |
KR20210149045A (ko) | 인공 지능 칩 검증 | |
CN109189396B (zh) | 智能合约引擎组件、运行方法及存储介质 | |
US7194726B2 (en) | Method for automatically decomposing dynamic system models into submodels | |
US20230153158A1 (en) | Method, apparatus, system, and storage medium for performing eda task | |
US20130103379A1 (en) | Apparatus and method for verifying interoperability between application software and autosar service | |
KR101056682B1 (ko) | 컴포넌트 기반의 무기체계 시뮬레이션 시스템 및 시뮬레이션 방법 | |
Apvrille et al. | Prototyping an embedded automotive system from its UML/SysML models | |
KR20130138468A (ko) | 응용 소프트웨어와 autosar 서비스를 연결하기 위한 장치 및 방법 | |
CN114239453A (zh) | 仿真验证平台构建方法、仿真验证方法、装置及设备 | |
CN116069648A (zh) | 一种软件测试方法、系统、设备以及存储介质 | |
CN116737117A (zh) | 基于Autosar架构的模型开发方法 | |
CN111782207A (zh) | 任务流代码生成方法、装置、设备及存储介质 | |
CN113238739A (zh) | 一种插件开发和数据获取方法、装置、电子设备及介质 | |
CN117331565B (zh) | 软件生成方法、装置、计算机设备及存储介质 | |
Di Natale et al. | A Model-based approach for the synthesis of software to firmware adapters for use with automatically generated components | |
CN117034821A (zh) | 用于芯片设计前端仿真验证的回归验证方法及介质 | |
CN116521217A (zh) | 一种基于autosar工具快速配置bsw的方法、系统及储存介质 | |
CN113254158B (zh) | 一种深度学习系统的部署方法和装置 | |
CN108874509A (zh) | 一种精简的虚拟器件生成和部署方法 | |
KR20130043561A (ko) | 응용 소프트웨어와 autosar 서비스의 연동을 검증하기 위한 장치 및 그 방법 | |
Dajsuren | Defining Architecture Framework for Automotive Systems | |
US20210141710A1 (en) | Development support device | |
CN111045740A (zh) | 一种基于usbcan的mcu软件参数标定方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |