前言
前段时间,阅读了AutoSar AP的SOME/IP的标准文档(《SOME/IP Protocol Specification.pdf》),并以PPT的图文并茂的形式做了理解笔记,内容主要是SOME/IP的协议规范,由SOME/IP报文格式和协议部分。
1. SOMEIP报文格式
1.1 SOME/IP消息格式:头格式

1.2 SOME/IP头格式:Request ID (Client ID/Session ID)

1.3 SOME/IP头格式:Message Type [8 Bit] and Return Code [8 Bit]
报文字段Return Code中内容和含义如下表所示:

1.4 SOME/IP消息格式的大小端

1.5 SOME/IP消息格式:序列化基本概念
处理对象:服务接口定义的参数列表(以某种数据结构呈现)。
功能定义:服务接口精确定义了PDU中所有数据结构的准确位置,并考虑了对齐的问题。序列化的功能则是为了实现服务接口要求。
对齐策略:如果变长数据不是序列数据流中的最后一个元素,则在变长数据后插入填充元素实现数据的对齐。

1.6 SOME/IP序列化的数据对象

1.7 SOME/IP序列化的数据对象 : 基本类型

其他序列中暂时省略...
2 SOME/IP协议规范
2.1 服务实例的概念

2.2 服务实例:绑定传输层

2.3 传输层绑定:支持多SOME/IP消息

2.4 传输层绑定:SOME/IP消息的对齐问题

2.5 传输层绑定:SOME/IP消息的边界问题

2.6 UDP绑定的概念

2.7 UDP绑定:单播连接和多播连接

2.8 TCP绑定:连接断开处理

2.9 TCP绑定:TCP连接

2.10 TCP绑定:「魔法小饼干」消息组成

2.11 多服务实例:概念

2.12 多服务实例:传输层端口号映射

2.13 多服务实例:如何确认唯一的服务实例?

2.14 UDP传输协议SOME/IP-TP:分段消息头的数据存储方式

2.15 UDP传输协议SOME/IP-TP:分段消息头的offset域

2.16 UDP传输协议SOME/IP-TP:分段消息头的预留位和分段Flag位域

2.17 UDP传输协议SOME/IP-TP:分段消息的Length和Payload

2.18 UDP传输协议SOME/IP-TP: 示例

2.19 SOME/IP通信: Request/Response

2.20 SOME/IP通信: Request/Response

2.21 SOME/IP通信: Fire&Forget

2.22 SOME/IP通信: Notification(基本功能)

2.23 SOME/IP通信: Notification(多订阅者客户端在同一ECU中)

2.24 Fields的基本概念

2.25 Fields的getter和setter通信

2.26 Fields的notifier通信
