一文轻松了解AUTOSAR系统开发步骤顺序

news2024/11/7 13:46:53

目录

往期推荐

AUTOSAR方法论的典型开发步骤顺序

1. 需求分析(Requirement Analysis)

2. 系统架构设计(System Architecture Design)

3. 软件组件设计与实现(Software Component Design and Implementation)

4. ECU配置与基础软件配置(ECU Configuration and Basic Software Configuration)

5. 代码生成与自动化(Code Generation and Automation)

6. 验证与测试(Verification and Testing)

7. 系统集成与调试(System Integration and Debugging)

8. 功能验证与验收测试(Functional Validation and Acceptance Testing)

9. 部署与生产(Deployment and Production)

10. 持续集成与维护(Continuous Integration and Maintenance)

理论视角下的 AUTOSAR 方法论

系统配置描述文件有哪些信息?

ECU配置描述文件包含哪些信息?

工具视角下的 AUTOSAR 方法论


往期推荐

  1. ETAS工具链自动化实战指南<一>
  2. ETAS工具链自动化实战指南<二>
  3. ETAS工具链自动化实战指南<三>
  4. AUTOSAR工程师必读:Artop的核心功能
  5. Vector工具链自动化实战指南<一>
  6. isolar高手秘籍| ECU Configuration三分钟速成!
  7. 掌握核心步骤:RTA-BSW以太网配置全解析
  8. 一文详解TC399 CAN MCAL 配置
  9. LSL常见应用场景及示例<一>
  10. LSL常见应用场景及示例<二>
  11. LSL常见应用场景及示例<三>
  12. 为什么Autosar钟情arxml而非json?大揭秘!

AUTOSAR 方法论定义了开发 AUTOSAR 系统的步骤/活动的顺序。尽管如此,软件组件的实现在很大程度上与 ECU 配置是独立的。这是 AUTOSAR 方法论的一个关键特点。

从开发流程上看,AUTOSAR系统的开发通常从需求分析开始,然后是架构设计、软件组件的开发与实现,再到ECU配置、测试和集成,最后是系统的部署和维护。整个流程强调模块化、解耦、可重用性和可扩展性。在此过程中,各种工具发挥了自动化、配置管理、验证和测试的关键作用。

AUTOSAR方法论的典型开发步骤顺序

图片

1. 需求分析(Requirement Analysis)

    • 目标:定义系统需求、功能需求以及性能需求。明确系统目标及各个模块的功能。

    • 活动

      • 确定系统功能需求、非功能需求和约束条件。

      • 确定软件组件(SWC)的功能。

      • 根据需求编写需求文档,确保需求可追溯和可验证。

    • 工具:需求管理工具(如 IBM DOORS、Polarion)。

2. 系统架构设计(System Architecture Design)

    • 目标:设计系统的高层架构,包括硬件和软件组件的结构、ECU间的通信、资源分配等。

    • 活动

      • 定义系统架构(如SWC、ECU、通信等)。

      • 设计基础软件层(BSW)、运行时环境(RTE)和操作系统(OS)的配置。

      • 设计ECU通信协议(如 CAN、Ethernet 等)。

      • 评估系统架构的可行性、性能和成本。

    • 工具:架构设计工具(如 Vector PREEvision、Enterprise Architect、EB tresos Studio、Polarion)。

3. 软件组件设计与实现(Software Component Design and Implementation)

    • 目标:开发符合功能需求的软件组件,并确保这些组件能够与其他系统模块无缝集成。

    • 活动

      • 设计和实现软件组件(SWC)接口。

      • 实现业务逻辑和通信协议。

      • 开发组件的代码。

      • 集成应用代码与底层软件框架。

    • 工具:集成开发环境(IDE)(如 Eclipse、Visual Studio),AUTOSAR工具(如 EB tresos Studio、Vector DaVinci Developer)。

4. ECU配置与基础软件配置(ECU Configuration and Basic Software Configuration)

    • 目标:根据系统需求和软件组件,配置ECU硬件资源、基础软件层(BSW)和中间件。

    • 活动

      • 配置ECU硬件资源(如存储器、处理器等)。

      • 配置基础软件模块(如 MCAL、OS、COM、RTE等)。

      • 配置和生成ECU代码及通信栈。

      • 配置和调试运行时环境(RTE)。

    • 工具:配置工具(如 Vector DaVinci Configurator、EB tresos Studio、Arccore Arccore Studio)。

5. 代码生成与自动化(Code Generation and Automation)

  • 目标:自动生成基础软件、RTE、SWC集成代码,减少手动编码和集成的错误。活动
    • 自动化测试和验证生成的代码是否符合需求。

    • 生成运行时环境(RTE)代码并进行验证。

    • 使用自动化工具生成应用软件和基础软件的代码。

    • 工具:代码生成工具(如 Vector DaVinci Developer、EB tresos Studio、Arccore Arccore Studio)。

6. 验证与测试(Verification and Testing)

    • 目标:验证系统的功能和性能,确保系统符合设计需求。

    • 活动

      • 软件单元测试:对单个软件组件进行功能测试。

      • 集成测试:验证多个软件组件的协同工作。

      • 硬件在环(HIL)测试:验证ECU在真实硬件平台上的功能。

      • 性能测试:验证系统性能是否符合要求(如延迟、带宽、可靠性等)。

    • 工具:测试工具(如 Vector CANoe、dSPACE、EB Assist、NI VeriStand)。

7. 系统集成与调试(System Integration and Debugging)

    • 目标:将所有的软件组件、基础软件和硬件集成在一起,进行调试和性能优化。

    • 活动

      • 将已实现的软件组件与ECU、基础软件和硬件资源进行集成。

      • 进行集成调试和问题排查。

      • 解决集成过程中出现的兼容性和性能问题。

    • 工具:集成调试工具(如 Vector CANoe、dSPACE HIL系统)。

8. 功能验证与验收测试(Functional Validation and Acceptance Testing)

    • 目标:确保系统按预期功能运行,并通过客户的验收测试。

    • 活动

      • 进行系统级功能验证,确保所有需求都已实现。

      • 进行验收测试,确保系统符合客户的期望。

      • 完成项目文档和合规性检查。

    • 工具:验证工具(如 CANoe、dSPACE、EB Assist)。

9. 部署与生产(Deployment and Production)

    • 目标:将系统部署到量产环境中,确保产品按计划投入生产。

    • 活动

      • 将经过验证的代码部署到生产环境。

      • 进行生产前的最终验证。

      • 完成产品的最终配置和部署,准备生产。

10. 持续集成与维护(Continuous Integration and Maintenance)

    • 目标:进行版本管理、持续集成,并根据需求进行后续维护。

    • 活动

      • 使用版本控制系统(如 Git、SVN)进行代码管理。

      • 进行系统的持续集成,确保代码始终是可构建的。

      • 定期更新和维护系统,修复bug,进行功能扩展。

    • 工具:版本控制工具(如 Git、SVN)、持续集成工具(如 Jenkins、GitLab CI)。

理论视角下的 AUTOSAR 方法论

理论视角关注的是整个开发过程的原则、步骤和活动的组织方式。它主要侧重于概念、标准和系统架构设计,着眼于如何在高层次上理解和规范化开发流程。如下图所示:理论视角下的 AUTOSAR 方法论:

图片

上图显示了从系统配置到 ECU 可执行文件的 ECU 代码生成流程。虽然上图显示可执行文件为.exe,但不要将其与Windows PC 的 .exe 文件混淆。这里的 .exe 文件是指一般的可执行文件,可以是 .elf、.bin 等。AUTOSAR 使用特定的文件格式在流程中的不同步骤之间交换信息。该文件格式类似于XML  ,但在 AUTOSAR 上下文中,它称为 .arxml( AUTOSAR 可扩展标记语言 ) 文件。配置软件将解释此文件并根据此文件中包含的信息生成代码。

汽车中所有 ECU 和整个网络的组合称为系统,首先配置系统,然后配置该系统的每个 ECU。

配置中的一些步骤

  1. 系统配置:在此步骤中,汽车(系统)所需的整体 ECU 及其硬件与 SWC一起配置,并将组合 SWC映射到各自的 ECU。

  2. 生成系统配置描述:第一步配置完成后,第一步的输出称为系统配置描述文件,为.arxml文件格式。

  3. ECU 提取生成:通过使用步骤 2 中的系统配置描述 arxml 文件作为输入,生成一个新文件,称为 ECU 提取 arxml 文件。它仅包含单个 ECU 的信息,而系统配置描述文件则包含汽车中所有 ECU 的信息。

  4. ECU 配置:在此步骤中,ECU extract用作输入,并根据应用要求配置相应的 ECU。配置包括BSW 配置、OS 配置等。

  5. 生成 ECU 配置描述:此步骤将用于生成步骤 4 的输出,即生成 ECU 配置描述 arxml 文件,该文件将进一步用于生成可执行文件。

  6. 生成可以在硬件(ECU)中刷写的可执行文件。

需要注意文件命名法,带有后缀“Description”的文件是相应步骤 或过程的输出。例如,系统配置描述 arxml 是系统配置步骤的输出。

系统配置描述文件有哪些信息?

系统配置描述文件(系统配置后生成)包含所有系统配置信息,例如:

  • 系统中的 ECU

  • 连接这些 ECU 的通信系统及其配置

  • 通信矩阵将指示这些通信系统将发送和接收的数据。由于 AUTOSAR 旨在标准化整个开发,因此需要在配置时配置将要发送或接收的所有数据、大小等。

  • SWC 及其端口、接口和连接的定义。

  • 将 SWC(软件组件)映射到 ECU。

此文件用作 ECU 配置的输入。ECU 提取文件与系统配置描述相同,但仅包含与相关 ECU 相关的信息。

ECU配置描述文件包含哪些信息?

ECU Extract 仅定义了系统中所有 ECU 需要同意的配置元素,但这不足以生成可在硬件上运行的代码。因为此文件没有任何可用于配置 AUTOSAR 架构较低层的低级配置信息。因此,ECU 配置描述具有配置软件利用并生成 .c 和 .h 文件的信息,这些文件进一步编译并在硬件上运行。

工具视角下的 AUTOSAR 方法论

从工具视角来看,AUTOSAR方法论强调了自动化、配置、代码生成和测试工具在整个开发过程中的作用。工具的使用可以帮助简化、加速和验证各个开发阶段,减少人为错误,提高系统的一致性和质量。

我们使用 AUTOSAR 编写工具创建一个高层设计,其中包括软件组件描述、ECU 资源描述和系统描述文件(包括通信矩阵、拓扑等)。一旦有了这三个组件,使用 AUTOSAR 方法论的软件开发过程可以大致分为两个部分,即应用软件开发和 ECU 配置过程

在应用软件组件(SWC)开发过程中,SWC 描述文件描述了需要开发的软件组件,将其作为输入。

如下图所示:从工具的角度解释的 AUTOSAR 方法论

图片

例如,我们可能有三个软件组件:控制器软件组件、拨号 LED 软件组件和加热元件软件组件。我们使用 AUTOSAR 编写工具构建一个系统级文件(arxml 文件)。

下一步是将系统级文件转换为 <*.c> 和 <*.h> 代码。许多编写工具具有此功能。这些 <*.c> 和 <*.h> 代码是通用代码,仅包含连接 RTE 和 SWC 的接口定义信息,例如 API 函数的声明、SWC 数据结构和可运行实体原型。

例如,这些头文件(框架)允许开发人员在不需要了解底层基础软件和硬件的具体知识的情况下,开始实现 SWC。这些头文件然后被导入到基于模型的代码开发环境中,以生成实际的可执行代码,或者使用手动编码机制构建应用软件组件,即 <*.c> 和 <*.h>

在 ECU 配置过程中,我们使用软件组件描述、ECU 资源描述和系统描述文件生成系统描述。系统描述包含所有的映射信息,即它包含所有 ECU 的详细信息、映射到 ECU 的软件组件的详细信息以及通信矩阵、拓扑等信息。BSW 配置工具用于配置 ECU。BSW 配置工具需要完成 RTE 生成、OS 生成、BSW 生成和 MCAL 配置。输出将是 <*.c> 和 <*.h>。这些 <*.c> 和 <*.h> 文件与在应用软件组件开发过程中生成的 <*.c> 和 <*.h> 文件集成在一起,并生成最终的 make 文件。         

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2235046.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机毕业设计Python+图神经网络手机推荐系统 手机价格预测 手机可视化 手机数据分析 手机爬虫 Django Flask Spark 知识图谱

温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 温馨提示&#xff1a;文末有 CSDN 平台官方提供的学长联系方式的名片&#xff01; 作者简介&#xff1a;Java领…

python基础(1)

声明&#xff1a;学习视频来自b站up主 泷羽sec&#xff0c;如涉及侵权马上删除文章 感谢泷羽sec 团队的教学 视频地址&#xff1a;初识python&#xff0c;环境配置&#xff0c;编程基础以及数据类型_哔哩哔哩_bilibili 一、什么是python Python 是一种高级、解释型、通用编程语…

【大数据学习 | HBASE】hbase的整体架构

hbase的region存储原理图 首先我们看到hbase的组成分为两个大的部分&#xff0c;分别是hmaster和hregionserver&#xff0c;主节点用于协调数据&#xff0c;regionserver用于真正的去管理表&#xff0c;其中regionserver存在多个&#xff0c;他们共同协调管理全有的表&#xff…

软信天成:您企业的数据资产真的安全吗?

您企业的数据资产真的安全吗&#xff1f;当下&#xff0c;数据已成为企业的核心资产&#xff0c;但如何找到、保护这些资产&#xff0c;却是许多企业面临的难题。在此背景下&#xff0c;数据分类分级显得尤为重要。本文将深入探讨数据分类分级&#xff0c;并结合国家标准和行业…

【Android】时区规则库tzdata更新

1 背景&#xff1a; 最近我遇到墨西哥城时区&#xff0c;会出现夏令时&#xff0c;而墨西哥城在2022年底都已经取消夏令时了。 看起来是要更新RK3588上的时区库&#xff0c;我的还是2021a&#xff0c;而现在都已经2024年了 这样能看版本号&#xff1a; cat /system/usr/sha…

国际版JAVA同城打车源码同城服务线下结账系统源码适配PAD支持Android+IOS+H5

架构分析 导航栏&#xff1a;位于界面上方&#xff0c;包含了“数据中心”、“消息”、“用户中心”等主要功能模块的入口&#xff0c;方便用户快速访问。左侧功能模块&#xff1a;在界面的左侧&#xff0c;以列表形式展示了多个功能模块&#xff0c;如“数据中心”、“消息中…

【软服之家-注册安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 1. 暴力破解密码&#xff0c;造成用户信息泄露 2. 短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉 3. 带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造…

海外营销新利器:米壳AI视频编辑工具全解析

抖知书老师推荐&#xff1a; 随着AI技术的飞速发展&#xff0c;跨境电子商务领域迎来了新的变革。今天&#xff0c;我要向大家介绍一款名为米壳Medio.cool的AI视频营销工具&#xff0c;它专为企业出海而生&#xff0c;助力商品在全球市场上的推广。 米壳Medio.cool以其AI驱动…

常见 HTTP 状态码分类和解释及服务端向前端返回响应时的最完整格式

目前的开发项目&#xff0c;准备明年的国产化&#xff0c;用了十年的自研系统借这个机会全部重写&#xff0c;订立更严格的规范&#xff0c;这里把返回格式及对应状态码记录一下。 常见 HTTP 状态码及解释 HTTP 状态码用于表示客户端请求的响应状态&#xff0c;它们分为五类&a…

Docker在CentOS上的安装与配置

前言 随着云计算和微服务架构的兴起&#xff0c;Docker作为一种轻量级的容器技术&#xff0c;已经成为现代软件开发和运维中的重要工具。本文旨在为初学者提供一份详尽的指南&#xff0c;帮助他们在CentOS系统上安装和配置Docker及相关组件&#xff0c;如Docker Compose和私有…

echart折线图动感设计

效果&#xff1a; 起由&#xff1a; 需求设计大大觉得EChart图表的折线图太过于死板&#xff0c;没有交互感&#xff0c;希望可以实现上图的效果&#xff0c;经过一顿摸索发现EChart折线图effect属性可以让光点沿着折线的路径移动&#xff0c;从而实现动态效果&#xff0c;注意…

2-2.STM32之定时器TIM---输入捕获--实验2( PWMI模式测频率占空比)

输入捕获模式测频率、PWMI模式测频率占空比-CSDN博客 参考这篇文章&#xff01; 来利用一个GPIO的定时器的两个通道进行捕获占空比和频率&#xff0c;看出可以看出。TI1FP1和TI2FP2&#xff0c;计数值分别在CCR1和CCR2中取&#xff0c; 测周法 IC.c #include "stm32f1…

mathtype中自定义数组维数问题

1 选中红框里的内容 2 设置矩阵维数&#xff0c;即行列数 3 选中中间数字部分&#xff0c;选中左边大括号&#xff0c;或者快捷键ctrll. ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/39ec0c8ed76a46d8b83d484a84ac59a7.png选中内部a

普吕克线( Plücker 线)

普吕克线 在 Plcker 坐标表示中&#xff0c;一条直线 l ‾ 1 \underline{l}_1 l​1​可以用以下两个向量来表示&#xff1a; l ‾ 1 l 1 ϵ m 1 \underline{l}_1 l_1 \epsilon m_1 l​1​l1​ϵm1​ 方向向量 l 1 l_1 l1​&#xff1a;表示直线的方向。动量向量 m 1 m_…

SLMi350DB-DG适用于驱动低边侧和高边侧的MOSFET和IGBT 兼容光耦的单通道隔离驱动器

SLMi350DB-DG是一款兼容光耦的单通道隔离驱动器&#xff0c;具有4A/7A源电流/灌电流以及3.75kVRMS隔离耐压值&#xff0c;适用于驱动低边侧和高边侧的MOSFET和IGBT。与光耦栅极驱动器相比&#xff0c;SLMi350DB-DG具有高共模瞬态抗扰度(CMTI)、低传播延迟和较小的脉宽失真等关键…

帕金森患者必看!这些维生素能帮你改善生活质量!

帕金森病&#xff0c;这个看似遥远的疾病&#xff0c;却悄然影响着许多人的生活质量。作为一种慢性神经退行性疾病&#xff0c;帕金森不仅会导致患者的运动能力受限&#xff0c;还会引发一系列非运动性症状&#xff0c;如便秘、情绪波动等。然而&#xff0c;你知道吗&#xff1…

5G智能对讲终端|北斗有源终端|北斗手持机|单兵|单北斗

在当今这个快速发展的数字化时代&#xff0c;5G技术的广泛应用正以前所未有的速度推动着各行各业的变革。作为这一技术浪潮中的重要一环&#xff0c;5G智能终端QM630D凭借其卓越的性能和多样化的功能&#xff0c;在林业、渔业、安保、电力、交通等多个领域展现出了巨大的应用潜…

【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!

前言 在数字影像处理和创意表达领域&#xff0c;ComfyUI 绝对是你的得力助手&#xff01;今天我们推荐一个非常有趣的工作流——快速换脸。无论你是图像编辑小白&#xff0c;还是深耕AI影像的达人&#xff0c;这个工作流都能让你快速实现面部迁移&#xff0c;体验全新的照片玩…

GPT原理;ChatGPT 等类似的问答系统工作流程如下;当用户向 ChatGPT 输入一个问题后:举例说明;ChatGPT不是通过索引搜索的传统知识库

目录 GPT原理 GPT架构 GPT 主要基于 Transformer 的解码器部分 ChatGPT 等类似的问答系统工作流程如下: 用户输入 文本预处理 模型处理 答案生成 输出回答 当用户向 ChatGPT 输入一个问题后:举例说明 文本预处理: ChatGPT不是通过索引搜索的传统知识库 GPT GPT…

Linux云计算 |【第五阶段】CLOUD-DAY8

主要内容&#xff1a; 掌握DaemonSet控制器、污点策略&#xff08;NoSchedule、Noexecute&#xff09;、Job / CronJob资源对象、掌握Service服务、服务名解析CluterIP&#xff08;服务名自动发现&#xff09;、&#xff08;Nodeport、Headless&#xff09;、Ingress控制器 一…