AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问

Grey

全部学习汇总: ​​https:///GreyZhang/hack_autosar​

AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问

摘录与批注

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_autosar

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_数据_02

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_迭代_03


  • 首先需要给自己提一个醒,这里的发送不仅仅是只诸如CAN之类的通信。
  • 针对发送可以有一个发送完成的确认事件。
  • 针对发送的超时,可以有一个发送超时的提醒。
  • 这种确认的机制最初我是在通信协议栈里面看到的,现在看这种功能到了应用软件级别依然是存在的。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_嵌入式设计_04

  • 与发送类似,数据的写入也有完成接口的选择。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_迭代_05

数据接收错误:


  • 大概的原则是COM来做检测,RTE则可以有一个提示接口。
  • 可能1: COM检查到了超时,然后通知RTE超时错误。
  • 可能2: COM检测到了数据无效,则向RTE报告数据无效。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_迭代_06

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_迭代_07


  • 这里主要讲解的点有两个,第一个是操作的调用,第二个是同步以及异步的调用。其中,后者会涉及到较多的方面以及概念。
  • 同步相对来说简单,异步的实现需要RTE的支持。主要是需要RTE提供诸如“操作已经完成”这样的通知功能。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_嵌入式设计_08

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_迭代_09

  • 这部分其实没有太多嵌入式设计相关的概念解释,主要还是针对工具设计的。从内容描述看,其实这里有一点设计上抽象的意思,谁拥有一个触发点谁就可以去执行触发动作。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_嵌入式设计_10

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_数据_11

  • 运行实体的触发是通过事件原来来实现的。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_autosar_12

这部分主要是运行实体与参数访问:


  • 标定量的实现有多种方式;
  • 多运行实体之间的参数共享,涉及到端口的使用。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_迭代_13

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_数据_14

实例化数据定义属性


  • 数据定义在工具之中其实遵循一个递归迭代的原则,因此可能会有各种属性上的覆盖或者变化。
  • 这里引入了一个新的解决方案,用以解决类似的问题。

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_嵌入式设计_15

980_AUTOSAR_TPS_SoftwareComponentTemplate58_运行实体与参数访问_autosar_16

这部分主要的内容是运行实体与模式之间的通信


  • 情况1: 请求模式与普通的数据没啥区别,数据收发之后根据数据内容进行相关的处理,不一定有实际的模式切换。
  • 情况2: 一个运行实体发送请求,其他的一个或者多个运行实体通过RTE的事件来响应。这种情况下,需要用到特殊的RTE API。

小结

这一次,看了一般参数的访问以及多运行实体的共享。此外,看了运行实体相关的通信方式实现。到此,加上前面的信息,整个数据访问以及运行实体的模板部分的内容到此基本梳理完了。