99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

基于AUTOSAR規(guī)范的操作系統(tǒng)知識

jf_78858299 ? 來源:汽車控制與人工智能 ? 作者:Demu ? 2023-02-13 14:03 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

汽車電子控制器中目前基本遵循AUTOSAR規(guī)范,而其中操作系統(tǒng)作為BSW的重頭戲,始終讓學習AUTOSAR的同學望而生畏,進而望而卻步。所以,今天整理下基于AUTOSAR規(guī)范的操作系統(tǒng)知識,方便大家學習,以供參考。

0 為什么需要OS?

現(xiàn)在嵌入式系統(tǒng)紛繁復雜,這點毋庸置疑,但是為什么需要操作系統(tǒng)呢?有沒有仔細思考過。其實在早期的嵌入式系統(tǒng)中,是沒有操作系統(tǒng)概念的。相信做嵌入式開發(fā)的同學都能理解,在main()函數(shù)中,寫個while循環(huán),再加個定時器,按照分時間片的方式,定時執(zhí)行代碼,就可以完成簡單的調(diào)度。

但是,現(xiàn)在不一樣了,系統(tǒng)越來越復雜了,以前那種簡單粗暴的調(diào)度已經(jīng)無法滿足要求。說到系統(tǒng)復雜,主要原因有如下幾點:

  • 任務多樣化;
  • 周期復雜化;
  • 分層調(diào)用嵌套;
  • 多核系統(tǒng)引入;

舉個例子。比如,我們有個三核系統(tǒng),其中core0負責應用功能ASW,core1負責基礎功能BSW,core2負責系統(tǒng)監(jiān)控、功能安全和診斷等。如何在功能運行時,滿足其正常任務的調(diào)度,同時系統(tǒng)代碼指令和監(jiān)控等也同步呢?在main()函數(shù)里,我們通過循環(huán)語句加定時器再試試看,估計要“難于上青天”了吧。

所以,就需要一個叫做操作系統(tǒng)的東西出現(xiàn)。它管理任務和事件的調(diào)度、不同任務之間的數(shù)據(jù)流,并提供監(jiān)視和錯誤處理功能。操作系統(tǒng)為實時應用提供所有基本服務,包括中斷處理、調(diào)度、系統(tǒng)時間和時鐘同步、本地消息處理,以及錯誤檢測機制。

1 AUTOSAR OS特點

操作系統(tǒng)可以根據(jù)它們的特征被分成不同的組,比如靜態(tài)配置和動態(tài)管理。要對AUTOSAR操作系統(tǒng)(下文簡稱AUTOSAR OS)進行分類,以下是其基本特征:

  • 靜態(tài)配置
  • 推斷系統(tǒng)的實時性能
  • 提供基于優(yōu)先級的調(diào)度策略
  • 運行時提供保護功能(內(nèi)存、定時等)
  • 無需外部資源,可嵌入低端控制器

所以,Autosar OS 和常見的OS(如linux系統(tǒng)OS)具有以下的區(qū)別:

  • 在運行時不會動態(tài)創(chuàng)建新任務;
  • 屬于預編譯配置變體,必須在編譯之前定義所有任務;
  • 操作系統(tǒng)沒有動態(tài)內(nèi)存管理,也沒有用于手動控制任務的shell。

圖片

在AUTOSAR OS提出之前,在汽車電子領域其操作系統(tǒng)已經(jīng)經(jīng)歷了兩個階段,即non-OSEK OS和OSEK OS。

當然,現(xiàn)在處于的第三個階段Autosar OS,是與OSEK兼容的操作系統(tǒng),但是具有多個擴展性能。例如可擴展功能:調(diào)度表,OS applications,內(nèi)存保護和時序保護。OSEK OS 特別提供了以下特性支持AUTOSAR:

  • 基于優(yōu)先級調(diào)度
  • 處理中斷的功能
  • 中斷高于任務的優(yōu)先級
  • 防止錯誤使用OS 服務的保護措施
  • StartOS和StartupHook 啟動接口
  • ShutdownOS和ShutdownHook 關閉接口

具體的OS的可擴展級別分四級:

SC1 OSEK OS +計劃時間表
SC2 SC1 +時序保護
SC3 SC1 +內(nèi)存保護
SC4 SC1+SC2+SC3

2 AUTOSAR OS的對象

Autosar OS提供基于優(yōu)先級的調(diào)度策略,具有可搶占屬性和同步的機制,通過事件和資源的屬性來實現(xiàn)。AutosarOS提供以下對象進行多任務執(zhí)行的管理,如 Alarms,Applications,Application modes,Counters,Events,ISRs,Register Sets,Resources,Schedule tables,Spinlocks,Tasks。 這些對象及其配置是AUTOSAR OS的重點內(nèi)容,后續(xù)我們會分別詳細解釋,這里簡單介紹。

Alarms :警報器,就像我們的上課鈴聲,到時間就會響。操作系統(tǒng)用它來做一些定時的事,比如激活一個任務Task。

Applications :從字面意思理解,它是一個應用,準確地說,它應該是一個分區(qū)。它部署到某個Core上,主要的作用就是管理放到其中的對象。為什么要這個東西呢?舉個不恰當?shù)睦印?a target="_blank">MCU像一個國家,核就是它的省,那么Applications就可以理解成省管轄下的地級市。比如,某一天一個地級市里發(fā)現(xiàn)了大量新冠病毒感染者,為了防止擴散,將該市封閉處理,以免擴張到其他市區(qū)。想想看,當這個市里出現(xiàn)疫情時,是封閉整個省好呢,還是僅封閉該市好呢?顯然是后者。芯片里的劃區(qū)也是非常合理的。AUTOSAR OS 分區(qū)分為可信的和非可信的。

Application modes :用的極少,這里不展開介紹;

Counters :把Counter比作心臟比較合適,對于芯片來說,它就是晶振。在操作系統(tǒng)它的作用就是計時或者計數(shù),一般Counter與芯片的Timer結合起來,Counter的精度決定了操作系統(tǒng)能計時的準確度。

Events: 事件。在嵌入式操作系統(tǒng)中,事件一般是和任務綁定一起來實現(xiàn)調(diào)度功能的,當然也可以由Alarms來觸發(fā)。比如,我通過設定某個任務在10ms進程執(zhí)行,10ms的任務就和該事件一起來實現(xiàn)。

ISRs: interrupt service routine,就是我們講的中斷。中斷的概念對于嵌入式開發(fā)的同學而言,應該都比較熟悉。在AUTOSAR OS中中斷有兩種類型,Autosar OS中將中斷分為Cat1 和Cat2,即所謂的1類中斷和2類中斷,所謂的2類中斷其實就是完全被OS接管的中斷,這類中斷的上下文切換,堆棧管理全部由OS管理;而1類中斷則不被OS接管,因此它的上下文由自己管理。另外Autosar Os中要求Cat1的中斷的最低優(yōu)先級高于Cat2的最高優(yōu)先級,也就是說Cat1的中斷優(yōu)先級更高。所以Cat1的中斷一般用于時間要求更緊急的場合。要知道,中斷有比任何任務都高的優(yōu)先級,即中斷可以搶占任務。

Register Sets: 幾乎沒有使用,暫時不介紹。

**Resources:**資源。嵌入式系統(tǒng)內(nèi)部的資源是用來強制任務分組運行的,在分組內(nèi)部,是沒有搶占一說的,即共享資源。當然,中斷就不能使用內(nèi)部分組資源了。共享什么資源呢?比如棧的共用,為了降低系統(tǒng)的負荷,我們可以讓同分組的任務共用分配的棧資源,你用完我用,像和諧社會一般。

**Schedule tables:**調(diào)度表,可以將其理解為包含了很多調(diào)度點的表,Autosar Os中一般這么用調(diào)度表,比如有 1ms,2ms,5ms 三個周期需要調(diào)度的任務,那么會根據(jù)公約數(shù),生成一個表,這個表在1ms 處調(diào)度1ms任務,2ms處調(diào)度1ms和2ms任務,4ms處調(diào)度1ms和2ms任務,5ms處調(diào)度1ms和5ms任務,10ms處調(diào)度1ms,2ms,5ms任務,然后按照這樣的關系循環(huán),這就是所謂的調(diào)度表。目前有部分主流的Autosar開發(fā)商使用這種方式進行任務的調(diào)度。當然,Schedule Table有自己的狀態(tài)機,Schedule Table調(diào)度方式最大的好處在于保持調(diào)度的同步性。

Spinlocks: 沒有項目使用,暫不介紹。

**Tasks:**任務應該也比較熟悉,Autosar Os有些自己的性質(zhì),簡單介紹下。

Task 類型:

  • Basic Task:包含狀態(tài)Ready,Running,Suspend
  • Extend Task:包含狀態(tài)Ready,Running,Suspend和Waiting

所謂的擴展task,就是多了一個Waiting狀態(tài),因此它一般就是等待一個Event的到來。

此外Task的調(diào)度分為搶占式和協(xié)作式,對于可搶占的Task,OS會根據(jù)Task的優(yōu)先級進行排序調(diào)度,優(yōu)先級高的可以搶占優(yōu)先級低的。在AUTOSAT OS中數(shù)字越大優(yōu)先級越高。

當然,操作系統(tǒng)還有內(nèi)存保護,時序保護和錯誤機制等內(nèi)容,今天概覽性地介紹這些,后續(xù)有機會再分別詳細闡述。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關注

    關注

    114

    文章

    17089

    瀏覽量

    184090
  • 汽車電子
    +關注

    關注

    3037

    文章

    8340

    瀏覽量

    170089
  • AUTOSAR
    +關注

    關注

    10

    文章

    378

    瀏覽量

    22625
  • BSW
    BSW
    +關注

    關注

    0

    文章

    15

    瀏覽量

    3595
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    實時操作系統(tǒng)和分時操作系統(tǒng)的區(qū)別

    操作系統(tǒng)能否滿足實時性要求來區(qū)分,可把操作系統(tǒng)分成分時操作系統(tǒng)和實時操作系統(tǒng),分時操作系統(tǒng)按照相等的時間片調(diào)度進程輪流運行,分時操作系統(tǒng)
    發(fā)表于 11-14 17:39 ?1.3w次閱讀

    如何開發(fā)符合AUTOSAR規(guī)范的電機控制器軟件

    基于AUTOSAR規(guī)范的電機控制器軟件開發(fā)本系列文章主要介紹如何開發(fā)符合AUTOSAR規(guī)范的電機控制器軟件的詳細過程。全系類分為基礎篇和實戰(zhàn)篇:基礎篇內(nèi)簡要介紹最新的
    發(fā)表于 08-30 08:59

    嵌入式操作系統(tǒng)FreeRTOS的相關資料分享

    嵌入式操作系統(tǒng)FreeRTOS (1)1、基礎知識 系統(tǒng)認識2、移植必要文件 文件 移植說明3、源碼的命名規(guī)范1、基礎知識
    發(fā)表于 12-27 06:29

    介紹一種適配RT-Thread內(nèi)核的autosar操作系統(tǒng)

    目是基于autosar3.1的開源代碼arctic core,在此基礎上,完成在n32g45x上的mcal驅動,適配RT-Thread內(nèi)核為autosar操作系統(tǒng)。??目前已完成mcal的mcu驅動
    發(fā)表于 05-19 15:40

    操作系統(tǒng)教程_孫鐘秀

    本書的特點之一是:既致力于傳統(tǒng)操作系統(tǒng)基本概念、基本技術、基本方法的闡述,又融合現(xiàn)代操作系統(tǒng)最新技術發(fā)展和應用的討論,著眼于操作系統(tǒng)學科知識體系的系統(tǒng)性、先進性和
    發(fā)表于 12-09 14:55 ?0次下載
    <b class='flag-5'>操作系統(tǒng)</b>教程_孫鐘秀

    操作系統(tǒng)原理_孫鐘秀

    本書的特點之一是:既致力于傳統(tǒng)操作系統(tǒng)基本概念、基本技術、基本方法的闡述,又融合現(xiàn)代操作系統(tǒng)最新技術發(fā)展和應用的討論,著眼于操作系統(tǒng)學科知識體系的系統(tǒng)性、先進性和
    發(fā)表于 04-11 14:23 ?0次下載

    RTOS操作系統(tǒng)

    RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)RTOS操作系統(tǒng)
    發(fā)表于 12-28 15:30 ?0次下載

    計算機測控系統(tǒng)操作系統(tǒng)概述集合【labview基礎知識

    計算機測控系統(tǒng)操作系統(tǒng)概述集合,labview基礎知識
    發(fā)表于 01-12 11:13 ?19次下載

    全球及我國汽車操作系統(tǒng)發(fā)展現(xiàn)狀分析

    車控操作系統(tǒng)是管理車輛動力、底盤、車身等基礎硬件系統(tǒng)和軟件資源的程序。以歐美為主導,已開展了兩輪標準化工作:OSEK/VDX和AUTOSAR。OSEK/VDX主要對操作系統(tǒng)和網(wǎng)絡管理進
    發(fā)表于 07-24 17:09 ?3381次閱讀

    Linux操作系統(tǒng)知識講解:走進內(nèi)存

    Linux操作系統(tǒng)知識講解:走進內(nèi)存
    的頭像 發(fā)表于 08-28 10:30 ?2609次閱讀
    Linux<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>知識</b>講解:走進內(nèi)存

    關于操作系統(tǒng)知識詳細解讀

    廣義的操作系統(tǒng)包括:計算機(PC、工作站、服務器)系統(tǒng)、移動端系統(tǒng)(例如鴻蒙)、嵌入式系統(tǒng) 等。本篇報告只涉及計算機操作系統(tǒng)。
    的頭像 發(fā)表于 03-26 14:58 ?9889次閱讀
    關于<b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>知識</b>詳細解讀

    linux操作系統(tǒng)基礎知識

    本文主要闡述了linux操作系統(tǒng)基礎知識。
    發(fā)表于 06-04 15:07 ?6035次閱讀

    汽車操作系統(tǒng)和中間件的關系

    如果嵌入式操作系統(tǒng)(比如FreeRTOS, uCOS或Autosar CP的內(nèi)核)的開發(fā)難度和工作量是1, 那么大型操作系統(tǒng)的開發(fā)難度和工作量就是99, 從體量就能看出,一個完整的嵌入式操作系
    發(fā)表于 07-21 11:16 ?1131次閱讀
    汽車<b class='flag-5'>操作系統(tǒng)</b>和中間件的關系

    AUTOSAR OS操作系統(tǒng)功能特性

    汽車電子系統(tǒng)中的軟件任務和中斷。它提供了以下功能特性: 任務和中斷管理:AUTOSAR OS可以創(chuàng)建、啟動、停止和刪除任務,并處理中斷請求。它可以根據(jù)任務的優(yōu)先級和調(diào)度策略來調(diào)度任務的執(zhí)行,確保任務
    的頭像 發(fā)表于 10-27 16:55 ?2620次閱讀

    普華車用操作系統(tǒng)與黑芝麻智能武當C1200家族芯片完成適配

    普華靈智安全車控操作系統(tǒng)AUTOSAR CP)和普華靈思智能駕駛操作系統(tǒng)AUTOSAR AP)已與黑芝麻智能武當C1200家族芯片完成適配。
    的頭像 發(fā)表于 01-06 14:16 ?673次閱讀
    普華車用<b class='flag-5'>操作系統(tǒng)</b>與黑芝麻智能武當C1200家族芯片完成適配