在AutoSar中,要完成一个诊断模块需要的依赖为:
- 1.基础的应用管理:包括初始化以及进程状态管理
2.中间层通讯:ara::com 需要应用程序提供故障记忆、寿命数据、例行控制等所需信息,通常这些是由模块Socal、SomeIpBinding和IpcBinding组成
3.ara::per : 用来存储数据保存,比如开机的参数、永久存储的数据等
4.ara::em : 进程管理模块的管理
5.ara::log : 日志管理
6.Libjason: 解析jason的文件格式
7.Libvector : vector容器用来存储和处理消息的内容等
8.Thread : 线程创建等
9.iostream: 输入输出模块
Diagnostic Manager 模块在Autosar的架构设计:
- UDS 服务 诊断服务提供
- ara::diag autosar诊断模块的库
- UDSTransportProtocolApi UDS传输协议的c++ 接口
- DoIp 实现数据的传输
架构图如下所示:

autosar软件设计:

解释下上边的架构:
Autosar应用程序的诊断模块分为许多的软件端。每个软件端代表具有自己诊断地址的独立诊断实体。
DM为每个安装的软件端提供一个专用的诊断服务器实例。所有诊断
服务器实例共享一个传输层实例(例如TCP/IP端口13400上的DoIP)。这个
DM根据接收到的目标向软件集群发送传入的UDS请求地址,并将请求转发给负责的诊断服务器

本文详细解读了在AutoSar中开发诊断模块所需的关键依赖,如应用管理、中间层通讯、数据存储、进程管理、日志处理、解析库及线程管理。重点介绍了DiagnosticManager模块的功能,涉及UDS服务、DoIP协议及其子组件,以及AUTOSAR定义的接口API。

3097

被折叠的 条评论
为什么被折叠?



