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接口,然后进行调度。


每个层是否允许交互

相关文章:
Autosar架构
蓝框那种叫component,绿框的叫function cluster。 接口 有三种接口,RTE跟SWC之间链接的叫Autosar Interface,RTE跟BSW的Components链接是Standardized Interface,RTE跟BSW的services链接的是Standardized Autosar Interface。 St…...
Java 异常介绍
在Java中,异常(Exception)是程序在运行时遇到的问题或错误的表示。异常可以是由程序错误、非法操作、资源不足或其他意外情况引起的。Java异常分为两类:受检异常(Checked Exception)和未检查异常(Unchecked Exception)。 受检异常(Checked Exception): 受检异常是编…...
vulhub靶机struts2环境下的s2-032(CVE-2016-3081)(远程命令执行漏洞)
影响范围 Struts 2.3.19至2.3.20.2、2.3.21至2.3.24.1和2.3.25至2.3.28 当用户提交表单数据并验证失败时,后端会将用户之前提交的参数值使用OGNL表达式%{value}进行解析,然后重新填充到对应的表单数据中。 漏洞搭建 没有特殊要求,请看 (3…...
Kubernetes之Headless Services
Kubernetes中的Headless Services(无头服务)是一种特殊类型的服务(Service)定义,它不提供传统意义上的负载均衡和集群IP地址分配。在无头服务中,spec.clusterIP 字段被显式设置为None ,Kubernet…...
银行监管报送系统系列介绍(十七):一表通2.0
国家金融监督管理总局于9月发布了【一表通2.0(试用版)】(简称:一表通2.0),在原试点报送范围的基础上扩大了试点报送区域,意味着将陆续扩大试报送机构范围,推进的速度已明显加快。尽早…...
网络安全之OSPF进阶
该文针对OSPF进行一个全面的认识。建议了解OSPF的基础后进行本文的一个阅读能较好理解本文。 OSPF基础的内容请查看:网络安全之动态路由OSPF基础-CSDN博客 OSPF中更新方式中的触发更新30分钟的链路状态刷新。是因为其算法决定的,距离矢量型协议是边算边…...
Ubuntu虚拟机上推荐一款免费好用的git版本管理工具
工具叫: gitg 软件界面如下: FR:徐海涛(hunkxu)...
python下载及安装
1、python下载地址: Python Releases for Windows | Python.orgThe official home of the Python Programming Languagehttps://www.python.org/downloads/windows/ 2、python安装 (1) 直接点击下载后的可执行文件.exe (2&…...
visual studio2022 JNI极简开发流程
文章目录 1 创建java类2 生成JNI头文件3 使用visual studio2022创建DLL项目3.1 选择模板中(Windows桌面向导)3.2 为项目命名3.3 选择应用程序类型为动态链接库3.4 项目概览 4 导入需要的头文件4.1 导入需要的头文件4.2 修改头文件 5 编写C实现6 生成dll文…...
Linux 第三十章
🐶博主主页:ᰔᩚ. 一怀明月ꦿ ❤️🔥专栏系列:线性代数,C初学者入门训练,题解C,C的使用文章,「初学」C,linux 🔥座右铭:“不要等到什么都没有了…...
Linux网络——自定义序列化与反序列化
前言 之前我们学习过socket之tcp通信,知道了使用tcp建立连接的一系列操作,并通过write与read函数能让客户端与服务端进行通信,但是tcp是面向字节流的,有可能我们write时只写入了部分数据,此时另一端就来read了&#x…...
大模型介绍
大模型通常指的是参数量超过亿级别,甚至千亿级别的深度学习模型。这类模型能够处理更加复杂的任务,并在各项基准测试中取得了优异的成绩。大模型在自然语言处理、计算机视觉、推荐系统等领域都取得了显著的成果。 大模型的主要优势在于其强大的表征能力&…...
【思维】根号分治
写在前面的话: 个人理解 根号分治本身就是一种卡着评测机过题的做法,所以非必要不要写 #define int long long !!! 本篇博客参考:暴力美学——浅谈根号分治 做到过两三题根号分治了,来总结一下…...
Linux线程(三)死锁与线程同步
目录 一、什么是死锁 死锁的四个必要条件 如何避免死锁 避免死锁算法 二、Linux线程同步 三 、条件变量 1、条件变量基本原理 2、条件变量的使用 3、条件变量使用示例 为什么 pthread_cond_wait 需要互斥量? 一、什么是死锁 死锁是计算机科学中的一个概念,…...
SpringAMQP 发布订阅-TopicExchange
根据这个模型编写代码: RabbitListener(bindings QueueBinding(value Queue(name "topic.queue1"),exchange Exchange(name "itcast.topic",type ExchangeTypes.TOPIC),key {"china.#"}))public void listenTopicQueue1(String msg){Syst…...
uniapp h5 配置代理服务器
"devServer": {"disableHostCheck": true,"proxy": {"/api": {// 需要被代理的后台地址"target": "http://自己的地址","changeOrigin": true,"secure": false,"pathRewrite": {&q…...
使用Apache Spark从MySQL到Kafka再到HDFS的数据转移
使用Apache Spark从MySQL到Kafka再到HDFS的数据转移 在本文中,将介绍如何构建一个实时数据pipeline,从MySQL数据库读取数据,通过Kafka传输数据,最终将数据存储到HDFS中。我们将使用Apache Spark的结构化流处理和流处理功能&#…...
一篇文章拿下Redis 通用命令
文章目录 Redis数据结构介绍Redis 通用命令命令演示KEYSDELEXISTSEXPIRE RedisTemplate 中的通用命令 本篇文章介绍 Redis 的通用命令, 通用命令在 Redis 的所有数据类型下都使用, 学好通用命令可以让我们更好的使用 Redis. Redis数据结构介绍 Redis 是一个key-value的数据库&…...
锂电池充电充放电曲线分析
前言 锂电池的充电曲线通常包括三个阶段:恒流充电阶段、恒压充电阶段和滞后充电阶段。在恒流充电阶段,电流保持恒定,电压逐渐增加;在恒压充电阶段,电压保持恒定,电流逐渐减小;在滞后充电阶段,电流进一步减小,电池开始充满。通过监测这些阶段的电流和电压变化,可以评…...
vue3 第二十九节 (vue3 事件循环之nextTick)
引言 vue 项目中为什么要使用 nextTick 这个函数,是做什么用的,解决了哪些问题 1、nextTick 作用 用于处理DOM更新完成之后,执行回调函数的方法; 2、实现方案 vue2 中 nextTick() 是基于浏览器的 异步队列和微任务队列而执行…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...
04-初识css
一、css样式引入 1.1.内部样式 <div style"width: 100px;"></div>1.2.外部样式 1.2.1.外部样式1 <style>.aa {width: 100px;} </style> <div class"aa"></div>1.2.2.外部样式2 <!-- rel内表面引入的是style样…...
UR 协作机器人「三剑客」:精密轻量担当(UR7e)、全能协作主力(UR12e)、重型任务专家(UR15)
UR协作机器人正以其卓越性能在现代制造业自动化中扮演重要角色。UR7e、UR12e和UR15通过创新技术和精准设计满足了不同行业的多样化需求。其中,UR15以其速度、精度及人工智能准备能力成为自动化领域的重要突破。UR7e和UR12e则在负载规格和市场定位上不断优化…...
dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...
CSS设置元素的宽度根据其内容自动调整
width: fit-content 是 CSS 中的一个属性值,用于设置元素的宽度根据其内容自动调整,确保宽度刚好容纳内容而不会超出。 效果对比 默认情况(width: auto): 块级元素(如 <div>)会占满父容器…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
Go语言多线程问题
打印零与奇偶数(leetcode 1116) 方法1:使用互斥锁和条件变量 package mainimport ("fmt""sync" )type ZeroEvenOdd struct {n intzeroMutex sync.MutexevenMutex sync.MutexoddMutex sync.Mutexcurrent int…...
TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
django blank 与 null的区别
1.blank blank控制表单验证时是否允许字段为空 2.null null控制数据库层面是否为空 但是,要注意以下几点: Django的表单验证与null无关:null参数控制的是数据库层面字段是否可以为NULL,而blank参数控制的是Django表单验证时字…...
