面向汽车电子的嵌入式软件开发应用软件的研究与分析

2021-12-06 16:52朱全胜
装备维修技术 2022年3期
关键词:嵌入式软件软件开发

摘 要:当前我国的汽车电子技术研究领域相对不足,国内几乎70%的市场份额都属于国外的研究企业,甚至外资企业在发动机电控等核心领域形成了技术垄断,这对于我国汽车电子技术的发展是非常不利的。因此我国应当积极研发汽车电子软件开发技术,充分掌握自主知识产权,让我国的汽车电子技术行业得到有效的进步。

关键词:汽车电子;嵌入式软件;软件开发

随着我国汽车市场规模的扩大,汽车上的傳感器也越来越高多,信号处理也更加复杂,电控单元数据处理量也在成倍提升,这都促进着汽车电子技术的飞速发展。不过由于我国的汽车电子技术研发起步较晚,因此对于嵌入式软件的研发是我国汽车电子产业发展过程中最重要的工作之一。

1 汽车电子嵌入式软件开发应用软件的意义和趋势

汽车电子软件作为汽车电子技术的核心,同时也是技术里最强的一部分,而软件的质量也会对汽车电子产品的质量造成直接影响。不过当前我国大部分汽车电子开发软件程序员在汽车电子软件的开发过程中,依然会采用传统手打代码的模式,因此很容易产生效率慢、代码质量不足以及后期生产会产生大量的测试成本等弊端,这对于我国汽车电子技术产业的发展是非常不利的。

由于汽车电子软件的控制算法基本一致,因此为了确保汽车电子软件的可重复使用,车用操作系统目前有一个能够相对广泛接受的标准:OSEK/VDX。而利用模型以及代码自动生成的软件技术能够有效解决这一问题,首先这种方法能够确保代码的质量,同时也减轻了测试成本;其次这种方法能够让模型、代码以及代码生成报告间有一定的一致性;而且在通过模型中加入支持OSEK标准的模块能够提高软件的可复用性,而且也让软件的移植难度得到了有效的降低。

随着我国汽车电子嵌入式软件开发技术的深入研究,我们不难发现只靠软件组件本身的标准化很难满足实际的开发需求,因此开发的流程和所用的工具平台一样需要展开标准化。例如早在2003年,全球的汽车制造商、部件供应商、电子开发企业、半导体开发企业、软件系统公司联合建立了AUTOSAR组织,也就是汽车开放系统架构组织,该组织主要目标就是为汽车工业开发一个开放且标准化的软件架构,确保推动建立起汽车/电子架构的开放式标准,让这个标准能够成为汽车嵌入式应用功能管理的架构基础,并且让汽车电子产品、软件和元器件的互通性得到有效规范。

在AUTOSAR架构得到有效推广后,汽车的电子系统软件得到了有效的交换和更新,并且能够为对更加复杂的车辆电子、软件系统展开高效管理打好坚实的基础。而且AUTOSAR在能够保障产品和服务质量的基础上,也能够大幅度提升成本效率。如今更多的厂商都在致力于加入AUTOSAR组织,而且其开发的商品也不断以坚持符合AUTOSAR标准为基础,当前AUTOSAR已经成为了其次电子开发的核心标准,而未来也必然成为汽车电子软件开发的主要趋势。

2 汽车电子嵌入式软件开发应用软件的相关核心技术分析

2.1OSEK标准。在汽车制造业的发展过程中,一直对汽车电子控制应用软件的可移植性以及和不同厂商控制模块的可兼容性作为主要追求。早在1993年德国汽车工业界就联合推出了汽车电子开放式系统以及接口:OSEK标准,其目的就是为了在汽车上的分布控制单元提供一个开放结构的工业化标准。OSEK规范能够从实时操作系统、通信以及网络管理这三个方面对汽车电子控制软件的开发做出全面定义,采用在利用了OSEK标准之后,能够有效提升汽车电子软件产品的代码复用率,确保开发成本能够得到控制,大幅度缩减产品的开发周期。

2.2 Simulink模型定制机制。Simulink是一个基于模型设计的工具,其能够利用模型来完成对线性和非线性系统的建模,而且在实际的建模工作中,部分信号的处理算法相对复杂,若是直接利用Simulink的模型库模型展开建模非常困难,甚至还会出现建模失败的情况,因此Simulink为用户提供的S函数机制来确保用户能够对模型展开自定义。

Simulink运行M格式以及MEX格式的两种S函数,其次M格式的S函数能够通过M语言直接生产。而MEX格式的S函数则需要利用mex工具进行编译,例如C语言、C++等语言编译源都可以。

S函数会以一种非图形化的方法来和Simulink引擎展开交互,其机制以及模块库中的内置模块具有和Simulink交互机制一样的机制。S函数也具有固定的编写格式,因此Matlab也推荐了一些模板来让用户进行参考。S函数机制能够将Simulink框图简洁明了以及编程方式灵活的特点进行有效融合,让Simulink的功能得到了有效的扩展。

常用的S函数实现方式主要有五种:首先是利用S.Function建构器,利用图形化的形式来提供部分S函数的功能,非常适用于新手使用,而且能够屏蔽S函数和C语言之间的API。

其次是C语言实现方式,C语言提供了最大的可编程性,功能和算法能够直接放到S函数中实现,同时也可以利用S函数调用现场的C语言程序来实现算法,而且该模块的生成代码也可以利用嵌入的方法来展开定制。

第三则是Level.1 M语言和Level.2 M语言实现,其中Level.1 M语言只开放了部分M语言和S函数间交互的API,只能实现简单的模块功能;而Level.2 M语言则开放了更多M语言和S函数间的API,因此大多数情况下会利用Level.2 M语言来实现S函数。

2.3 RTW ECoder代码生成技术。RTW ECoder是对RTW产品的扩展,其专门用于嵌入式领域,能够增加针对复杂配置嵌入式系统中重要的软件工程工作,其能够从Simulink以及Stateflow模型中生产符合ANSI/ISO标准的C语言代码。

在对嵌入式软件进行开发的过程中,经常需要根据不同的处理器或者目标版来历于不同的开发环境,而且为了充分支持I/O设备,必须要针对不同硬件驱动的需求来展开开发。而这些嵌入式软件的开发目标能够针对特定的MCU或者特定的开发环境以及操作系统等等。

和Simulink一致,RTW ECoder本身能够提供很多嵌入式目标,同时也可以让用户对嵌入式目标进行自定义定制,其中一个嵌入式目标应当包括如下方面:首先是代码组建,能够指导以及支持模型生成代码的C语言源文件,其中也包括了应用组件和运行接口组件两个系统;其次是控制文件,主要用于在代码定制生成过程或者构建文件的过程,一般包括STF、TMF以及一些M语言的回调函数;最后则是目标偏好类,用于定义目标偏好类来存储该目标特定的一部分信息,像是交叉编译器的路径等等。

结语

总的来说,在对面向汽车电子系统软件的开发构架、建模以及代码自动生成工具以及开发平台进行不断研究后,我们可以发现增加针对配置复杂的嵌入式系统是非常重要的,这对于能够实现针对电子汽车软件的开发平台标准化,进而缩短汽车电子软件的开发周期以及减少开发成本,提高汽车电子软件的开发效率。

参考文献:

[1]冯天舒. 面向汽车电子的嵌入式软件开发应用软件的研究与分析[D].吉林大学,2012.

[2]董艳栋, 泛亚汽车电子生态化嵌入式软件开发平台. 上海市,泛亚汽车技术中心有限公司,2016-07-01.

作者简介:

朱全胜 (1994-10-),男,汉,籍贯:河北省 沧州市 学历:研究生,研究方向:linux设备驱动开发 嵌入式软件开发。

猜你喜欢
嵌入式软件软件开发
基于ARM7TDMI架构的嵌入式软件逆向工程分析方法
浅析嵌入式软件技术的现状与发展动向
基于模型检查的嵌入式软件构件化分析与验证
信息安全环境下的计算机软件开发研究
核电厂定期试验管理软件开发
FPGA软件开发过程中编码规范的作用
嵌入式软件在计算机软件开发过程中的运用
试论计算机嵌入式软件构件提取与组装技术