[AutoSar]基础部分 RTE 03 C/S Port 同步/异步

目录

  • 关键词
  • 平台说明
  • 一、C/S port interface 定义
    • 1.1在Davinci developer中的创建
  • 二、同步调用和异步调用
    • 2.1 同步
    • 2.1.1同步code
    • 2.1.2同步处理时序图
  • 2.2 异步
    • 2.2.1异步code
    • 2.2.2异步处理时序图
      • 2.2.2.1 poling
      • 2.2.2.2 waiting
      • 2.2.2.3none
  • 三、server端的mapping到task详解

  

关键词

嵌入式、C语言、autosar、Rte

平台说明

项目 Value
OS autosar OS
autosar厂商 vector
芯片厂商 TI
编程语言 C,C++
编译器 HighTec (GCC)

在这里插入图片描述

一、C/S port interface 定义

  C = client,S = server,通俗可以这样理解
client:这是一个客户,客户需要其他人(component)提供一个服务。
server:这就是一个服务员,客户吼一声(触发调用)需要什么服务(输入参数)服务员就得立马跑过来进行服务(处理任务)并在服务后询问客户是否满意(返回值)。

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第1张图片

1.1在Davinci developer中的创建

  在这里CtAp_Demo_Core1作为client,CpApSWC1作为server。该interface中创建一个option为OpenDoor()带一个输入参数和一个输出参数。
[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第2张图片
[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第3张图片
[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第4张图片
[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第5张图片

二、同步调用和异步调用

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第6张图片

  如图所示我们可以在client调用的时候选择同步还是异步。区别如下:
通俗来讲举个例,客人让服务员帮忙烤肉
**同步:**客人让服务员过来帮忙烤肉(client调用server),客人什么也不干(client wait),等着服务员把肉烤好了(返回状态或者值)再吃烤肉。
**异步:**客人让服务员过来帮忙烤肉(client调用server),客人可以先吃其他菜,预估着服务员应该把肉烤已经好了问一下服务员是否能吃了?(client 调用 server获取结果)再吃烤肉。

2.1 同步

  可以理解为:
①去调用了另一个函数,等待这个函数运行完后返回。
②在超时前返回状态(值)。
③返回状态错误或者超时则丢弃该结果。

2.1.1同步code

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第7张图片

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第8张图片

2.1.2同步处理时序图

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第9张图片

2.2 异步

  
①异步调用有两个步骤,第一个是调用Rte_Call_AcsSWC1_OpenDoor()执行代码,第二个是调用
Rte_Result_AcsSWC1_OpenDoor()获取结果。
②获取结果方式有三种:
  1.poling:轮询直到服务执行完获取结果,和同步调用差不多。
  2.waiting:超时后获取结果。
  3.none:服务执行完成后触发获取结果。
[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第10张图片

2.2.1异步code

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第11张图片

2.2.2异步处理时序图

2.2.2.1 poling

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第12张图片

2.2.2.2 waiting

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第13张图片

2.2.2.3none

[AutoSar]基础部分 RTE 03 C/S Port 同步/异步_第14张图片

三、server端的mapping到task详解

见链接: CS interface server runnable mapping第二节。

你可能感兴趣的:(CP_Autosar,Autosar,RTE)