MCAL學習(1)——AutoSAR

1.了解AutoSAR及一些概念

AutoSAR是Automotive Open System Architecture ,汽車開放系統架構。
針對汽車ECU的軟件開發架構。已經是汽車電子軟件開發的標準。
在這里插入圖片描述
OS服務:Freertos
整車廠(OEM)主要負責應用層算法
一級供應商:生產制造ECU實現ECU相關功能(UDS、XCP、下線檢測等),受到OEM的約束。
二級供應商:芯片廠家等,主要負責芯片硬件和開發方式的推薦,受到一級供應商和整車廠的約束。
工具鏈廠家負責提供開發工具鏈個一級供應商和OEM進行產品開發(如Vector等)。

方法論:開發滿足AutoSar架構的ECU軟件的開發流程。

2.AutoSAR出現的背景

  • 汽車電子EE架構(電子電器架構)是指整車電子電器的總布置方案,將車上所有的控制器、傳感器通過總線連接起來。實現整車的功能運算,能力和能量分配。針對電子控制器眾多,每個控制器的供應商軟件標準不一樣,因此實現統一的軟件架構和開發標準,很重要。
    在這里插入圖片描述
  • 汽車電子產業鏈合作模式,芯片公司、二級級供應商、一級供應商、主機廠。在這種模式下、主機廠希望自身只需要開發應用層軟件,搭配購買來的開發板和底層軟件,一種成熟標準的軟件架構和開發模式十分重要。

3.AutoSAR的硬件環境

硬件環境:電子控制單元(ECU)由ECU有主控MCU和相關外圍電子電路組成的電控單元
主流MCU:NXP、英飛凌的芯片,通過嵌入式C語言對MCU進行軟件編程。
ECU架構包括對數字輸入信號、模擬輸入信號的判斷分析以及輸出相關驅動信號、通訊信號。
如圖。
在這里插入圖片描述
下圖是一個微控制器架構
在這里插入圖片描述

4.AutoSAR優勢

  • 開發效率高,代碼可重用率高
  • 代碼合作開發容易,維護容易
  • 開發周期短
  • 代碼質量短,有保障
  • 可支持整車OTA

5.主要開發流程

一個標準的AutoSar流程,
第一步:整車廠從需求生成最終的文件(給到每個ECU制造商)
在這里插入圖片描述

  • 首先要列需求,通過三種描述文件描述這些需求:SWC描述文件、系統描述文件、ECU資源文件(Vector的PREEvision);
  • 然后將這三個文件導入到系統配置編輯工具中,生成系統配置描述工具。這個就是整車描述文件。
  • 最后將系統配置文件導入到系統配置提取工具中,導出每個ECU相應的提取文件,該文件包含每個ECU需要用到的信息,比如通訊矩陣、SWC信息等(給下游供應商)。
    第二步,供應商拿到需求后
    在這里插入圖片描述
  • EB來配置MCAL驅動,生成arxml導入到Davinci Configuration中生成代碼。
  • Davinci Developer是用來配置APP層框架的,導入到Davinci Configurator中生成代碼。
  • Davinci Developer生成的arxml還會給一份到應用工程師(導入到MATLAB)然后通過MATLAB自動生成軟件框架,應用工程在里面添加模型代碼。
  • 負責上述步驟的EB(驅動)、Davinci Configuration(操作系統)、MATLAB/Simulink(應用層開發)工程師可以同步進行開發(效率快),最終進行集成。
  • 開發可以從上到下、也可從下到上,就是說可以在Developer中設計好AppL框架導入到MATLAB做填充,也可以在MATLAB中直接搭建好符合AutoSar規范的代碼,然后導出arxml,在導入到Develop中,自動生成框架。

5.1 SWC描述文件(應用層軟件組件描述文件)

  • 描述每個軟件組件需要的資源(比如存儲、CPU時間等)
  • SWC直接的接口
  • 運行機制

5.2 系統約束描述文件(整車公共資源描述)

  • 網絡拓撲
  • 通信矩陣
  • 總線波特率
  • 各種協議

5.3 ECU資源描述文件

描述每個ECU都需要實現什么功能,系統設計者通過該文件將不同功能的SWC分配到對應的ECU中

  • 傳感器
  • 執行器
  • 存儲器
  • 引腳分配

6.汽車電子崗位介紹

在這里插入圖片描述
汽車電子MCU工程師具備能力:
在這里插入圖片描述
汽車方向測試工程師具備能力
在這里插入圖片描述

7.AutoSar工具鏈介紹

應用層軟件使用MATLAB建模開發
底層軟件:一般Mcal驅動使用EB tresos工具鏈,協議棧使用Vector Davinci(Developer 負責應用層;Configuration負責除驅動外的基礎軟件層)工具鏈。
工具鏈提供全量的AutoSar架構軟件,
客戶根據自己項目的要求,配置除符合自己項目的軟件。
工程中的靜態代碼是不會改變的
配置代碼根據配置工具根據客戶不同的需求生成的代碼。

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

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

相關文章

Vue報錯:Cannot read properties of null (reading ‘xxx‘)

一、報錯問題 Cannot read properties of null (reading style)at patchStyle (runtime-dom.esm-bundler.js:104:22)二、錯誤排查 這類報錯一般是在已經開發好后,后面測試時突然發現的,所以不好排查錯誤原因。 三、可能原因及解決方案 v-if 導致 在 …

25G 80km雙纖BIDI光模塊:遠距傳輸的創新標桿

目錄 一、產品優勢:雙纖與BIDI的獨特價值 易天光通信25G SFP28 ZR 80KM 易天光通信25G SFP28 BIDI ZR 80KM 二、權威認證與技術突破 三、雙纖與BIDI的核心差異解析 四、應用場景:驅動多領域高效互聯 總結 在5G、云計算與數字化轉型的推動下,光…

2025-05-06 學習記錄--Python-注釋 + 打印變量 + input輸入

合抱之木,生于毫末;九層之臺,起于累土;千里之行,始于足下。💪🏻 一、注釋 ?? (一)、塊注釋 🍭 舉例: 🌰 # 打印數字 print(2025) …

基于mediapipe深度學習的眨眼檢測和計數系統python源碼

目錄 1.算法運行效果圖預覽 2.算法運行軟件版本 3.部分核心程序 4.算法理論概述 5.算法完整程序工程 1.算法運行效果圖預覽 (完整程序運行后無水印) 2.算法運行軟件版本 人工智能算法python程序運行環境安裝步驟整理_本地ai 運行 python-CSDN博客 3.部分核心程序 &…

怎樣通過API 實現python調用Chatgpt,gemini

怎樣通過API 實現python調用Chatgpt,gemini 以下為你詳細介紹如何設置和調用這些參數,以創建一個類似的 ChatCompletion 請求: 1. 安裝依賴庫 如果你使用的是 OpenAI 的 API 客戶端,需要先安裝 openai 庫。可以使用以下命令進行安裝: pip install openai2. 代碼示例 …

Linux 下MySql主從數據庫的環境搭建

測試環境:兩臺服務器,Mysql版本 8.0,linux版本:Ubuntu 20.04.3; 1.在兩臺服務器上安裝MySql; 2.選一臺作為主服務器,在主服務器上以root用戶進入Mysql,執行以下語句: …

力扣1812題解

記錄 2025.5.7 題目: 思路: 從左下角開始,棋盤的行數和列數(均從 1 開始計數)之和如果為奇數,則為白色格子,如果和為偶數,則為黑色格子。 代碼: class Solution {pu…

適合java程序員的Kafka消息中間件實戰

創作的初心: 我們在學習kafka時,都是基于大數據的開發而進行的講解,這篇文章為java程序員為核心,助力大家掌握kafka實現。 什么是kafka: 歷史: 誕生與開源(2010 - 2011 年) 2010 年&#xf…

PDF智能解析與知識挖掘:基于pdfminer.six的全棧實現

前言 在數字化信息爆炸的時代,PDF(便攜式文檔格式)作為一種通用的電子文檔標準,承載著海量的結構化與非結構化知識。然而,PDF格式的設計初衷是用于展示而非數據提取,這使得從PDF中挖掘有價值的信息成為數據…

Python爬蟲+代理IP+Header偽裝:高效采集亞馬遜數據

1. 引言 在當今大數據時代,電商平臺(如亞馬遜)的數據采集對于市場分析、競品監控和價格追蹤至關重要。然而,亞馬遜具有嚴格的反爬蟲機制,包括IP封禁、Header檢測、驗證碼挑戰等。 為了高效且穩定地采集亞馬遜數據&am…

架構思維:探討架構師的本質使命

文章目錄 軟件工程1. 軟件工程的定義與核心目標2. 軟件工程 vs. 軟件項目管理3. 軟件工程的兩大特性4. 軟件工程的關鍵活動與方法論5. 架構師在軟件工程中的職責架構師的職責和思維架構師心性修煉三大核心能力架構設計的基本準則 團隊共識“設計文檔”的統一結構框架閱讀他人代…

QT設計權限管理系統

Qt能夠簡單實現系統的權限設計 首先我們需要一個登陸界面 例如這樣 然后一級權限,可以看到所有的內容,不設置菜單欄的隱藏。 然后其他權限,根據登陸者的身份進行菜單欄不同的展示。 菜單欄的隱藏代碼如下: ui->actionuser-…

Debezium 架構詳解與實戰示例

Debezium 架構詳解與實戰示例 1. 整體架構圖 #mermaid-svg-tkAquOxA2pylXzON {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-tkAquOxA2pylXzON .error-icon{fill:#552222;}#mermaid-svg-tkAquOxA2pylXzON .error-t…

Qt天氣預報系統更新UI界面

Qt天氣預報系統更新UI界面 1、創建各個小部分列表2、定義一個更新UI函數2.1 實現更新UI界面函數 1、創建各個小部分列表 QList<QLabel *> weekList; //星期 QList<QLabel *> dateList; //日期QList<QLabel *> weatherL…

AWS MCP Servers

文章目錄 一、關于 AWS MCP Servers什么是模型上下文協議&#xff08;MCP&#xff09;以及它是如何與AWS MCP服務器協同工作的&#xff1f;為什么選擇MCP服務器&#xff1f; 二、可用 Servers核心MCP服務器AWS 文檔服務器亞馬遜 Bedrock 知識庫檢索 MCP 服務器AWS CDK MCP 服務…

python如何把pdf轉word

在Python中將PDF轉換為Word文檔&#xff08;.docx&#xff09;比反向轉換&#xff08;Word轉PDF&#xff09;更具挑戰性&#xff0c;因為PDF是固定格式&#xff0c;而Word是可編輯格式。以下是幾種可行的方法及詳細步驟&#xff1a; 方法1&#xff1a;使用 pdf2docx 庫 pdf2do…

NLP 和大模型技術路線

transformers快速入門 NLP 和大模型技術路線 在自然語言處理&#xff08;NLP&#xff09;和大模型領域&#xff0c;技術路線的學習應該從基礎開始&#xff0c;逐步深入到更高階的應用和優化技術。本文將詳細介紹相關技術點的學習順序&#xff0c;以及每個技術點的關鍵學習內容…

WordPress個人博客搭建(二):在 Ubuntu 22.04 x64 系統中使用1Panel 部署 WordPress

前言 在之前的安裝1Panel面板的文章中&#xff0c;我們已經成功將1Panel面板安裝到了2核4G配置的非凡云云服務器上。1Panel作為一款現代化的服務器管理面板&#xff0c;極大簡化了網站部署流程。本文將詳細介紹如何使用1Panel面板在云服務器上安裝部署WordPress&#xff0c;幫…

面試高頻算法:最長回文子串

題目&#xff1a;5. 最長回文子串 給你一個字符串 s&#xff0c;找到 s 中最長的回文子串。 回文&#xff1a;如果字符串向前和向后讀都相同&#xff0c;則它滿足回文性&#xff1b;子串&#xff1a;子字符串 是字符串中連續的非空字符序列。 示例 1&#xff1a; 輸入&…

全文索引數據庫Elasticsearch底層Lucene

Lucene 全文檢索的心&#xff0c;天才的想法。 一個高效的&#xff0c;可擴展的&#xff0c;全文檢索庫。全部用 Java 實現&#xff0c;無須配置。僅支持純文本文件的索引(Indexing)和搜索(Search)。不負責由其他格式的文件抽取純文本文件&#xff0c;或從網絡中抓取文件的過程…