汽车控制系统的软件集成—学习小结如何实现?

汽车控制系统的软件集成---学习小结如何实现?_58汽车

软件集成在汽车控制系统中的应用是一个复杂而又关键的过程。随着车辆控制单元的复杂度提升,集成的概念应运而生。它源自IT行业,涉及将不同需求分块开发后糅合成新软件。集成分为代码类模块集成和应用层模型集成,前者关注代码配置、单元测试和任务调度,后者则多用于应用层架构如Autosar。这两种集成都需要在特定的集成环境下进行,而大公司通常基于eclipse平台进行个性化开发。理解这些集成类型对于掌握汽车控制系统的软件开发至关重要。汽车控制系统的软件集成是一个随着技术发展而变得日益重要的领域。它涉及到将不同部分的软件需求分块开发,然后再将这些部分合并成一个完整的系统。这个过程不仅需要考虑代码的集成,还要考虑应用层模型的集成,尤其是在使用如Autosar这样的架构时。集成环境的选择和工具的使用,如eclipse平台,对于实现有效的软件集成至关重要。通过这种方式,可以确保软件的不同部分能够协同工作,满足车辆控制系统的复杂需求。

软件集成这个概念我思索很久,说起来简单也很简单,要说难得话,也很难。就想用一些通俗的语言与思路去理解这个概念,下面我就讲一下自己的理解,希望对你的学习有帮助!

“集成”从何而来?

软件集成的概念其来源是IT行业,上位机的应用程序的开发,对于车辆控制系统来说,集成的这个概念是随着车辆控制单元的复杂度的提升,而衍生出来的概念,并以原来IT行业的标准,对其进行定义。以前车辆控制系统的代码也就几百行,所以没有集成的概念,而IT行业代码复杂程度太大,所以就有了协同开发,也就我们所说的集成。

“集成”定义及分类

集成,顾明思义就是将不同的需求,分块开发,然后再将开发过的板块进行糅合,生成新的软件。具体结构如下图所示,根据公司以及项目的不同,可能大家理解的集成有以下几种类型。

一类为代码类模块的集成,一类为应用层模型的集成。这两类的集成都在对应的集成环境下进行,不同的公司有不同的工具,其实codewarrior就可以理解为一个集成环境,目前我接触的大多数的大公司都是基于eclipse平台进行自己个性化的开发,比如利用Perl,Python,进行开发自己的编译指令,同时也可以嵌套一下QAC的检查。下面就简单对两个概念进行介绍。

代码类模块的集成

若此软件是基于代码,可以理解为代码的集成,对于代码的集成需要考虑以下几点:

一个版本的软件,通过不同的配置可以应用于不同的客户,所以在集成的时候,要考虑这个模块的配置是哪些,系统的配置变量是否符合设计的初衷,若不符合,需要在软件系统中,重新定义,若缺少,也需要进行增加。

当完成一个模块的代码编写的时候,进行单元测试,大多对于接口的变量定义都是写在一个专有的.c或者.h内部,进行单元测试,当进行集成的时候,需要考虑这些输入变量,是否是系统中其它模块的输出,若不是,需要进行分析原因

每一个代码模块包含不同执行周期的task,每一个task都需要在整体软件系统的osscheduling里面定义,需要进行考虑。

对这个概念也可以理解为一个盖房子的过程,如下图所示,将不同的模块糅合到一起

应用层模型的集成

此类集成多用于应用层,尤其是Autosar架构,OSEK架构等,当一个软件不是有一个公司完成的情况下尤其适用。例如当前很多国产厂商做控制单元,都是买的外国公司的底层及OS层,自己开发应用层,这样开发的应用层,大多都是基于模型的开发。每个公司仅仅关注自己的算法就可以,然后按照Autosar的架构进行打包,主机厂进行各个软件包进行集成。

对这个集成的描述,大家可以理解为盖房子。

文章描述的总结如下:

对于这个问题,我也在百度58汽车上提问了,而且也有几位大神回复,感兴趣的可以参考!

若有啥问题,随时与我联系,相互学习!也望大神不吝赐教!

打个广告,感觉不错,别忘了点赞,对我与我的专栏加关注呀!哈哈哈哈!

以上内容由58汽车提供。如有任何买车、用车、养车、玩车相关问题,欢迎在下方表单填写您的信息,我们将第一时间与您联系,为您提供快捷、实用、全面的解决方案。

原创文章,作者:58汽车,如若转载,请注明出处:https://car.58.com/7603544/