女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

AUTOSAR存儲棧分析之MemIfFee

jf_EksNQtU6 ? 來源:汽車MCU軟件設計 ? 2023-12-19 09:33 ? 次閱讀

MemIf

和所有的抽象層作用差不多,MemIf把Driver層的模塊抽象出來提供給上層使用,具體層級結構如下:

10bcb252-9d8c-11ee-8b88-92fbcf53809c.png

NvM調用MemIf提供的標準接口,例如MemIf_ReadWrite等;在MemIf根據已配置的抽象驅動模塊(FeeEA)分別調用不同的API,實際舉例如下:

1104d122-9d8c-11ee-8b88-92fbcf53809c.png

根據標準,Fee或者Ea又會調用MeeAcc提供的接口去訪問不同的Flash驅動。

我們以Vector的實際代碼為例,在MemIf層配置提供的接口如下:

/**-- MemHwA Function Pointers --**/
CONST(MemIf_MemHwAApi_Type, MEMIF_CONST) MemIf_MemHwaApis[MEMIF_NUMBER_OF_DEVICES] =
{
   /*  Fee_30_SmallSector  */ {
    Fee_30_SmallSector_Read, 
    MemIf_Fee_30_SmallSector_WriteWrapper, 
    Fee_30_SmallSector_EraseImmediateBlock, 
    Fee_30_SmallSector_InvalidateBlock, 
    Fee_30_SmallSector_Cancel, 
    Fee_30_SmallSector_GetStatus, 
    Fee_30_SmallSector_GetJobResult, 
    Fee_30_SmallSector_SetMode
  }
};

在Fee層級配置的Flash驅動接口如下:


/* FLS API pointer table */
CONST(Fee_30_SmallSector_FlsApiType, FEE_30_SMALLSECTOR_PRIVATE_CONST) Fee_30_SmallSector_FlsApi0 = 
{
   /*  Read Service  */ Fls_Read, 
   /*  Write Service  */ Fls_Write, 
   /*  Compare Service  */ Fls_Compare, 
   /*  Erase Service  */ Fls_Erase, 
   /*  Blank Check Service  */ Fls_BlankCheck, 
   /*  Get Status Service  */ Fls_GetStatus, 
   /*  Get Job Result Service  */ Fls_GetJobResult
};

發現沒有,這一層的API并沒有MemAccM相關的接口,所以雖然規范定義了這樣的層級結構,但是在實現上有多種可能,簡單有效才是硬道理。

Fee

之所以在車規MCU里需要提供這樣的機制,主要還是為了節約成本,提供數據的高效、實時存儲,滿足車規對于Data Flash百萬次刷寫的要求。

在AUTOSAR的規范里,也提供了這樣類似的示例機制來提高DFlash的使用壽命:

1116cbe8-9d8c-11ee-8b88-92fbcf53809c.png

在該示例中,共計有1500Bytes數據需要管理,這些數據被均勻分成10個Block;當Fee發現某個Block數據更改并且需要重新編程的時候,他會找到目前空閑的Flash空間把數據寫進Flash并設置有效。需要注意的是,在設計Fee驅動時,需要考慮到Flash IP支持的最小可擦除單位和最小可編程單位,只要熟悉IP特性,才能做好Flash磨損均衡算法

小結

NvM的狀態機每家供應商的代碼區別還是挺大的,不過我們在看代碼的時候首先需要了解這些API的調用時序,如下圖為用戶調用NvM_Write服務的時序圖:

112911d6-9d8c-11ee-8b88-92fbcf53809c.png

熟讀AUTOSAR NV Data Handling Guideline,才能更好理解代碼,必要時自己畫一個狀態遷移圖。

來源:汽車MCU軟件設計

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8943

    瀏覽量

    153202
  • 存儲
    +關注

    關注

    13

    文章

    4504

    瀏覽量

    87068
  • AUTOSAR
    +關注

    關注

    10

    文章

    371

    瀏覽量

    22400
  • 代碼
    +關注

    關注

    30

    文章

    4886

    瀏覽量

    70257

原文標題:AUTOSAR 存儲棧分析--MemIfFee

文章出處:【微信號:談思實驗室,微信公眾號:談思實驗室】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    AUTOSAR存儲模塊的基礎知識

    AUTOSAR存儲模塊的解釋文章很多,本文整理存儲模塊基礎知識。
    發表于 10-08 09:30 ?7837次閱讀

    存儲協議的Error流轉過程分析

    前言 前面的文章我們詳細分析了NvM,Fee,Fls模塊以及NvM User和NvM的交互,對AUTOSAR架構下的存儲協議應該有了一個比較深入的了解了。回頭來看,站在NvM使用者的
    的頭像 發表于 09-04 09:53 ?1703次閱讀
    <b class='flag-5'>存儲</b>協議<b class='flag-5'>棧</b>的Error流轉過程<b class='flag-5'>分析</b>

    AUTOSAR的工作原理是什么?為什么需要AUTOSAR

    AUTOSAR的工作原理是什么?為什么需要AUTOSAR
    發表于 05-17 06:44

    AUTOSAR是什么

    一、AUTOSAR是什么AUTOSAR組織自己的介紹是AUTOSAR (AUTomotive Open System ARchitecture) is a worldwide development
    發表于 11-10 07:47

    AUTOSAR的相關資料推薦

    AUTOSAR基礎篇EcuM_wto9109的博客-CSDN博客【AutoSAR】【EcuM】ECU狀態管理專注汽車軟件開發、AutoSAR、車載以太網、SOA、EE架構。07-08
    發表于 01-27 08:25

    一文詳解存儲的結構

    存儲結構與之前所學的線性存儲結構有所差異,這緣于對數據 “存” 和 “取” 的過程有特殊的要求。
    發表于 10-09 16:00 ?2571次閱讀
    一文詳解<b class='flag-5'>棧</b><b class='flag-5'>存儲</b>的結構

    STM32堆和及變量的存儲理解

    STM32堆和及變量的存儲理解
    發表于 11-30 16:51 ?19次下載
    STM32堆和<b class='flag-5'>棧</b>及變量的<b class='flag-5'>存儲</b>理解

    如何用eBPF優化內存存儲功能

    隨著存儲設備的升級與發展,當代的存儲設備性能越來越高,延遲也越來越低。對于內核而言,Linux I/O 存儲棧的軟件所帶來的性能開銷已經越來越不可忽視。
    的頭像 發表于 08-09 11:43 ?1312次閱讀

    AUTOSAR通信協議的幾個問題(一)

    最近在研究AUTOSAR通信協議的時候產生了以下幾個問題。
    的頭像 發表于 01-31 09:23 ?2452次閱讀

    AUTOSAR中通信協議配置詳解

    通訊協議幾乎是CP AUTOSAR中最龐雜的一塊。由于其涉及的模塊比較多(僅實現CAN信號的收發就需要ECUC/CAN/CANIF/CANTP/PDUR/COM/XCP這么多模塊的協作!),且名詞
    的頭像 發表于 09-21 10:02 ?7629次閱讀
    <b class='flag-5'>AUTOSAR</b>中通信協議<b class='flag-5'>棧</b>配置詳解

    AUTOSAR經典平臺介紹

    汽車電子系統的軟件組件、運行時環境和通信機制,以實現模塊化、可重用和可擴展的系統開發。 在AUTOSAR CP中,軟件組件被分為應用軟件組件(SWC)和基礎軟件組件(BSW)。SWC是實現特定功能的軟件模塊,例如引擎控制、制動系統等。BSW是提供基礎功能和服務的軟件模塊,例如通信協議
    的頭像 發表于 10-27 15:30 ?1759次閱讀
    <b class='flag-5'>AUTOSAR</b>經典平臺介紹

    AUTOSAR平臺研究報告:國產基礎軟件+芯片全方案加快量產

    2023年12月7日,AUTOSAR組織發布了最新版本AUTOSAR R23-11標準,從功能角度方面,更新主要集中在信息安全、功能安全以及通信協議等三個方面。
    的頭像 發表于 02-21 15:30 ?4104次閱讀
    <b class='flag-5'>AUTOSAR</b>平臺研究報告:國產基礎軟件+芯片全<b class='flag-5'>棧</b>方案加快量產

    AUTOSAR通信協議解析 如何實現AUTOSAR通信

    通信協議是一個復雜的系統,它涵蓋了多種通信方式和模塊,以實現車內ECU之間的高效、可靠的數據交換。以下是對AUTOSAR通信協議的解析及實現AUTOSAR通信的方法: 一、AUTOSAR
    的頭像 發表于 12-17 14:54 ?2456次閱讀

    AUTOSAR通信實現中的常見問題

    AUTOSAR(Automotive Open System Architecture)汽車開放系統架構旨在實現汽車電子的軟硬件分離,降低ECU軟件開發的復雜度,提高軟件可重用性。 一、通信協議
    的頭像 發表于 12-17 15:03 ?975次閱讀

    利用eBPF程序繞過內核以加速存儲訪問

    隨著微秒級NVMe存儲的蓬勃發展,Linux內核存儲棧的開銷幾乎是存儲訪問時間的兩倍,已經成為性能瓶頸。
    的頭像 發表于 03-01 16:09 ?435次閱讀
    利用eBPF程序繞過內核以加速<b class='flag-5'>存儲</b>訪問