关于AUTOSAR AP 开发流程的研究

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:

简单,单纯,喜欢独处,独来独往,不易合同频过着接地气的生活,除了生存温饱问题之外,没有什么过多的欲望,表面看起来很高冷,内心热情,如果你身边有这样灵性的人,一定要好好珍惜他们眼中有神有光,干净,给人感觉很舒服,有超强的感知能力有形的无形的感知力很强,能感知人的内心变化喜欢独处,好静,清静,享受孤独,不打扰别人不喜欢被别人打扰,在自己人世界里做着自己喜欢的事。

时间不知不觉中,来到新的一年。2024结束,2025开始新的忙碌。成年人的我也不知道去哪里渡自己的灵魂,独自敲击一些文字算是对这段时间做一个记录。

在这里插入图片描述

一、Adaptive AUTOSAR 方法论

图片

AUTOSAR AP开发方法论包括三个主要阶段,分别是:

1、架构和设计阶段:在这个阶段,您需要确定系统的需求、功能和服务,并将它们分配到合适的Machine上。

根据个人习惯使用一些建模工具,例如[Simulink]、[ProVision]或[RTA-VRTE SDK]自带的DSL脚本语言,来定义和设计应用程序的功能需求和架构。创建和配置服务接口、CP/AP互通性、软件组件、SWC端口等,并生成ARXML文件。

ARXML文件是AUTOSAR的标准格式,用于描述应用程序的元数据和部署清单。这个阶段的输出是一个系统配置描述(SCD),它展示了系统的静态和动态特征。

2、软件开发阶段:在这个阶段,您需要根据ARXML文件生成代码框架,并使用C++语言开发自适应应用程序(AA)。

AA是运行在Machine上的进程,它们是软件模块,它们通过服务进行交互和协作。您需要遵循AUTOSAR C++标准,并使用CMakeList文件指定交叉编译工具链和依赖项。

可能还需要使用代码库同步工具,例如[Git]或[SVN],来管理和协作您的代码。这个阶段的输出是一个应用程序清单,它说明了AA的属性和依赖关系。

3.、集成和部署阶段:在这个阶段,需要使用一些集成和部署工具,例如 [RTA-VRTE SDK],来将应用程序编译成可执行文件,并部署到目标Machine上。然后,需要进行集成和测试,以验证系统的功能、性能和安全性,并检测并解决任何问题或缺陷。还需要配置应用程序的执行清单、服务实例清单和机器清单,以及任何其他需要的参数,并启动执行管理来运行应用程序。

二、AUTOSAR AP Application开发流程

自适应AUTOSAR开发方法论包括以下几个步骤:

图片

(1)、系统设计:确定系统的需求、功能和服务,并将它们分配到合适的Machine上。

(2)、服务接口设计:定义服务的接口和属性,以及服务之间的交互方式。

(3)、应用设计:定义和配置软件组件(SWC),以及它们之间和网络之间的数据映射和服务映射。

(4)、软件开发:根据ARXML文件生成代码框架,并使用C++语言开发自适应应用程序(AA)。

(5)、诊断设计:定义诊断需求和策略,并将诊断服务映射到SWC上。

(6)、Machine设计:定义Machine的属性和配置,以及Machine之间的通信结构。

(7)、Machine清单:生成Machine清单文件,描述Machine的元数据和依赖关系。

(8)、软件集群设计:定义软件集群的属性和配置,以及软件集群之间的通信结构。

(9)、软件集群集成:将应用程序编译成可执行文件,并生成执行清单、服务实例清单和平台模块配置文件。

(10)、软件打包:将可执行文件、清单文件和其他资源打包成软件包,并指定更新策略。

1、如何使用C++开发自适应应用程序?

图片

如果您想使用C++开发AUTOSAR自适应应用程序,您可以使用一些工具和方法来简化您的工作流程。例如,您可以使用RTA-VRTE或Simulink来创建、模拟、验证和生成符合AUTOSAR标准的C++代码。无论您是使用AUTOSAR还是其他框架,开发C++自适应应用程序的一般步骤如下:

(1)、定义系统的需求、功能和服务,并将它们分配到合适的目标设备上。

(2)、设计系统的架构和接口,并生成相应的配置文件和元数据文件。

(3)、编写C++代码来实现系统的功能和逻辑,并遵循相应的编码规范和风格。

(4)、编译C++代码并生成可执行文件,以及任何需要的库文件和清单文件。

(5)、调试和测试C++代码,并检测并修复任何错误或缺陷。

(6)部署C++代码到目标设备上,并进行集成和验证。

一个基本的C++代码示例:

图片

2、如何在AP AUTOSAR中实现服务间的通信?

在AP AUTOSAR中,服务之间的通信是通过ara::com API来实现的。ara::com API是一套基于C++11/14的接口,它提供了服务发现、服务订阅、服务调用、事件通知等功能。ara::com API支持多种网络绑定,如SOME/IP、DDS、IPC等,以适应不同的通信需求和场景。

### 关于AutoSAR AP在Simulink中的开发 #### 使用Simulink进行AutoSAR Adaptive Platform (AP)项目开发 MathWorks官方文档提供了详细的指导,说明如何利用Simulink环境创建基于AutoSAR标准的应用程序。这包括但不限于定义组件、设置通信机制以及生成遵循AutoSAR规范的代码[^1]。 为了支持更高级别的汽车应用需求,如自动驾驶辅助系统等功能,开发者可以借助Simulink平台上的特定工具箱和服务来加速设计流程并提高效率。例如,在处理复杂的数据交换场景时,可以通过配置相应的消息收发节点实现高效的信息传输;而在面对多核处理器架构优化挑战之际,则可运用内置的支持包完成任务调度策略的设计与验证工作[^2]。 当涉及到具体的操作指南方面: - **安装必要的附加产品**:确保已安装最新版本的Automotive Blockset及其他关联扩展模块; - **建立新工程文件夹结构**:按照推荐的最佳实践组织源码及相关资源文件; - **定制化参数设定**:依据实际硬件特性微调各项属性直至满足预期性能指标为止; - **执行自动化测试套件检验质量**:反复迭代改进直至达到高标准的质量控制要求[^3]。 此外,值得注意的是,在开展此类项目之前应当充分了解ISO 26262等相关行业准则的要求,从而保障整个研发过程始终处于合规状态之下[^4]。 ```matlab % 创建一个新的AutoSAR Component Model new_system('MyApsComponent'); add_block('simulink/AutoSAR/Software Component', 'MyApsComponent/SWComponent'); % 设置SWC的相关属性 set_param('MyApsComponent/SWComponent',... 'Template','Application',... 'Category','Atomic',... 'ImplementationType','UserDefined',... 'Name','ExampleSWC'); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汽车电子实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值