浅谈汽车控制器系统和应用软件开发工具

发布时间:2023-05-05  

本文介绍下了解到的汽车控制器开发的工具链,本文侧重于于系统和应用软件开发两个方面的工具。


1 需求管理

需求工具接触到的有DOORS, Polarion, and PTC Integrity,都是面向大型工程项目的需求管理工具,虽然它们都有类似的功能,但是它们也有一些显著的差异。


DOORS:DOORS是IBM开发的需求管理工具,特别强调需求的一致性和完整性。它支持多维数据结构,可以方便地组织和管理大量需求信息。


Polarion:Polarion是一款由Siemens开发的需求管理工具,特别强调需求的可视化和可操作性。它提供了一系列图形和表格,方便用户理解和访问需求信息。


PTC Integrity:PTC Integrity是PTC公司开发的需求管理工具,特别强调需求的协作性。它支持多用户协作,团队成员可以共享信息,协作完成需求管理任务。


总的来说,选择哪款需求管理工具取决于您的需求和项目的需求。目前个人偏向于用DOORS。DOORS (Dynamic Object-Oriented Requirements System)的特点包括:

需求跟踪:DOORS可以跟踪需求的生命周期,从需求收集到实现,并且可以确保需求的一致性和完整性。


多维数据结构:DOORS支持多维数据结构,可以方便地组织和管理大量需求信息。

可视化:DOORS提供了一系列图形和表格,可以帮助用户更好地理解和访问需求信息。

协作:DOORS支持多用户协作,团队成员可以共享信息,协作完成需求管理任务。

审查和审批:DOORS支持需求审查和审批,可以确保需求的质量和合法性。

545ea856-d75a-11ed-bfe3-dac502259ad0.jpg

Source: Sudo Null - Latest IT News


2 架构设计

系统架构和软件架构设计工具包括:

Enterprise Architect(EA):这是一个高级系统和软件架构工具,可以帮助构建系统和软件的架构模型,以及记录和管理需求和元数据。


Microsoft Visio:这是一种图形化工具,可以帮助构建系统架构图和软件架构图。

以上工具都可以帮助设计人员在需求和限制的情况下,设计出可扩展、可维护的系统架构和软件架构,两者相较而言,EA更专业更强大,首选EA。

54748860-d75a-11ed-bfe3-dac502259ad0.jpg

source: Moving Visio Diagrams into Enterprise Architect

3 详细设计

3.1 代码编辑器

ECU(汽车电子控制单元)软件开发中常用的代码编辑工具包括:

Source Insight: 一款功能强大的代码阅读和编辑工具,主要用于源代码的浏览、分析和编辑。


Text editors:如 Sublime Text、Notepad++等,这些工具是通用的文本编辑器,可以用于编写和编辑代码。


Eclipse:这是一个通用的IDE,支持多种编程语言,可以用于开发嵌入式系统。

Visual Studio:这是一个微软公司提供的IDE,支持多种编程语言,并且有丰富的插件库。


这些工具都可以帮助开发人员编写高质量的代码,并在编码过程中提供自动完成、语法检查等功能。在选择代码编辑工具时,需要考虑项目需求和团队偏好,以选择最合适的工具。


个人习惯用Source Insight,Source Insight主要用于源代码的浏览、分析和编辑。它可以帮助开发人员更好地理解代码,支持代码标记、代码注释、代码折叠等功能,方便开发人员阅读代码。Source Insight还支持语法高亮、代码提示、代码完成等功能,可以大大提高编码效率。此外,Source Insight还具有调试、搜索和替换等功能,可以帮助开发人员快速找到问题并进行解决。总的来说,Source Insight是一款很好的代码阅读和编辑工具,特别适合用于大型项目的代码开发。

5497bb32-d75a-11ed-bfe3-dac502259ad0.jpg

3.2 模型开发

Simulink, TargetLink 和 ASCET 是三种常用的建模工具,它们各具特点,主要区别如下:

Simulink:Simulink 是一款基于图形界面的模型开发工具,具有丰富的图形建模和仿真功能,适用于各种系统仿真需求。


TargetLink:TargetLink 是一款专门为汽车控制器开发而设计的建模工具,可以帮助用户快速生成高质量的 C 代码,适用于严格的汽车控制器开发流程。


ASCET:ASCET 是一款专注于模型驱动开发的建模工具,可以帮助用户进行系统建模和仿真,并生成高效的代码。ASCET 也适用于汽车控制器的开发,但相比 TargetLink 更注重模型的仿真和代码生成。


这三种工具中,ASCET好像主要博世使用,其他家一般都使用Simulink,TargetLink。TargetLink 通过在 Simulink 模型中生成代码来支持高效的开发流程,这两款工具结合使用可以提高开发效率并帮助提高代码质量。

54b1033a-d75a-11ed-bfe3-dac502259ad0.jpg

Source: TargetLink


4 测试

4.1 单元测试

单元测试包括静态单元测试和动态单元测试。其中静态单元测试,一般使用Polyspace,Tessy等工具。


Polyspace是一款强大的代码静态分析工具,用于检测软件代码中的潜在错误和安全漏洞。它可以分析代码并确定可能导致错误或漏洞的代码段,并提供详细的说明和建议以便开发人员可以解决问题。Polyspace支持许多编程语言,包括C,C++,Ada和MATLAB。它是一个高效的工具,可以在编写代码的同时对代码进行实时分析,从而减少开发周期并提高代码质量。

54c5f592-d75a-11ed-bfe3-dac502259ad0.jpg

source: Polyspace

而动态单元测试则一般基于Simulink,TargetLink来实施。

4.2 集成和确认测试

对于集成和确认测试,这里主要介绍下Vector公司的三件套:CANalyzer、CANape 和 CANoe,均用于汽车通信网络分析和测试的工具。

CANalyzer:用于分析和测试控制器区域网络(CAN)通信系统的工具。它提供了数据监测、协议分析、错误注入和总线模拟等功能。

CANape:用于提供电子控制单元(ECU)高级测量和标定功能的工具。CANape 提供了一个环境,用于开发和测试控制算法,并实时标定 ECU 参数。

CANoe:用于在汽车行业中开发、测试和分析 ECU 和网络的工具。它提供了一个全面的环境,用于测试通信协议,标定ECU参数和模拟复杂的网络交互。

这三种工具可以一起使用,为汽车通信网络和 ECU 的开发和测试提供一个集成的解决方案。

54d053b6-d75a-11ed-bfe3-dac502259ad0.jpg

5 版本管理

常见的软件项目管理和版本管理工具有:

Jira:一种广泛使用的软件开发团队的项目和问题跟踪工具。

GitHub:一个基于网页的版本控制和协作平台,被广泛应用于软件开发团队。

Bitbucket:一个基于网页的版本控制和协作平台,专门为专业软件开发团队设计。

SVN:一个广泛使用的软件开发项目版本控制系统。

PTC Integrity:一款综合性的软件项目管理和版本管理工具,

Git:一款开源的版本控制系统,主要用于软件项目的版本管理。

此处,以PTC Integrity进行说明,PTC Integrity可支持大型软件项目的开发、测试和交付。它提供了一系列的项目管理功能,如需求管理、项目计划、缺陷跟踪等。PTC Integrity 同时也提供了强大的版本管理功能,可以管理代码和文档的变更,以及控制软件的发布。PTC Integrity 可以让团队中的多个开发人员在同一个项目上并行工作,通过版本管理功能确保代码的完整性和一致性。也具有强大的分支管理功能,可以让开发人员在不同的分支上开发,并方便地合并到主分支。

54d7416c-d75a-11ed-bfe3-dac502259ad0.jpg

当然具体选择哪个工具取决于软件开发项目和团队的具体需求和要求,如团队规模、开发流程和项目复杂度等。


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    小编。小编在入行之前只知道电子产品上有电路板,电路板上由各样的小零件组成,但不知道电路板上的那些零件叫什么,有什么作用。 现在从事电容器行业中,小编从中也学习到许多知识。今天小编来告诉大家这些专用术语是什么......
    流体仿真是什么?(2024-11-01 09:45)
    流体仿真是什么?;流体仿真是什么?流体仿真,也称为流体动力学仿真,是通过电脑来模拟气流或水流在各种情况下的运动和表现,所用到的软件叫计算流体力学软件,它可以模拟气流或水流的速度、压力、温度......
    再在ARM的RAM里调试。2 PLASHPGMFLASH烧写的软件。AXD在RAM里调试,掉电就没有了,方便程序修改。调试好的程序再下到FLASH里,上电直接运行。同类的软件还有很多,什么FLUTED了......
    基于STM32的停车锁系统;一.系统设计 停车场车位锁设计有蓝牙控制功能,可以通过蓝牙控制启动开锁,用步进电机模拟,开锁之后当车进行倒车的时候,可以将超声波采集到的距离数据发送给APP,另外......
    (Vehicle Control Module):VCM是车辆控制模块的缩写,用于描述整车的控制单元。VCM扮演着整车系统控制和管理的角色,负责协调和控制车辆的各个子系统,包括电气子系统、动力总成、制动......
    看到花儿不知道叫什么?微软识花一键搞定;“哇,这朵花好美!这是什么花?” “额,我来上网搜一下……”(然而搜索起来却无从下手) 爱美之心,人皆有之,可是这种措手不及的小尴尬相信大家都遇到过,尤其......
    由于车轮转动带动了传动系,怠速下的发动机对车产生反作用的阻力,档位越高发动机对车的作用越小,反之越大。“发动机制动”是驾驶行为的一种术语,它是指利用发动机运行时产生的阻力来有效控制车速,用“降档”和“松油......
    营销链条;高度扁平化和软硬分离的开发模式大大缩短汽车研发周期……前期高标准的硬件配置和后期快速的软件更新不但需要高算力的芯片,更要求技术和软件能够跟上迭代需求。 与此同时,电动化、网联化的浪潮颠覆了传统汽车的......
    的驾驶信息,包括导航、车速、油耗、车辆状态等,让驾驶员更加便捷、直观地了驾驶信息。 (2).智能交互:通过多模交互,让座舱具备自然、直观、便捷的交互方式,使驾乘人员可以更加方便快捷地控制车辆。 (3......
    汽车搭载大模型!AI汽车时代终于来临!谁将是AI汽车的领导者?;现在车内的语音指令是不是觉得很无聊?也就是能控制控制车辆的指令。 也就是太死板,不能正常聊天。 为了解决这个问题,就要用到AI大模......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>