C/C++教程

820_AUTOSAR_TPS_BSWModuleDescriptionTemplate16_标定对于快速原型的支持

本文主要是介绍820_AUTOSAR_TPS_BSWModuleDescriptionTemplate16_标定对于快速原型的支持,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

       全部学习汇总: GitHub - GreyZhang/hack_autosar: learning autosar documents, aha, very hard!

       继续学习AUTOSAR的文档,看一下《AUTOSAR_TPS_BSWModuleDescriptionTemplate》。

       10.5 用于快速原型的 McSupportData

       AUTOSAR 元模型支持软件系统的描述,其中包括应用软件组件的快速原型场景。 这种描述的高级部分是在元类 RapidPrototypingScenario 的帮助下完成的,有关文档,请参见 [6]。

       到目前为止,快速原型的这种“高级”描述不是 BSMWDT 的主题。然而,一些用于快速原型设计的特殊解决方案需要直接访问 RTE 内部数据缓冲区,这些缓冲区用于保存软件组件之间通信的数据:

       • 快速原型设计实现(可以在外部 ECU 上运行或作为复杂驱动程序运行在相同的 ECU) 可以直接访问RTE 数据缓冲区,其访问方式与从MCD 系统中访问的方式类似(例如,通过XCP 驱动程序)

       • 快速原型设计功能可以嵌入到RTE 本身中。 在这种情况下,需要外部数据访问来监控数据以及在特定数据访问点的 RTE 的“原型设计”和“原始”行为之间切换。

       小结:这部分在之前看其他文档的时候也有涉及。

       为了配置根据上述解决方案工作的快速原型系统,必须以与 MCD 访问类似的方式向外部工具提供有关 RTE 内部数据缓冲区的一些知识。 因此,McSupportData 下面的元类也用于此目的。 这些用例需要对这些元类进行一些扩展。

       用于快速原型设计的 McDataInstance 的详细信息

       特别是对于具有隐式通信的 RunnableEntity 的原型设计,通常需要访问多个 RTE 内部缓冲区,并且需要描述哪种数据访问以及与每个缓冲区关联的 RTE 事件。

       可以通过设置 McDataInstance.mcDataAccessDetails 中的引用来提供(例如生成)此信息。 这些引用的基础应该是 ECU 提取,RTE 实现也属于 McSupportData 所指的(另请参见下面的约束)。

       除此之外,属性 McDataInstance.role 可用于添加有关此数据实例的特定角色的更多信息。注意这个属性的内容没有标准化。

       McDataAccessDetails 指的是一个 ECU提取

       在一个给定的 McDataAccessDetails 中,作为任何 McDataAccessDetails.roleMcDataAccessDetails 的基础或作为任何 McDataAccessDetails.roleMcDataAccessDetails 的基础引用的所有 System 实例都应相同且属于 ECU_EXTRACT。

       表格给出了MC数据访问的一些细节信息。

       该元类允许将有关 RTE 使用数据缓冲区的详细信息附加到相应的 McDataInstance。

       用例:直接内存访问 RTE 内部缓冲区以进行快速原型设计。 在隐式通信的情况下,需要识别与 RTE 事件和可变访问点相关的各种任务本地缓冲区。

       需要注意,SwComponentPrototype、RunnableEntity 和 VariableDataPrototype 是隐式给出的 RTEEvent 和 VariableAccess 的引用实例。

       McDataInstances 之间的关系

       在 RTE 中嵌入快速原型的情况下,需要多个相互关联的 McDataInstance。 例如,可能有一个缓冲区保存“原始”数据,一个缓冲区保存来自原型实现的“替换”数据,以及一个保存“开关”的数据实例,用于在正常功能和替换功能之间进行切换。

       元类 RoleBasedMcDataAssignment 提供了正式表达此类关联 RTE 数据之间的关系并将它们用作配置外部软件的输入的可能性。需要注意,此时元模型是相当通用的,以允许项目特定的用例。 因此,属性 RoleBasedMcDataAssignment.role 的值没有标准化,除了一个:      • 该属性的值 mainInstance 应用于表征与表示此数据缓冲区主要实例的特定 McDataInstance 的关系 - 即通常情况下 在 MCD 系统中显示。

       小结:这个里面介绍到的开关数据应该是一个什么使用场景呢?

       这个元类允许定义指定单个 McDataInstances 之间逻辑关系的链接。 关于此类链接的存在和语义的细节没有标准化。

       可能的用例:快速原型解决方案,其中在 RTE 中实现了额外的通信缓冲区和开关,允许在原始缓冲区和旁路缓冲区的使用之间进行切换。不同的缓冲区和开关可以用相互关联的 McDataInstances(为了被 MC 工具访问)表示。

       在 McSupportData 的不同用例之间拆分

       需要注意的是,McSupportData 对 McDataInstance 的聚合是可拆分的。 这允许将 MCD 用例和快速原型用例的数据描述保存在单独的工件中,并在不同的时间点生成它们。

       这样,关于测量与标定功能相关的模板部分的内容就看完了。这部分涉及到的一些信息我工作中接触过,因此这里看得细致点,原本也是希望从这种有点熟悉的地方打开一个缺口能够深入进去。整个基础软件描述模板部分,内容还是很多的。原来计划直接跳过,现在看来还是慢慢看看好一些。

这篇关于820_AUTOSAR_TPS_BSWModuleDescriptionTemplate16_标定对于快速原型的支持的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!