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

每個層是否允許交互

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/11726.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/11726.shtml
英文地址,請注明出處:http://en.pswp.cn/web/11726.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

項目部署到線上proxytable代理失效nginx報404的問題

我的項目是在vue的config文件夾中的index.js中配置了接口地址 &#xff0c;本地跑的時候都能訪問&#xff0c;放到線上就報404&#xff1b; module.exports {dev: {// PathsassetsSubDirectory: static,assetsPublicPath: /,proxyTable: {/xxx: {target: http://xxxxxxxx:xxx…

分享四種CAD圖紙加密方法,嚴防盜圖

在數字化時代&#xff0c;cad圖紙的盜用和非法傳播問題日益突出。對于企業和設計師來說&#xff0c;保護設計成果的安全性和原創性&#xff0c;采取有效的cad加密方法至關重要。本文將分享四種cad加密方法&#xff0c;幫助您嚴防盜圖&#xff0c;保護圖紙安全。 使用cad軟件內…

網絡協議的分類

1.概要 網絡協議可以分為三類&#xff1a; 封裝協議路由協議功能類協議 2.分類說明 OSPF報文直接調用_ IP協議__協議進行封裝&#xff0c;以目的地址_244.0.0.5 __發送到所有的OSPF路由器? 244.0.0.1 所有主機&#xff1b;244.0.0.2 所有路由器&#xff1b;244.0.0.6 指定…

【前端每日一題】day5

JS 實現繼承的幾種方式 在JavaScript中&#xff0c;實現繼承的幾種方式包括原型鏈繼承、構造函數繼承、組合繼承、原型式繼承、寄生式繼承和組合式繼承。 原型鏈繼承&#xff1a; function Parent() {this.name Parent; } Parent.prototype.sayHello function() {console.…

當它還是幼生期的時候,及早離開它!

當我們有豐富的精神生活時&#xff0c;充實的知識吸收儲備時&#xff0c;為自己的每一點進步而欣慰時&#xff0c;我們就不會有失敗的憂慮。也不會有孤單的自憐。 沒有人是弱者&#xff0c;每個人都有自己活著的方式&#xff0c;當你內心強大時&#xff0c;你會尊重每一個“弱者…

Vue+springboot的批量刪除功能

vue前臺 <div style"margin-bottom: 10px"><el-button type"primary" plain click"handleAdd">新增</el-button><el-button click"delBatch" type"danger" plain style"margin-left: 5px"…

Spring Cloud 背后技術詳解

Spring Cloud 是基于 Spring Boot 的一套微服務架構解決方案。它為開發者提供了一系列的工具&#xff0c;用于快速構建分布式系統中的一些常見模式&#xff08;例如配置管理、服務發現、斷路器等&#xff09;。Spring Cloud 利用 Spring Boot 的自動配置和獨立運行能力&#xf…

C語言例題41、八進制轉換為十進制

#include<stdio.h>void main() {int x;printf("請輸入一個8進制整數&#xff1a;");scanf("%o", &x);printf("轉換成十進制后的整數為%d\n", x); }運行結果&#xff1a; 本章C語言經典例題合集&#xff1a;http://t.csdnimg.cn/FK0Qg…

Java基礎(33)Java Web攔截器作用和用法

Java Web攔截器&#xff08;Interceptor&#xff09;是Java Web開發中一個重要的概念&#xff0c;它允許開發者在處理HTTP請求和響應之前或之后執行特定的代碼&#xff0c;從而實現如權限檢查、日志記錄、事務管理等功能。攔截器可以作用于Java EE的Servlet、Spring框架、Strut…

redis試題按知識點歸類(四)

十六、實戰應用 1.如何使用 Redis 存儲用戶會話&#xff1f; 2.Redis 在電子商務平臺中的應用是什么&#xff1f; 3.如何使用 Redis 進行實時數據分析&#xff1f; 十七、面試題綜合 1.描述一次你解決 Redis 性能問題的經歷。 2.你如何理解 Redis 中的“單線程”模型&…

Java入門基礎學習筆記21——Scanner

在程序中接收用戶通過鍵盤輸入的數據&#xff1a; 需求&#xff1a; 請在程序中&#xff0c;提示用戶通過鍵盤輸入自己的姓名、年齡、并能在程序中收到這些信息&#xff0c;怎么解決&#xff1f; Java已經寫好了實現程序&#xff0c;我們調用即可。 API&#xff1a;Applicat…

2024 年中國大學生程序設計競賽全國邀請賽(鄭州)暨第六屆CCPC河南省大學生程序設計競賽 problem K. 樹上問題

//先找一個美麗的樹&#xff0c;然后遍歷樹找節點,分析是否符合條件。 //畫幾個圖&#xff0c;思考下。 #include<bits/stdc.h> using namespace std; #define int long long const int n1e611; int a,b,c[n],d,l,r,k,w,an; vector<int>t[n]; void dfs(int x,int…

MLT剪輯sample

#include <framework/mlt.h> int main(int argc, char **argv) { // 初始化MLT mlt_factory factory mlt_factory_init(NULL); // 加載素材&#xff08;這里假設我們有一個名為"video.mp4"的視頻文件&#xff09; mlt_profile profile mlt_prof…

什么是頁分裂、頁合并?

數據組織方式 在InnoDB存儲引擎中&#xff0c;表數據都是根據主鍵順序組織存放的&#xff0c;這種存儲方式的表稱為索引組織表(index organized table IOT)。 行數據&#xff0c;都是存儲在聚集索引的葉子節點上的。而我們之前也講解過InnoDB的邏輯結構圖&#xff1a; 在I…

61、內蒙古工業大學、內蒙科學技術研究院:CBAM-CNN用于SSVEP - BCI的分類方法[腦機二區還是好發的]

前言&#xff1a; 之前寫過一篇對CBAM模型改進的博客&#xff0c;在CBAM中引入了ECANet結構&#xff0c;對CBAM中的CAM、SAM模塊逐一改進&#xff0c;并提出ECA-CBAM單鏈雙鏈結構&#xff0c;我的這個小的想法已經被一些同學實現了&#xff0c;并進行了有效的驗證&#xff0c;…

快速對比 找出2個名單不同之處

import pandas as pd# 讀取兩個Excel文件 df1 pd.read_excel(1.xlsx) df2 pd.read_excel(2.xlsx)# 檢查兩個DataFrame的列是否相同 if list(df1.columns) ! list(df2.columns):print("兩個Excel文件的列不一致。")print("文件1的列&#xff1a;", df1.co…

AI智能體|手把手教你申請一個Kimi(Moonshot)的API KEY

大家好&#xff0c;我是無界生長。 今天分享一下如何申請一個Kimi(Moonshot)的API KEY&#xff0c;為后面Kimi(Moonshot)接入微信機器人做鋪墊。學會了的話&#xff0c;歡迎分享轉發&#xff01; 前提 擁有一個Kimi(Moonshot)賬號 使用手機號注冊即可&#xff0c;新用戶可免費…

oracle如何設計生成token給程序使用

在Oracle中設計生成token&#xff08;令牌&#xff09;供程序使用通常涉及幾個步驟&#xff0c;這些步驟可能因您的具體需求和使用的技術棧而有所不同。以下是一個基本的指南&#xff0c;描述了如何設計并生成token&#xff1a; 確定token的用途和屬性&#xff1a; 確定token…

【線程創建】——三種方式?多線程案例練習

02 線程創建 Thread , Runnable , Callable 三種創建方式 Thread class - 繼承Thread類 (重點) Runnable接口 - 實現Runnable接口 (重點) Callable接口 - 實現Callable接口 (了解) Thread 類實現 它繼承了老祖宗 Object java.lang.Object java.lang.Thread 它實現了 Runnab…

文本到語音的學習筆記:從Docker開始

1.docker 是什么意思&#xff1f; Docker 是一種開源的容器化平臺&#xff0c;它允許開發者將應用及其依賴打包到一個輕量級、可移植的容器中&#xff0c;然后可以在任何支持Docker的系統上運行這個應用&#xff0c;而不必擔心環境差異導致的問題。 以下是Docker的一些關鍵特…