四虎中文_国产成人高清精品免费软件_亚洲人成网站18禁止人_看国产到性色_狠日狠干日日射_xxxx性按摩bbbb

400-821-6015
行業(yè)資訊
您當(dāng)前的位置:首頁(yè) ? 行業(yè)資訊 ? 行業(yè)資訊
內(nèi)部資訊行業(yè)資訊

AUTOSAR RTE介紹

發(fā)布日期:2022-07-26

RTE是什么


      AUTOSAR RTE(Run Time Environment)實(shí)現(xiàn)了AUTOSAR系統(tǒng)中的虛擬功能總線(VFB),提供了SWC(Software Component)之間的訪問(wèn)接口和SWC對(duì)于BSW資源的訪問(wèn)接口。RTE為SWC中的Runnable提供與其他SWC或者BSW模塊通信的接口,RTE將Runnable映射到OS Task中,并且管理Runnable的觸發(fā)機(jī)制,因此RTE功能主要可以分為兩個(gè)部分:

  • SWC間的通信
  • SWC的調(diào)度

     簡(jiǎn)化的AUTOSAR架構(gòu)圖如下:

圖片

      如上圖,AUTOSAR架構(gòu)是分層設(shè)計(jì)的,并且其理念是將軟件與硬件解耦,使得軟件可以重分配和復(fù)用,這些都要依賴(lài)RTE來(lái)實(shí)現(xiàn)。但是RTE是不可復(fù)用的,因?yàn)镽TE是匹配應(yīng)用需求的,所以如果應(yīng)用修改了RTE也就需要修改。除了高度依賴(lài)ECU硬件的傳感器/執(zhí)行器類(lèi)型SWC,其他所有SWC都是方便移植和復(fù)用的。RTE是在SWC集成之后生成的,因此RTE服務(wù)確保SWC之間,SWC與BSW之間的通信,從而確保系統(tǒng)按照預(yù)期工作,而不管SWC部署在哪里。RTE既支持源碼類(lèi)型SWC也支持目標(biāo)代碼SWC。RTE不支持運(yùn)行時(shí)的重新配置,所有通信在配置生成后都是靜態(tài)的。


RTE的用途或應(yīng)用


  • 實(shí)現(xiàn)了虛擬功能總線,連接ECU內(nèi)外部SWC的通信

  • 實(shí)現(xiàn)了SWC與BSW模塊之間通信的路徑,使用ports和interfaces

  • 依據(jù)配置的不同的RTE Events觸發(fā)SWC中的多個(gè)Runnables

  • 在配置期間包括來(lái)自任何項(xiàng)目的任何SWC,并按預(yù)期執(zhí)行操作以實(shí)現(xiàn)AUTOSAR的SWC重用能力和可移植性特性

  • 支持SWC的多實(shí)例化

  • 由于RTE處理OS任務(wù)中Runnables的執(zhí)行,實(shí)現(xiàn)了一個(gè)激活偏移量,在時(shí)間觸發(fā)的可運(yùn)行對(duì)象映射到同一OS任務(wù)中的情況下用于優(yōu)化CPU負(fù)載、內(nèi)存等。因?yàn)闀r(shí)間觸發(fā)的變量需要在配置的時(shí)間執(zhí)行,并且通過(guò)重疊避免可運(yùn)行的沖突,RTE使用激活偏移量。RTE通過(guò)計(jì)算任務(wù)的最大周期來(lái)處理這個(gè)問(wèn)題,這是所有可運(yùn)行的最大公約數(shù)(GCD),它假設(shè)任何可運(yùn)行的最大執(zhí)行周期都低于GCD

  • RTE還通知Runnables在較低層發(fā)生的任何中斷(如果已配置),但這并不意味著Runnables將在ISR中執(zhí)行。Runnables是SWC的子集,SWC完全獨(dú)立于較低層

  • RTE在同一個(gè)SWC的Runnables之間共享變量時(shí),或者分區(qū)間SWC或分區(qū)內(nèi)SWC,甚至在不同ECU的SWC之間的通信時(shí),必須保證數(shù)據(jù)的一致性。

  • SWC之間的通信(在Sender-receiver通信中)不僅限于點(diǎn)對(duì)點(diǎn)通信,還包括1:N(一個(gè)SWC與多個(gè)SWC通信)或N:1(多個(gè)SWC與一個(gè)SWC通信)組合。如果發(fā)送者同時(shí)向一個(gè)接收者發(fā)送數(shù)據(jù),RTE會(huì)注意防止任何沖突,反之亦然

  • 如果發(fā)送方請(qǐng)求TransmissionAcknowledgementRequest,RTE通知發(fā)送方信號(hào)傳輸成功。此通知不保證接收器已成功接收到信號(hào)。


RTE通信

通信范例


RTE為SWC實(shí)例之間的通信提供不同的通信范例:

  • sender-receiver(信號(hào)傳遞)
  • client-server(函數(shù)調(diào)用)
  • mode switch
  • NvBlockSwComponentType交互

通信模式


對(duì)于sender-receiver通信,RTE支持2種模式

  • Explicit——調(diào)用顯示RTE API收發(fā)數(shù)據(jù)單元
  • Implicit——RTE在runnable被調(diào)用前自動(dòng)讀取指定數(shù)據(jù)集單元,在runnable被終止后自動(dòng)寫(xiě)數(shù)據(jù)集單元。隱式指的是runnable不會(huì)主動(dòng)發(fā)起數(shù)據(jù)的接收或傳輸

通信多樣性


除了支持點(diǎn)對(duì)點(diǎn)的通信,RTE支持多個(gè)providers或者requires的連接

  • 當(dāng)使用sender-receiver通信時(shí),RTE支持1:N(single sender with multiple receivers)和N:1(multiple senders and a single receiver)的通信,部分N:1的通信有限制。

    多個(gè)sender或者receiver的執(zhí)行不由RTE來(lái)協(xié)調(diào)。這意味著不同軟件組件的操作是獨(dú)立的,RTE不能確保不同的發(fā)送方同時(shí)傳輸數(shù)據(jù),不確保所有接收者同時(shí)讀取數(shù)據(jù)或接收事件。

  • 當(dāng)使用client-server通信時(shí),RTE支持N:1(多個(gè)clients和單個(gè)server)通信,RTE不支持1:N(單個(gè)client和多個(gè)servers)的通信。


RTE的生成


RTE的生成是任何基于AUTOSAR的項(xiàng)目中最重要和最棘手的一步。RTE生成的結(jié)果是各種文件,但我們只考慮兩個(gè)重要的文件:1. Rte.c 文件,2. Rte.h 文件。這是最常見(jiàn)的RTE生成結(jié)果,但一些集成商也更喜歡為每個(gè)SWC生成單獨(dú)的RTE文件(.c 和 .h),這些文件進(jìn)一步包含在主RTE文件中,只是為了便于管理項(xiàng)目的RTE文件,這樣的生成選項(xiàng)可能因AUTOSAR GUI工具而異。RTE生成器可以是單獨(dú)的工具,也可以是完全取決于您使用的工具供應(yīng)商的集成工具。例如,在Vector DaVinci的情況下,DaVinci developer用于SWC、Runnables、IDT 創(chuàng)建等,而DaVinci configurator用于配置BSW和生成RTE。在任何基于AUTOSAR的系統(tǒng)中,RTE是為每個(gè)ECU單獨(dú)生成的,因?yàn)槊總€(gè)ECU的SWC可能有自己獨(dú)特的要求,因此RTE是為滿(mǎn)足這些要求而定制的。

圖片

image-20220610105235688

上圖給出了關(guān)于SWC和RTE生成器軟件的RTE生成步驟。讓我們?cè)敿?xì)了解每個(gè)步驟:

  1. 收集可用SWC實(shí)現(xiàn) 此步驟包括收集SWC描述文件(如果打算重用舊SWC)及其各自的Composition SWCs并進(jìn)一步使用它們。或者我們也可以創(chuàng)建新的SWC實(shí)現(xiàn)并將其用于進(jìn)一步的步驟。
  2. 配置系統(tǒng) 本步驟結(jié)合了舊步驟中的SWC,并配置了系統(tǒng)(整車(chē)ECU網(wǎng)絡(luò)),該系統(tǒng)具有不同ECU和其他系統(tǒng)約束的不同組成SWC。在此步驟中,所有SWC都映射到各自的ECU。
  3. 系統(tǒng)配置說(shuō)明 arxml文件,其中包含整個(gè)系統(tǒng)(車(chē)輛)的ECU的詳細(xì)信息,該文件在系統(tǒng)配置后生成。
  4. 提取ECU特定信息 提取單個(gè)ECU的SWC描述和其他詳細(xì)信息,不同于包含車(chē)輛中所有ECU信息的系統(tǒng)配置描述文件。
  5. 生成ECU配置 此步驟涉及配置RTE下層BSW中模塊比如COM Service等模塊的配置,這一步生成的也是一個(gè)arxml文件其包含所有ECU的信息,比如BSW的配置,SWC的配置等。
  6. 生成RTE 此步驟中,所有Runnables映射到操作系統(tǒng)任務(wù),所有connetions連接到實(shí)際的信號(hào)。此步驟的輸出為Rte.cRte.h文件,大致可以稱(chēng)為AUTOSAR的RTE層。此步驟還生成BSWMD(基本軟件模塊描述)文件,其中包含RTE不同功能的信息。
  7. 編譯RTE 顧名思義,在這一步中,將編譯RTE文件,并生成目標(biāo)文件,然后將這些文件與其他已編譯的BSW和SWC文件鏈接,以生成可刷寫(xiě)到MCU的可執(zhí)行文件。

      對(duì)于系統(tǒng)的每個(gè)ECU,都會(huì)重復(fù)以上步驟。除了RTE文件外,還會(huì)為每個(gè)SWC生成SWC文件(.h和.c),一些軟件還會(huì)在SWC.c文件中生成可運(yùn)行的框架,在SWC.h文件中生成函數(shù)原型。所有RTE文件均按照[MISRA]生成(https://en.wikipedia.org/wiki/MISRA_C)-C標(biāo)準(zhǔn),雖然允許一些MISRA*違規(guī)行為,但此類(lèi)情況記錄在評(píng)論中。RTE源文件具有應(yīng)用程序和其他層所需的RTE調(diào)用,RTE頭文件具有這些調(diào)用的原型。

      由于AUTOSAR的主要目標(biāo)是SWC的“重用能力”,因此RTE支持不同AUTOSAR版本的SWC兼容性,前提是SWC在其源文件中可用,而不是在目標(biāo)代碼中可用。SWC的兼容性和重用能力不僅限于AUTOSAR版本,還包括工具供應(yīng)商的獨(dú)立性,即可以使用來(lái)自不同工具供應(yīng)商的SWC,前提是其源代碼可用。


RTE API


      RTE提供多種API以便SWC使用從其他SWC或者低層訪問(wèn)數(shù)據(jù)。RTE APIs可以簡(jiǎn)單的根據(jù)任何函數(shù)的Rte_prefix識(shí)別,通常分為2種類(lèi)型:

  1. Direct API:在需要高效(零運(yùn)行時(shí)開(kāi)銷(xiāo))調(diào)用時(shí)使用。這些API是為每個(gè)端口生成的,應(yīng)用程序可以通過(guò)在Runnable中調(diào)用API名稱(chēng)直接使用它。在映射API時(shí),可以針對(duì)SWC優(yōu)化此類(lèi)API。通常,Direct API實(shí)現(xiàn)為宏。因此,不可能獲得RTE API的地址來(lái)與C中的函數(shù)指針一起使用。
  2. Indirect API:使用端口句柄間接調(diào)用API。這種形式效率較低(間接尋址無(wú)法優(yōu)化),但支持一種可能更方便的不同編程風(fēng)格。

      直接和間接API調(diào)用都將生成相同的結(jié)果,只是調(diào)用方式不同。在SWC中,我們可以使用間接或直接API實(shí)現(xiàn)。


RTE生成的文件關(guān)系


      在RTE生成之后,RTE生成器工具會(huì)生成許多文件,其中的頭文件與其他文件有關(guān)系,即這些文件被#included到不同的文件中。這些文件以及它們與其他文件的關(guān)系如下:

  1. Rte.h:這個(gè)文件定義了不需要為每個(gè)ECU生成的固定元素,因?yàn)檫@個(gè)RTE生成器軟件不會(huì)一次又一次地生成這個(gè)文件。但是,如果需要,我們可以定制此文件以滿(mǎn)足我們的應(yīng)用程序。該文件包括Std_Types.h文件。
  2. Std_Types.h:該文件是標(biāo)準(zhǔn)的AUTOSAR文件,它定義了基本數(shù)據(jù)類(lèi)型,如無(wú)符號(hào)和有符號(hào)整數(shù)的平臺(tái)特定實(shí)現(xiàn),并提供了訪問(wèn)編譯器抽象的方法。
  3. Rte_Main.h:這是生命周期頭文件,其中包含RTE生命周期API的函數(shù)原型,如Rte_Start和Rte_Stop 。有些軟件還增加了更多的生命周期API,用于RTE內(nèi)存的初始化等。這個(gè)文件包括Rte.h文件。
  4. Rte.h:這是特定于應(yīng)用程序的RTE頭文件,因?yàn)槊Q(chēng)說(shuō)明文件名的前綴始終是Rte_,后綴是與此RTE應(yīng)用程序文件關(guān)聯(lián)的 SWC 名稱(chēng)。該文件包含與 SWC 相關(guān)的 SWC 中使用的RTE API的函數(shù)原型、數(shù)據(jù)結(jié)構(gòu)和Runnable的函數(shù)原型。該文件包括Rte_Type.h和Rte_DataHandle.h 文件
  5. Rte_Type.h:此文件包含從在SWC配置期間配置的實(shí)現(xiàn)數(shù)據(jù)類(lèi)型派生的RTE特定類(lèi)型聲明。此文件還包含對(duì)RTE API有用的AUTOSAR數(shù)據(jù)類(lèi)型。該文件包括 Rte.h 文件。
  6. Rte_DataHandleType.h:此文件包含SWC數(shù)據(jù)結(jié)構(gòu)所需的數(shù)據(jù)句柄類(lèi)型聲明。該文件不包含任何會(huì)占用內(nèi)存的符號(hào)。
  7. Rte__Type.h:這也稱(chēng)為應(yīng)用程序類(lèi)型頭文件,它包含與應(yīng)用程序相關(guān)的常量,如SWC中使用的范圍值或枚舉值。該文件包括Rte_Type.h文件。


轉(zhuǎn)自汽車(chē)電子與軟件

上海創(chuàng)程車(chē)聯(lián)網(wǎng)絡(luò)科技有限公司版權(quán)所有 滬ICP備11045498號(hào)-1   技術(shù)支持:網(wǎng)站建設(shè)
主站蜘蛛池模板: 天天操综合视频 | 一区二区三区四区在线视频 | 久久精品三| 91·com | 日韩中文字幕网 | 日本久久久久久级做爰片 | 亚洲AV国产AV一区无码 | 一区二区精品在线观看 | 91精产国品一二三区在线观看 | 国产精品久久久久久白浆 | 色99热久久偷拍 | 久久久久夜色精品国产老牛91 | 国产成人精品福利视频 | 无码伊人久久大杳蕉中文无码 | 色中色综合网 | 久久二区视频 | 日本大胆欧美 | 97夜夜澡人人爽人人 | 久久久久玖玖 | 337P日本欧洲亚洲大胆 | 一级免费黄色毛片 | 偷拍自拍视频在线观看 | 亚欧美无遮挡HD高清在线视频 | 在线精品一区二区 | 好硬好湿好爽再深一点动态图片 | 一级性感毛片 | 一区二区三区四区在线视频 | 午夜精品在线 | 亚洲精品成人AA片在线播 | 综合图区亚洲欧美另类图片 | 香蕉成人影院 | 国产无遮挡猛进猛出免费软件 | 99精品在线 | 在阳台上玩弄人妻的乳球 | 在线涩涩免费观看国产精品 | 在线国产网址 | 久久精品国产一区二区三 | 欧美13一14娇小性 | 在线观看av一区 | 久久久久夜夜夜 | 区一区二在线 |