Autosar架构

蓝框那种叫component,绿框的叫function cluster。

接口

有三种接口,RTE跟SWC之间链接的叫Autosar Interface,RTE跟BSW的Components链接是Standardized Interface,RTE跟BSW的services链接的是Standardized Autosar Interface。

Standardized Interface标准化接口

RTE跟OS、COM、EcuM之间的接口都叫Standardized Interface,本质上就是个C函数。

譬如RTE和OS的Schedule(),WaitEvent()

RTE和COM的Com Sendsignal()

RTE和EcuM的Rte_start(),Rte_stop()

Autosar Interface用户自定义接口

主要在RTE和SWC之间,其实就是RTE和用户自己定义的Component

BSW里面有两个模块Component比较特殊,IoHwb/CDD,这两个比较像用户自定义的Component,跟RTE之间的接口是Autosar Interface。

S/R接口为Rte_Write_<p>_<d>

C/S接口为Rte_Call_<p>_<o>

Standardized Autosar Interface提供服务接口

主要是用来提供服务

譬如SWC通过RTE调用DEM模块的接口为

runnable对应component Type里面有Port Prototype,再里面有Port Interface。左边的Definition相当于class,右边的Usage相当于object,实例化右边的内容。

大家会发现它有一定的命名规则,Ct开头的是type,也就是左边的Definition,Cp开头的是ProtoType,也就是右边的Usage。

上面的SWC通过回调到下面的CpDEM,里面的操作是SetEventStatus。

Port Prototype里面有Port Interface,也就是PpDemLightDefectDtc里面的DiagnosticMonitor。

runnable就是Dem_SetEventStatus,但是SWC值传输个EventStatus,EventId靠RTE来映射。

生成文件

通过SWC描述xml文件导入Configurator,会生成对应的接口文件和执行文件,另加一个总的类型定义文件。

生成代码

通过RTE配置文件、OS配置文件和其他BSW模块配置文件生成RTE文件,包括头文件和源文件。

源文件当中会调度TASK,里面会等待event触发下面的Ap_Dimmer或者AP_DoorContacts接口,然后进行调度。

每个层是否允许交互

相关推荐
dyj09526 分钟前
【Devops-Jenkins自动将Java Maven工程编译成jar、并打成Docker镜像,并上传Harbor】
java·jenkins·devops
std787929 分钟前
Rust 与 Go – 比较以及每个如何满足您的需求
开发语言·golang·rust
gordon~935 分钟前
Spring 的bean是安全的吗
java·安全·spring·bean
报错小能手35 分钟前
python(入门)map内置函数及import模块导入,as别名
开发语言·人工智能·python
梵得儿SHI42 分钟前
Java 反射机制实战:对象属性复制与私有方法调用全解析
java·开发语言·java反射机制的实际应用·对象属性复制·反射调用私有方法·私有字段·类型兼容性和敏感字段忽略
sulikey1 小时前
C++的STL:深入理解 C++ 的 std::initializer_list
开发语言·c++·stl·list·initializerlist·c++标准库
带刺的坐椅1 小时前
LangChain4j 比 SolonAI 强在哪?弱在哪?
java·ai·langchain·solon·mcp
liu****1 小时前
19.map和set的封装
开发语言·数据结构·c++·算法
孤廖1 小时前
C++ 模板再升级:非类型参数、特化技巧(含全特化与偏特化)、分离编译破解
linux·服务器·开发语言·c++·人工智能·后端·深度学习
润 下1 小时前
C语言——回调函数的典型示例(分析详解)
c语言·开发语言·人工智能·经验分享·笔记·程序人生