Specification of Software Cluster Connection module (SoftwareClusterConnection)¶
| 属性 | 值 |
|---|---|
| 平台 | CP |
| 类别 | SWS — 软件模块规范(Software Specification) |
| UID | 974 |
| 规范版本 | R25-11 |
本地文件¶
- 规范 PDF:
F:\Work\Standards\01_Sources\CP_SWS_SoftwareClusterConnection_974\AUTOSAR_CP_SWS_SoftwareClusterConnection.pdf - ARXML 模型:
F:\Work\Standards\01_Sources\CP_SWS_SoftwareClusterConnection_974\AUTOSAR_CP_SWS_SoftwareClusterConnection.arxml - 纯文本全文:
F:\Work\Standards\01_Sources\CP_SWS_SoftwareClusterConnection_974\zzgen\CP_SWS_SoftwareClusterConnection.complete.txt
文档简介¶
This specification describes the functionality, API and the configuration for the AUTOSAR Basic Software module Software Cluster Connection.
章节详细内容¶
1. 已知限制¶
原文标题:Known Limitations
- Not all VFB communication features are supported
- The Proxy Modules are not specified for all BSW Services
- No run-time separation is defined
Additional limitations are described in document
2. 简介与功能概述¶
原文标题:Introduction and functional overview
This specification describes the functionality, API and the configuration for the AUTOSAR Basic Software module Software Cluster Connection.
3. 缩略语¶
原文标题:Acronyms and abbreviations
The glossary below includes acronyms and abbreviations relevant to Requirements on Software Cluster Connection that are not included in the AUTOSAR Glossary .
| Abbreviation / Acronym: | Description: |
|---|---|
| SwCluC | Software Cluster Connection |
| Terms: | Description: |
|---|---|
| Software Cluster | A Software Cluster groups all AUTOSAR artifacts that are relevant to deploy software on a machine. The full definition is given in document |
| Software Cluster Connection | The Software Cluster Connection is the BSW module that provides the features to |
- connect the Binary Objects deployed on the same machine
- substitute not locally-available BSW modules in an Application Software Cluster, whose interfaces are required for the integrated SW, by so called Proxy Modules.
- implement the VFB communication features between Software Clusters together with RTE by means of an RTE Implementation Plug-In | machine | A machine consists of a set of computing resources - such as microcontroller cores, memory or peripheral (e.g. communication) devices - and has the ability to execute software applications. | |---|---|
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
4. 相关文档¶
原文标题:Related documentation
5. 输入文档与相关标准规范¶
原文标题:Input documents & related standards and norms
6. 相关规范¶
原文标题:Related specification
AUTOSAR provides a General Specification on Basic Software modules , which is also valid for Software Cluster Connection.
Thus, the specification SWS BSW General shall be considered as additional and required specification for Software Cluster Connection.
7. 约束与假设¶
原文标题:Constraints and assumptions
8. 限制¶
原文标题:Limitations
9. Limited 支持 for VFB communication features and BSW 模块¶
原文标题:Limited Support for VFB communication features and BSW modules
The specification currently supports a limited number of BSW modules. Furthermore, for the supported BSW modules, the functionality and APIs available for Application Software Clusters is only subset of the overall functionality. In addition, the available VFB communication features are restricted.
The supported VFB features are listed in .
10. Limited 支持 for RTE Events in Application 软件 Clusters¶
原文标题:Limited Support for RTE Events in Application Software Clusters
Due to limitations in the specification of the Cross Software Cluster Communication Plug-Ins in Section and in document , as well as limitations in the functionality of Dispatchers in Section (scheduling via periodic TimingEvent), the functionality is specified for only a subset of RTEEvents in Application Software Clusters . These are:
- TimingEvent
- InitEvent
- BackgroundEvent
- ExternalTriggerOccurredEvent
- SwcModeSwitchEvent
- DataReceivedEvent
- AsynchronousServerCallReturnsEvent
- OperationInvokedEvent
For all other kinds of RTEEvents, such as:
- DataReceiveErrorEvent
- DataSendCompletedEvent
- DataWriteCompletedEvent
- InternalTriggerOccurredEvent
- OsTaskExecutionEvent
- SwcModeManagerErrorEvent
- TransformerHardErrorEvent
the implementation is undefined by AUTOSAR.
11. 适用的车型领域¶
原文标题:Applicability to car domains
The specification focus on larger ECUs centralizing software functionality - so called domain or zone controllers. It assumes that the software components which are mapped to different Software Clusters are rather loosely coupled w.r.t. to interfaces and time domain. The software components supposed to implement mainly control loop software - usually time driven but may also react on limited numbers of sporadic events. Further information can be found in document .
12. 对其他模块的依赖¶
原文标题:Dependencies to other modules
13. Binary 清单¶
原文标题:Binary Manifest
14. 头文件结构¶
原文标题:Header File structure
Upstream requirements:
⌈
The Binary Manifest of the Software Cluster Connection shall provide the header file SwCluC_BManif.h.
⌋
Upstream requirements:
⌈
The header file SwCluC_BManif.h shall include all header files configured in SwCluCBManifHeaderIncludes in the containers SwCluCBManifProvideResourceEntryGroup and SwCluCBManifRequireResourceEntryGroup.
⌋
15. Cross Cluster Communication¶
The Cross Cluster Communication of the Software Cluster Connection depends on the RTE .
16. Proxy 模块¶
原文标题:Proxy Modules
The SwCluC module has following dependencies for its sub-functionalities in the Proxy Modules:
Each Low Proxy Module depends on its specific BSW module
- Os Low Proxy depends on OS
- NvM Low Proxy depends on NvM
- Com Low Proxy depends on Com
- Dcm Low Proxy depends on Dcm
- Dem Low Proxy depends on Dem
- FiM Low Proxy depends on FiM
17. 需求追踪¶
原文标题:Requirements Tracing
The following tables reference the requirements specified in , SRS_SoftwareClusterConnection and , SRS_BSWGeneral and links to the fulfillment of these. Please note that if column "Satisfied by" is empty for a specific requirement this means that this requirement is not fulfilled by this document.
| Requirement | Description | Satisfied by |
|---|---|---|
| The Basic Software Module shall be able to initialize variables and hardware in a separate initialization function | ||
| All modules of the AUTOSAR Basic Software shall support a tool based configuration | ||
| All AUTOSAR Basic Software Modules shall provide configuration rules and constraints to enable plausibility checks | ||
| The scheduling strategy that is built inside the Basic Software Modules shall be compatible with the strategy used in the system | ||
| API naming convention | ||
| All AUTOSAR Basic Software Modules shall check passed API parameters for validity | ||
| Error values naming convention | ||
| Classification of development errors | ||
| All AUTOSAR Basic Software Modules shall allow the enabling/disabling of detection and reporting of development errors. |
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
18. 功能规范¶
原文标题:Functional specification
19. Binary 清单¶
原文标题:Binary Manifest
20. 概述¶
原文标题:Overview
With the concept of Software Clusters, the overall software of an AUTOSAR Classic Platform Architecture can be split into smaller units. In such a clustered AUTOSAR Classic Platform Architecture a resource is used to describes any capability which
- is needed to operate the software in Software Clusters
AND * which is provided by one Software Cluster for another Software Clusters
Please note as well document with its description about CpSoftwareClusterResources.
Each Software Cluster is an independent build unit, and the result of the cluster-specific build processes are the Binary Objects. The Binary Manifests provide the means to connect the Binary Objects that are deployed on the same machine. Hence, the Binary Manifest is the well-defined interface of the Software Cluster's Binary Object.
The Binary Manifest provides any information, which is required to access a resource inside a Software Cluster, and to connect provided and required resources of Software Clusters. A resource, in this context, can be anything that is required to operate the software. For example, a sender receiver interface of the Software Cluster or a NV block.
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
21. a Binary 清单的Logical 结构¶
原文标题:Logical structure of a Binary Manifest
The Figure provides an overview of the conceptual elements of the Binary Manifest necessary for a fictional example resource.
The Binary Manifest provides the ability to connect required and provided resources of Software Clusters. Each resource is qualified by a set of meta data, e.g.
- the unique identifier of the resource
- the type of the resource (e.g. a sender receiver communication or connection of NV blocks)
- the nature, whether a resource is required or provided by this Software Cluster
- in case of required resources, whether it is mandatory for the operation of the Software Cluster
- guarding information (e.g. hash values) to ensure that only compatible resources are getting connected
- the number of stored handles, and where those handles can be found in the the according tables
Each type of resource is qualified by the number of handles, their purpose for the connection, and the order in which they are placed in the Binary Manifest. The handles hold the information, which the Software Cluster requesting a resource needs to access it in the providing Software Cluster.
A single handle can be
- a data pointer
- a function pointer
- a value
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
22. 映射 between Logical 结构 and 配置结构¶
原文标题:Mapping between Logical structure and Configuration structure
The logical structure shown in Figure is also reflected in the configuration structure of the Binary Manifest.
The set of handles, relevant to connect one type of resource, is defined in the SwCluCBManifResourceType. A Resource Type is characterized by a defined set of Provide Handles and Notifier Handles, with specific types in a well defined order.
Handles can optionally exist. This is useful for resources which do not always need the full set of handles in all feature configurations. For instance, sender receiver communication works with or without sendIndication. Spending always a new resource type id (SwCluCBManifResourceTypeId) is not appropriate due to the limited numberspace! But the Resource Provider and Resource Requester have to have the same mutual understanding of the optionality conditions and both have to see a matching configuration to determine the identical handle configuration for a particular CpSoftwareClusterResource.
This is the prerequisite to enable the connection between Software Clusters.
Optional handles are always added after the non-optional ones!
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
23. a Binary 清单的Implementation 结构¶
原文标题:Implementation structure of a Binary Manifest
Usually, in AUTOSAR the implementation of BSW modules is not standardized. But the various data tables of the Binary Manifest implement an interface to Software Cluster connector algorithms. Therefore, the implemented layout and semantic of the tables is standardized in this document. Furthermore, an abstract set of requirements for such connector algorithms is defined in section .
The Figure provides an overview about the individual tables of the Binary Manifest, and their main relationships.
24. Implementation 概述¶
原文标题:Implementation Overview
Each Software Cluster's Binary Manifest has a central entry point, called the Binary Manifest Header. It contains the AUTOSAR standardized meta data of a Software Cluster, and pointers to the sub tables (and their columns, as explained below) of the Binary Manifest. It is specified in .
Each row in the Interface Descriptor Table stores the properties of a single resource. For instance, the global resource Id. To avoid alignment gaps and padding bytes, which could occur if multiple elements are put in a structure, the table is not stored as an array of such a structure. Instead, the individual properties are organized in separate arrays. The individual arrays of the Interface Descriptor Table are required to have exactly the same number of elements and the identical order. In other words, these arrays can be seen as the columns of the Interface Descriptor Table and the identical index denotes the table row. Each row describes one resource. It is specified in .
Each of these resources can now use a dedicated number of handles in the offered and / or subscribed handle tables.
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
25. 多 Notifier Sets 简介¶
原文标题:Multiple Notifier Sets Introduction
To support 1:n connections that require individual notifications of the requesters, the Binary Manifest supports the storage of multiple Notifier Handle Sets. In this case, the SubscribedInterfaceNoOfHandleSets field describes how many handles sets of other Software Clusters can be connected. Please note that the value 0 means that only a single connection is supported. 1..n means multiple connections are possible. If this is selected, the first handle entry is used to store the actual number of connected Software Clusters - similar to a dynamic length array. With this handling, it possible to preserve the MULTIPLE_NOTIFIER_SETS semantic for a Binary Manifest user, even if only at most one connection is supported.
It is also possible to connect interfaces that require more than one handle per connection. The number of handles per connection is not stored in the Binary Manifest, but if it is required, it can be calculated as (SubscribedInterfaceNoOfHandles -1) / SubscribedInterfaceNoOfHandleSets.
As an example, in figure , the resource with id 0x500 (marked blue) has 3 handle sets (the entry in the column SubscribedInterfaceNoOfHandleSets is set to 3).
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
26. Binary 清单 Header¶
原文标题:Binary Manifest Header
Upstream requirements: , , , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Binary Manifest Header
const SwCluC_BManif_HeaderType SwCluC_BManif_Header =
{
Upstream requirements:
⌈
The header file SwCluC_BManif.h shall export the declaration of the Binary Manifest Header
extern const SwCluC_BManif_HeaderType SwCluC_BManif_Header;
⌋
Upstream requirements: , , , ⌈ The element Preamble of the Binary Manifest Header shall be set to the value 0x41524350464C4558. ⌋
Note: The purpose of the Preamble is to serve as an obvious marker of the Binary Manifest's begin in memory. In addition, the value is chosen so that byte and word order can be detected, when the Binary Manifest is read in a byte stream or from a Binary Object file.
Upstream requirements: , , , ⌈ The element ManifestMajorVersion of the Binary Manifest Header shall be set to the value 0x01. ⌋
Upstream requirements: , , , ⌈ The element ManifestMinorVersion of the Binary Manifest Header shall be set to the value 0x01. ⌋
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
27. 接口 Descriptor Table¶
原文标题:Interface Descriptor Table
Upstream requirements: , , , , , ,
⌈
If the SwCluCBManifDescriptorTreatment is set to EMBED_DESCRIPTORS the Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Interface Descriptor Table composed out of the following column arrays:
/* descriptor table column for resource properties */
const SwCluC_BManif_ResourcePropertiesType SwCluC_BManif_ResourcePropertiesDescriptorColumn = {
/* descriptor table column for resource type Ids */
const SwCluC_BManif_ResourceTypeIdType SwCluC_BManif_ResourceTypeIdDescriptorColumn = {
/* descriptor table column for global resource Ids */
const SwCluC_BManif_GlobalResourceIdType SwCluC_BManif_GlobalResourceIdDescriptorColumn = {
/* descriptor table column for guard values */
const SwCluC_BManif_ResourceGuardValueType SwCluC_BManif_ResourceGuardValueDescriptorColumn = {
/* descriptor table column for offered interface table index */
const SwCluC_BManif_TableIndexType SwCluC_BManif_OfferedInterfaceIndexDescriptorColumn = {
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
28. Offered 接口 Table¶
原文标题:Offered Interface Table
Upstream requirements: , , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Offered Interface Handle Column
const SwCluC_BManif_HandleType SwCluC_BManif_OfferedInterfaceHandleColumn = {
Upstream requirements: , , , ⌈ The Binary Manifest of the Software Cluster Connection shall allocate and initialize the number of handles in the Offered Interface according to . ⌋
29. Subscribed 接口 Table¶
原文标题:Subscribed Interface Table
Upstream requirements: , , , , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Subscribed Interface Default Handle Column
const SwCluC_BManif_HandleType SwCluC_BManif_SubscribedInterfaceDefaultHandleColumn = {
Upstream requirements: , , , ⌈ The Binary Manifest of the Software Cluster Connection shall allocate and initialize the number of handles in the Subscribed Interface Default Handle Column according to . ⌋
Upstream requirements: , , , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Subscribed Interface Handle Column
const SwCluC_BManif_HandleType SwCluC_BManif_SubscribedInterfaceHandleColumn = {
Upstream requirements: , , , ⌈ The Binary Manifest of the Software Cluster Connection shall allocate and initialize the number of handles in the Subscribed Interface Handle Column according to . ⌋
Upstream requirements: , , , , , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Subscribed Interface Connected SwClusterId Column
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
30. Administrative 数据¶
原文标题:Administrative Data
31. Immutable Tables Checksum¶
The Immutable Tables Checksum is built over all those constants of the Binary Manifest that are not changed by the Software Cluster connection step.
This includes
- the Binary Manifest Header
- all arrays of the Interface Descriptor Table
- all arrays of the Offered Interface
- the Subscribed Interface Default Handle Column
The checksum is created as part of the software build.
Upstream requirements: , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Immutable Tables Checksum
const uint32 SwCluC_BManif_ImmutableTablesChecksum =
Upstream requirements: , ⌈ The Immutable Tables Checksum shall be set to the value of the configuration parameter SwCluCBManifImmutableTablesChecksum. ⌋
Upstream requirements: , ⌈ The Immutable Tables Checksum shall be calculated on the binary representation in memory of the immutable memory area (inclusive reserved memory space) in ascending order of memory address as CRC32 according to 32-bit Ethernet CRC Calculation as described in document . ⌋
32. Subscribed 接口 Validity Marker¶
原文标题:Subscribed Interface Validity Marker
The Subscribed Interface Validity Marker indicates that all subscribed tables are written after the Software Cluster connection step. It needs to be set to the valid value after the Software Cluster connection step. The invalid /valid values are not standardized, since those values need to be chosen according to the flash technology storing the Binary Manifest.
Upstream requirements: , ⌈ The Binary Manifest of the Software Cluster Connection shall provide exactly one instance of the Subscribed Interface Validity Marker
const uint32 SwCluC_BManif_SubscribedInterfaceValidityMarker =
Upstream requirements: , ⌈ Initially the Subscribed Interface Validity Marker shall be set to the value of the configuration parameter SwCluCBManifSubscribedInterfaceValidityMarker. ⌋
Upstream requirements: , ⌈ After a completed connection process, the Subscribed Interface Validity Marker shall be set to the value 0xFFA5A500. ⌋
33. 存储映射¶
原文标题:Memory Mapping
Upstream requirements: , ,
⌈
The Binary Manifest of the Software Cluster Connection shall use the
Upstream requirements: , ,
⌈
The Binary Manifest of the Software Cluster Connection shall map the Binary Manifest Header to a constant, 32 bit aligned memory section named CONST_IMMUTABLE_HEADER_32.
The optional name part shall be set according . ⌋
Upstream requirements: , ,
⌈
The Binary Manifest of the Software Cluster Connection shall map the immutable columns of all tables to a constant, 32 bit aligned memory section named CONST_IMMUTABLE_COLUMNS_32.
The optional name part shall be set according .
The immutable columns are:
- all columns of the Interface Descriptor Table
- Offered Interface Handle Column
- Subscribed Interface Default Handle Column ⌋
= ...;
...
const SwCluC_BManif_HandleType SwCluC_BManif_SubscribedInterfaceDefaultHandleColumn = ...;
#define SWCLUC_BMANIF_STOP_SEC_CONST_IMMUTABLE_COLUMNS_ASIL_D_32
#include "SwCluC_MemMap.h"
]
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
34. Connecting 软件 Clusters¶
原文标题:Connecting Software Clusters
35. 概述¶
原文标题:Overview
The AUTOSAR Methodology supports two different approaches to connect the Binary Objects of the different Software Clusters.
- The Software Clusters are connected after the individual and unconnected Binary Objects are programmed on the target ECU, here called On-board.
- The Software Clusters are connected before the Binary Objects are programmed on the target ECU outside the target machine, here called Off-board.
In the On-board case, the On-board Software Cluster Connector is a software, which is executed on the target ECU during the reprogramming phase. After reprogramming one or more unconnected Binary Objects, the Software Cluster Connector stores the connection result into the modifiable area of the Subscribed Interface of the Binary Manifest.
Please note: The design of the Binary Manifest assumes that a connection phase might get aborted at any point in time (e.g. power loss), and a restart or recovery of the connection phase should be supported.
In the Off-board case, the Off-board Software Cluster Connector is a tool, which is used to read the files of the Binary Objects, and to store the result of the connection in files.
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
36. Connecting Resources¶
Upstream requirements: , ⌈ The Software Cluster Connector shall connect a required resource with a provided resource, if all of the following conditions are fulfilled:
- the machine Id of the Software Cluster providing the resource and the machine Id of the Software Cluster(s) requesting the resource are identical
- the global resource Id of provided resource and required resource(s) are equal
- the global resource Id is not 0
- the resource type Id of provided resource and required resource is equal
- the guard value of provided resource and required resource is equal
- the number of Provide Handles of provided resource and required resource is equal
- the number of Notifier Handles of provided resource and required resource is equal
- in case Notifier Handles exist, the provided resource has a Notifier Handle Sets available for the required resource ⌋
Note: The global resource Id = 0 is reserved to indicate the absence of a valid Id. The Software Cluster Connector shall only connect if the global resource Id != 0.
37. the Substitution 软件 Cluster的处理¶
原文标题:Handling of the Substitution Software Cluster
The purpose of the Substitution Software Cluster is to temporarily overwrite the output of a Software Cluster for development purposes. For instance, if a sender receiver signal 'Y' of Software Cluster A does not have the right functional behavior, it is possible to add a Substitution Software Cluster which provides a fixed version of sender receiver signal 'Y'. The fixed version of sender receiver signal 'Y' is provided with the identical global resource Id. In such a case, all Software Clusters requiring the sender receiver signal 'Y' are getting connected to the Substitution Software Cluster instead of the original providing Software Cluster. If the Substitution Software Cluster additionally requires the sender receiver signal 'Y', it gets connected to the original providing Software Cluster. With this principle, it is possible to take the original version of the signal as a basis for the overwriting one.
The utilization of a Substitution Software Cluster is only intended for development purposes, and not supported in productive systems.
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
38. 多 Notifier Sets¶
原文标题:Multiple Notifier Sets
Note: A provided resource can optionally have the ability to handle multiple notifier sets. In this case, the number of handle sets in the Interface Descriptor Table indicates how many handle sets the Software Cluster Connector can register at most. The first handle in the Subscribed Interface Handle Column provides the number of actual registered Notifier Handle Sets. The subsequent handles in the Subscribed Interface Handle Column are store N sets of handles in a consecutive order. The order of the different handle sets written by the Software Cluster Connector are determined by the Software Cluster Id.
Upstream requirements: ⌈ In case the provided resource supports multiple Notifier Handle Sets, the Software Cluster Connector shall sort the Notifier Handle Sets in ascending order of Software Cluster Id of the according required resource(s), and place them in the Subscribed Interface Handle Column of the providing Software Cluster, starting at the second handle. ⌋
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
39. Unconnected Resources¶
Upstream requirements:
⌈
The Software Cluster Connector shall copy the Subscribed Interface Default Handle Column entries to the Subscribed Interface Handle Column, and set the related entries in the Subscribed Interface Connected SwClusterId Column to SWCLUC_BMANIF_UNCONNECTED for
- all Provide Handles of any required resources, for which no connect was applied
AND * all Notifier Handles of any provided resources, for which no connect was applied ⌋
40. Disabling of the On-board 软件 Cluster Connection¶
原文标题:Disabling of the On-board Software Cluster Connection
In general, it is possible that an ECU is equipped with an On-board Software Cluster Connector but this connector should not be used or shall only be used on specific machines.
One reason to do so is a configuration where the software on one machine requires a certification applied on the whole machine's software whereas the software on the other machine can be updated cluster-wise.
For example, such a configuration uses two machines on the same microcontroller, here called Machine A and Machine B.
Machine A needs a certification, which is only granted for the whole software on the machine. Nevertheless, the software is developed by multiple parties, with the means of Software Clusters. The Software Clusters still needs to be connected, which is done with the Off-board Software Cluster Connector before the certification is done.
For Machine B, this restriction does not apply. Here, the On-board Software Cluster Connector shall be used to do some in-field partial updates which requires a working On-board Software Cluster Connector.
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
41. 错误 during 软件 cluster connection¶
原文标题:Errors during software cluster connection
In some cases, the information inside the Binary Manifests might be incompatible with the cluster connector, be incomplete or inconsistent. For example, reading a Binary Manifest, which is structurally incompatible to the Software Cluster Connector's implementation, may have completely undefined results. This section lists a set of conditions that lead to an abort of the connection process.
The behavior of the system after an abort is currently not specified. The implementation of recovery mechanisms is advisable.
Upstream requirements: ⌈ The Software Cluster Connector shall detect, if the ManifestMajorVersion and ManifestMinorVersion numbers given in the Binary Manifest Header are compatible to the Software Cluster Connector's implementation. In case of any incompatible version number, the connection process for this specific machine shall be aborted. ⌋
If the Software Cluster Ids are not unique on the same machine, the Subscribed Interface Connected SwClusterId Column cannot be set unambiguous:
Upstream requirements: ⌈ The Software Cluster Connector shall detect, if the Software Cluster Ids of all Software Clusters belonging to same machine are not unique.
……本章内容较长已节选,完整内容见「本地文件」中的纯文本全文。
42. 软件 Cluster Binary 清单 Descriptor¶
原文标题:Software Cluster Binary Manifest Descriptor
The Software Cluster Binary Manifest Descriptor describes the Binary Manifest in the Binary Object. This is mandatory for Off-board connection, but also supporting the On-board connection, since it enables to apply checks outside the target ECU.
Upstream requirements: , , ⌈ The Binary Manifest of the Software Cluster Connection shall provide one instance of the CpSoftwareClusterBinaryManifestDescriptor, which holds the description of the generated Binary Manifest. This includes
- the cpSoftwareCluster reference to the given CpSoftwareCluster
- the softwareClusterId of the given CpSoftwareCluster
- the metaDataFields for
IMMUTABLE_TABLES_CHECKSUMandSUBSCRIBED_INTERFACE_VALIDITY_MARKER - a provideResources for each Provide Resource Entry
- a requireResources for each Require Resource Entry
- a resourceDefinitions for each Resource Type ⌋
其余 637 章(内容从略,见纯文本全文)¶
- 错误分类
- Development 错误
- Runtime 错误
- Production 错误
- Extended Production 错误
- 软件 Cluster Base 配置 Check
- Cross Cluster Communication
- 概述
- 通用需求
- Cross 软件 Cluster Communication Plug-In
- Cross Cluster Communication and Binary 清单
- Guard value calculation for 数据 Communication Graphs
- Guard value calculation for Client Server Communication Graphs
- Guard value calculation for 模式 Communication Graphs
- Guard value calculation for Trigger Communication Graphs
- Guard value calculation for DataPrototypes
- Cross Cluster Communication Base Socket
- Cross Cluster Communication and McSupport 数据
- Sender Receiver Communication
- Restrictions on VFB communication features
- 数据 Concistency
- Transmission
- Reception
- NvData communication
- Restrictions on VFB communication features
- Client Server Communication
- 通用
- Timeout
- 调度 of main functions
- 缓冲
- Response to Request 映射
- Client Side
- Server Side
- Modes Communication
- 通用 principles
- 软件 Cluster providing a 模式
- Host 软件 Cluster requiring a 模式
- Application 软件 Cluster requiring a 模式
- 初始化
- Trigger Communication
- 通用 principles
- 软件 Cluster providing a trigger
- Host 软件 Cluster requiring a trigger
- Application 软件 Cluster requiring a trigger
- Parameter Communication
- 错误分类
- Development 错误
- Runtime 错误
- Production 错误
- Extended Production 错误
- 初始化 of Xcc
- Proxy 模块
- 概述
- 抽象 Proxy 模块 Pattern
- 通用 Proxy functionality
- 分区
- Unconnected 服务 Resources
- Ecu 配置 Principles
- Proxy 模块 and Binary 清单
- Proxy 模块 and Base Sockets
- Specific Proxy 模块需求
- OS Proxy
- Enable OS Proxy Generation
- 概述 OS Proxy functionality
- 通用需求
- OS High Proxy
- OS Low Proxy
- NvM Proxy
- Enable NvM Proxy Generation
- 通用 NvM Proxy functionality
- 配置 ID check
- NvM High Proxy
- NvM Low Proxy
- 错误检测
- Com Proxy
- 通用 Com Proxy functionality
- Enable Com Proxy Generation
- Com High Proxy
- Com Low Proxy
- ComSignals / ComSignalGroups based proxy 处理
- 通用需求
- Com High Proxy
- Com Low Proxy
- ComIPdu based proxy 处理
- 通用需求
- Com High Proxy
- Callback Functions
- Com Low Proxy
- 错误检测
- Dcm Proxy
- Enable Dcm Proxy Generation
- Dcm High Proxy
- 诊断数据 proxy
- Routine 控制 proxy
- 服务 Request 通知 proxy
- Dcm Low Proxy
- 诊断数据 proxy
- Routine 控制 proxy
- 服务 Request 通知 proxy
- 多分区
- Dem Proxy
- Enable Dem Proxy Generation
- Dem High Proxy
- Dem High Proxy C-API
- Callback Functions
- 服务 Ports
- Binary 清单
- unconnected 诊断 Events的处理
- Dem Low Proxy
- Binary 清单
- unconnected 诊断 Events的处理
- FiM Proxy
- Enable FiM Proxy Generation
- FiM High Proxy
- FiM High Proxy C-API
- 服务 Ports
- unconnected 功能 Inhibition的处理
- Binary 清单
- FiM Low Proxy
- Binary 清单
- 错误分类
- Development 错误
- Runtime 错误
- Production 错误
- Extended Production 错误
- Standardized 服务 Resources
- 软件 Cluster Base 配置 Check
- Cross Cluster Communication
- OS Proxy
- NvM Proxy
- Com Proxy
- Dcm Proxy
- Dem Proxy
- FiM Proxy
- WdgM
- Common Functions
- 错误分类
- Development 错误
- API 规范
- Imported 类型
- 类型定义
- Binary 清单
- SwCluC_BManif_SwClusterIdType
- SwCluC_BManif_MachineIdType
- SwCluC_BManif_ConCtrlType
- SwCluC_BManif_ResourcePropertiesType
- SwCluC_BManif_ResourceTypeIdType
- SwCluC_BManif_GlobalResourceIdType
- SwCluC_BManif_ResourceGuardValueType
- SwCluC_BManif_TableIndexType
- SwCluC_BManif_HandleIndexType
- SwCluC_BManif_VoidFncPtrType
- SwCluC_BManif_HandleType
- SwCluC_BManif_HeaderType
- Cross Cluster Communication
- ProxyModules
- 功能定义
- BinaryManifest
- API Principles
- Named versus indexed 句柄 access
- Implementation aspects
- SwCluC_BManif_GetHandle
- SwCluC_BManif_GetHandle
- SwCluC_BManif_GetConSwClusterId
- SwCluC_BManif_GetConSwClusterId
- SwCluC_BManif_GetNoOfHandleSets
- SwCluC_BManif_GetNoOfHandleSets
- SwCluC_BManif_GetValidityMarker
- SWCLUC_BMANIF_NO_OF_ENTRIES
- SWCLUC_BMANIF_NO_OF_NOTIFIER_SETS
- Cross Cluster Communication
- SwCluC_Xcc_Init1
- SwCluC_Xcc_Init2
- Proxy 模块
- SwCluC_OsProxy_Init
- SwCluC_NvMProxy_Init
- SwCluC_NvMProxy_MultiBlockReadAllJobFinished
- SwCluC_ComProxy_Init
- SwCluC_DcmProxy_Init
- SwCluC_DemProxy_Init
- SwCluC_FiMProxy_Init
- Common Functions
- Callback 通知
- Binary 清单
- Cross Cluster Communication
- Proxy 模块
- Com Proxy
- Callback APIs to 句柄 ComSignals / ComSignalGroups
- SwCluC_ComProxy_CbkRxAck
- SwCluC_ComProxy_CbkInv
- SwCluC_ComProxy_CbkRxTOut
- SwCluC_ComProxy_CbkTxAck
- SwCluC_ComProxy_CbkTxErr
- SwCluC_ComProxy_CbkTxTOut
- Callback APIs to 句柄 ComIPdus
- SwCluC_ComProxy_ComCbkCopyRxData
- SwCluC_ComProxy_ComCbkCopyTxData
- SwCluC_ComProxy_ComCbkRxIndication
- SwCluC_ComProxy_ComCbkStartOfReception
- SwCluC_ComProxy_ComCbkTpRxIndication
- SwCluC_ComProxy_ComCbkTriggerTransmit
- SwCluC_ComProxy_ComCbkTxConfirmation
- SwCluC_ComProxy_ComCbkTpTxConfirmation
- Scheduled functions
- Binary 清单
- Cross Cluster Communication Scheduled functions
- SwCluC_Xcc_MainFunction
- Proxy 模块 Scheduled functions
- Expected 接口
- Mandatory 接口
- Binary 清单
- Cross Cluster Communication
- Proxy 模块
- Optional 接口
- Binary 清单
- Cross Cluster Communication
- Proxy 模块
- Configurable 接口
- Binary 清单
- Cross Cluster Communication
- Proxy 模块
- 服务接口
- Binary 清单
- Cross Cluster Communication
- Proxy 模块
- 时序图
- 配置规范
- How to read this chapter
- Containers and 配置 parameters
- 模块配置
- 通用配置 parameters
- 软件 Cluster 定义
- 软件 Cluster Base 配置 Check
- Binary 清单
- Provide Resource Entry Group
- Provide Resource Entry
- Require Resource Entry Group
- Require Resource Entry
- Resource 类型
- Cross Cluster Communication
- Cross Cluster Communication Base Socket
- Cross Cluster Communication Rte Plug-in Props
- Cross Cluster Communication Main 功能
- Proxy 模块
- NvM Proxy
- NvM Base Socket
- NvM Proxy NvBlock 配置
- NvM Proxy 配置 ID Block 配置
- Os Proxy
- Os Proxy Base Socket 配置
- Os Proxy OsApplication 配置
- Os Proxy OsTask 配置
- Os Proxy OsResorce 配置
- Os Proxy OsSpinlock 配置
- Os Proxy Task Dispatcher 配置
- Os Proxy Task Dispatcher 时序 Event 配置
- Os Proxy Task Dispatcher Background Event 配置
- Os Proxy Task Dispatcher Init Event 配置
- Os Proxy Task Dispatcher 模式 Switch Event 配置
- Os Proxy Task Dispatcher External Trigger Occurred Event 配置
- Os Proxy 功能 Dispatcher 配置
- Com Proxy
- Com Proxy Base Socket
- Com User 模块配置
- Com User IPdus
- Com User Signals and Signal Groups
- Com User Signals
- Com User Signal Groups
- Com User 回调
- Dcm Proxy
- Dcm Base Socket
- Dcm Proxy 诊断数据
- Dcm Proxy Routine 控制
- Dcm Proxy 服务 Request 通知
- Dem Proxy
- Dem Base Socket
- Dem Proxy 诊断 Event
- FiM Proxy
- FiM Base Socket
- FiM Proxy FID
- 发布信息
- 附录
- 不适用需求
- Referenced Meta Classes
- Referenced ECUC 配置 Parameters
- EcuC
- EcucPartition
- Pdu
- EcucPduDedicatedPartition
- RTE
- RteEventToTaskMapping
- RteInitializationRunnableBatch
- Os
- OsAlarm
- OsApplication
- OsCounter
- OsEvent
- OsResource
- OsScheduleTable
- OsScheduleTableExpiryPoint
- OsSpinlock
- OsTask
- NvM
- NvMBlockDescriptor
- NvMInitBlockCallback
- NvMSingleBlockCallback
- NvMCommon
- Dcm
- DcmDspDid
- DcmDspDidInfo
- DcmDspData
- DcmDspDataInfo
- DcmDspPidService01
- DcmDspDidRead
- DcmDspDidWrite
- DcmDspDidControl
- DcmDspRoutine
- Dem
- DemEventParameter
- DemDataElementClass
- FiM
- FiMFID
- Com
- ComMainFunctionTx
- ComMainFunctionRx
- ComGroupSignal
- ComIPdu
- ComSignal
- ComUserModule
- ComUserUriDefSet
- ComSignalGroup
- WdgM
- WdgMTransitionProxy
- WdgMBaseSocket
- Referenced C-API
- RTE
- RTE Lifecycle API Reference
- Rte_Init
- Rte_Start
- RTE RIPS API Reference
- Rte_Rips_DataIsUpdated
- Rte_Rips_DRead
- Rte_Rips_DataIsUpdated_EventActivation
- Rte_Rips_Feedback
- Rte_Rips_Invoke
- Rte_Rips_InvocationHandler
- Rte_Rips_Prm
- Rte_Rips_Read
- Rte_Rips_ReturnResult
- Rte_Rips_Start
- Rte_Rips_Stop
- Rte_Rips_SchM_Deinit
- Rte_Rips_SchM_Init
- Rte_Rips_SwitchNotificationStatusType
- Rte_Rips_Switch
- Rte_Rips_DequeueModeSwitch
- Rte_Rips_Trigger
- Rte_Rips_Write
- RTE API Reference
- OS
- NvM
- NvM_CancelJobs
- NvM_EraseNvBlock
- NvM_GetDataIndex
- NvM_GetErrorStatus
- NvM_InvalidateNvBlock
- NvM_ReadBlock
- NvM_ReadPRAMBlock
- NvM_RestoreBlockDefaults
- NvM_RestorePRAMBlockDefaults
- NvM_SetBlockProtection
- NvM_SetDataIndex
- NvM_SetRamBlockStatus
- NvM_WriteBlock
- NvM_WritePRAMBlock
- NvM_SingleBlockCallbackFunction
- NvM_InitBlockCallbackFunction
- NvM_ReadRamBlockFromNvm
- NvM_WriteRamBlockToNvm
- NvM_ReadAll
- NvM_WriteAll
- Com
- APIs to 句柄 ComSignals / ComSignalGroups
- Com_SendSignal
- Com_SendDynSignal
- Com_SendSignalGroup
- Com_SendSignalGroupArray
- Com_SendSignalWithMetaData
- Com_SendDynSignalWithMetaData
- Com_SendSignalGroupWithMetaData
- Com_SendSignalGroupArrayWithMetaData
- Com_ReceiveSignal
- Com_ReceiveDynSignal
- Com_ReceiveSignalGroup
- Com_ReceiveSignalGroupArray
- Com_ReceiveSignalWithMetaData
- Com_ReceiveDynSignalWithMetaData
- Com_ReceiveSignalGroupWithMetaData
- Com_ReceiveSignalGroupArrayWithMetaData
- Com_InvalidateSignal
- Com_InvalidateSignalGroup
- ComUser_CbkRxAck
- ComUser_CbkInv
- ComUser_CbkRxTOut
- ComUser_CbkTxAck
- ComUser_CbkTxErr
- ComUser_CbkTxTOut
- APIs to 句柄 ComIPdus
- Com_Transmit
- ComUser_ComCbkTriggerTransmit
- ComUser_ComCbkRxIndication
- ComUser_ComCbkTxConfirmation
- ComUser_ComCbkCopyRxData
- ComUser_ComCbkStartOfReception
- ComUser_ComCbkTpRxIndication
- ComUser_ComCbkTpTxConfirmation
- ComUser_ComCbkCopyTxData
- Dcm
- DataServices
- ReadData
- WriteData
- ConditionCheckRead
- ReadDataLength
- GetScalingInformation
- ReturnControlToECU
- ResetToDefault
- FreezeCurrentState
- ShortTermAdjustment
- RoutineServices
- Xxx_Start Operation
- Xxx_StartConfirmation Operation
- Xxx_Stop Operation
- Xxx_StopConfirmation Operation
- Xxx_RequestResults Operation
- Xxx_RequestResultsConfirmation Operation
- ServiceRequestNotification
- Indication
- Confirmation
- Dem
- Dem_ClearPrestoredFreezeFrame
- Dem_PrestoreFreezeFrame
- Dem_ResetEventDebounceStatus
- Dem_ResetEventStatus
- Dem_SetEventDisabled
- Dem_SetEventStatus
- Dem_GetDTCOfEvent
- Dem_GetDebouncingOfEvent
- Dem_GetEventAvailable
- Dem_GetEventExtendedDataRecordEx
- Dem_GetEventFreezeFrameDataEx
- Dem_GetEventUdsStatus
- Dem_GetFaultDetectionCounter
- Dem_GetMonitorStatus
- Dem_SetEventStatusWithMonitorData
- Dem_SetWIRStatus
- <模块>_DemGetFaultDetectionCounter
- <模块>_DemInitMonitorFor
- <模块>_DemTriggerOnMonitorStatus
- <模块>_DemClearEventAllowed
- <模块>_DemTriggerOnEventData
- <模块>_DemTriggerOnEventUdsStatus
- FiM
- FiM_GetFunctionPermission
- FiM_SetFunctionAvailable
- Referenced 服务接口
- Os
- NvM
- NvM_BlockIdType
- NvM_BlockRequestType
- NvM_InitBlockRequestType
- NvM_RequestResultType
- NvMService
- NvMAdmin
- NvMNotifyJobFinished
- NvMNotifyInitBlock
- NvMMirror
- PS_{Block}
- PAdmin_{Block}
- PNJF_{Block}
- PNIB_{Block}
- PM_{Block}
- Dcm
- Implementation 数据类型
- Dcm_OpStatusType
- Dcm_ConfirmationStatusType
- Dcm_NegativeResponseCodeType
- Dcm_DataElementType_{数据}类型
- Dcm_DataElementType_{数据}ArrayType
- Dcm_DataElementType_{数据}PrimitiveType
- Dcm_DataArrayTypeUint8_{数据}类型
- {DID}_Struct_DataType
- Dcm_RangeArray_{Range}类型
- Dcm_ScalingInfoArray_{数据}类型
- Dcm_RequestDataOut_{Routine}_{Signal}PrimitivType
- Dcm_RequestDataIn_{Routine}_{Signal}PrimitiveType
- Dcm_RequestDataOut_{Routine}_{Signal}类型
- Dcm_RequestDataIn_{Routine}_{Signal}类型
- Dcm_RequestDataOut_{Routine}_{Signal}ArrayType
- Dcm_RequestDataIn_{Routine}_{Signal}ArrayType
- Dcm_RequestFlexibleOutArrayData_{Routine}_{Signal}类型
- Dcm_RequestFlexibleInArrayData_{Routine}_{Signal}类型
- Dcm_StartDataIn_{Routine}_{Signal}PrimitivType
- Dcm_StartDataIn_{Routine}_{Signal}类型
- Dcm_StartDataIn_{Routine}_{Signal}ArrayType
- Dcm_StartDataOut_{Routine}_{Signal}PrimitivType
- Dcm_StartDataOut_{Routine}_{Signal}类型
- Dcm_StartDataOut_{Routine}_{Signal}ArrayType
- Dcm_StartFlexibleInArrayData_{Routine}_{Signal}类型
- Dcm_StartFlexibleOutArrayData_{Routine}_{Signal}类型
- Dcm_StopDataIn_{Routine}_{Signal}PrimitivType
- Dcm_StopDataIn_{Routine}_{Signal}类型
- Dcm_StopDataIn_{Routine}_{Signal}ArrayType
- Dcm_StopDataOut_{Routine}_{Signal}PrimitivType
- Dcm_StopDataOut_{Routine}_{Signal}类型
- Dcm_StopDataOut_{Routine}_{Signal}ArrayType
- Dcm_StopFlexibleInArrayData_{Routine}_{Signal}类型
- Dcm_StopFlexibleOutArrayData_{Routine}_{Signal}类型
- Dcm_KeyArray_{SecurityLevel}类型
- Dcm_SeedArray_{SecurityLevel}类型
- Dcm_SecurityAccessDataRecordArray_{SecurityLevel}类型
- Dcm_RequestDataArrayType
- Dcm_ControlMask_{DID}类型
- Dcm_InputOutputControlParameterType
- Dcm_IOOperationRequest_{DID}类型
- Dcm_IOOperationResponseType
- Dcm_ResponseDataArrayType
- Dcm_ControlMask_{数据}ArrayType
- Dcm_Cemr_{DID}类型
- Sender-Receiver-Interfaces
- DataServices_{DID}
- DataServices_{数据}
- IOControlRequest_{DID}
- IOControlResponse_{DID}
- NvDataInterface
- DataServices_{DID}
- Client-Server-Interfaces
- DataServices_{数据}
- RoutineServices_{RoutineName}
- ServiceRequestNotification
- Ports
- DataServices_{DID} RPortProtoype
- DataServices_{DID} PPortProtoype
- DataServices_{DID} PRPortProtoype
- DataServices_{数据} RPortProtoype
- DataServices_{数据} RPortProtoype
- DataServices_{数据} PPortProtoype
- DataServices_{数据} PRPortProtoype
- IOControlRequest_{DID}
- IOControlResponse_{DID}
- ServiceRequestManufacturerNotification_{Name}
- ServiceRequestSupplierNotification_{Name}
- RoutineServices_{RoutineName}
- Dem
- Implementation 数据类型
- Dem_DebouncingStateType
- Dem_DTCOriginType
- Dem_EventIdType
- Dem_EventStatusType
- Dem_DebounceResetStatusType
- Dem_DTCFormatType
- Dem_InitMonitorReasonType
- Dem_MaxDataValueType
- Dem_MonitorDataType
- Dem_MonitorStatusType
- Dem_UdsStatusByteType
- Client-Server-Interfaces
- CallbackClearEventAllowed
- CallbackEventDataChanged
- CallbackEventUdsStatusChanged
- CallbackGetFaultDetectCounter
- CallbackInitMonitorForEvent
- CallbackMonitorStatusChange
- DiagnosticInfo
- DiagnosticMonitor
- DiagnosticMonitor_MonitorData
- EventStatus
- Ports
- Event
- DiagnosticMonitor_MonitorData
- EventStatus
- EventInfo
- CBClrEvt
- CBDataEvt
- CBFaultDetectCtr
- CBInitEvt
- CBEventUdsStatusChanged
- CBMonitorStatusChanged
- FiM
- Implementation 数据类型
- FiM_FunctionIdType
- Client-Server-Interfaces
- FiM_FunctionInhibition
- FiM_ControlFunctionAvailable
- Ports
- FiM_FunctionInhibition
- FiM_ControlFunctionAvailable
- Changes History
- Changes in R20-11 compared to R19-11
- Added 规范 Items in R20-11
- Changed 规范 Items in R20-11
- Deleted 规范 Items in R20-11
- Changes in R21-11 compared to R20-11
- Added 规范 Items in R21-11
- Changed 规范 Items in R21-11
- Deleted 规范 Items in R21-11
- Changes in R22-11 compared to R21-11
- Added 规范 Items in R22-11
- Changed 规范 Items in R22-11
- Deleted 规范 Items in R22-11
- Changes in R23-11 compared to R22-11
- Added 规范 Items in R23-11
- Changed 规范 Items in R23-11
- Deleted 规范 Items in R23-11
- Added Constraints in R23-11
- Changed Constraints in R23-11
- Deleted Constraints in R23-11
- Changes in R24-11 compared to R23-11
- Added 规范 Items in R24-11
- Changed 规范 Items in R24-11
- Deleted 规范 Items in R24-11
- Added Constraints in R24-11
- Changed Constraints in R24-11
- Deleted Constraints in R24-11
- Changes in R25-11 compared to R24-11
- Added 规范 Items in R25-11
- Changed 规范 Items in R25-11
- Deleted 规范 Items in R25-11
- Added Constraints in R25-11
- Changed Constraints in R25-11
- Deleted Constraints in R25-11
- Changes in R26-11 compared to R25-11
- Added 规范 Items in R26-11
- Changed 规范 Items in R26-11
- Deleted 规范 Items in R26-11
- Added Constraints in R26-11
- Changed Constraints in R26-11
- Deleted Constraints in R26-11