Autosar学习----AUTOSAR_SWS_BSWGeneral(六)
7.3 Meta Data Handling
- 元数据处理(Meta Data Handling)
- 1. 元数据支持
- 2. 元数据项的定义
- 3. 元数据项的顺序和位置
- 4. 元数据的分配
- 5. 元数据的对齐
- 6. 元数据的访问
元数据处理(Meta Data Handling)
本章节主要讨论了 AUTOSAR 基础软件(BSW)模块中元数据的处理机制。元数据是用于描述其他数据的数据,它在 AUTOSAR 通信栈的多个模块中起着至关重要的作用,用于在不同层之间传输信息。
1. 元数据支持
元数据由通信栈的多个模块支持,用于在层与层之间传递被分层架构抽象化的信息。
元数据通过特定的数据结构(如 PduInfoType
结构)进行传输,该结构包含一个指向字节数组的单独指针、该数组的长度以及指向 PDU 负载的指针。
2. 元数据项的定义
元数据的内容由 ECUC 描述中的全局 PDU 配置决定。该配置指定了元数据项的类型(MetaDataItemType
)、长度(MetaDataItemLength
)和顺序(MetaDataItem
)。
每个 PDU 都有一个产生(生产)模块和一个最终(消费)模块,以及可能的一系列中间(转发)模块。元数据的布局对于 PDU 是固定的,但不同模块只访问它们所知道的元数据项。
3. 元数据项的顺序和位置
元数据项在包含元数据的字节数组中的顺序和位置由 ECUC 中的元数据项配置及其长度决定。
通过按长度排序元数据项,确保在元数据数组内不需要填充(即,不需要在不同元数据项之间留出空隙),允许元数据项紧密打包。
4. 元数据的分配
产生 PDU 的第一个模块(即生产模块)负责组装 PDU 的数据,并为其定义的完整元数据分配空间,即使它只支持元数据项的一个子集。
生产模块应仅初始化它所知道的元数据项子集。
5. 元数据的对齐
为了能够通过将元数据数组强制转换为适当的基类型来访问元数据项,生产模块分配的整个元数据数组需要根据所有包含的元数据项中最严格的对齐要求进行对齐。
6. 元数据的访问
每个引用全局 PDU(包括元数据)的模块应仅访问它所知道的元数据项(即读取和/或写入)。
未知的元数据项应保持不变。