91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取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
};

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

Fee

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

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

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

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

小結

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

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

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

來源:汽車MCU軟件設計

審核編輯:湯梓紅

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

    關注

    33

    文章

    9519

    瀏覽量

    157019
  • 存儲
    +關注

    關注

    13

    文章

    4787

    瀏覽量

    90057
  • AUTOSAR
    +關注

    關注

    10

    文章

    398

    瀏覽量

    23647
  • 代碼
    +關注

    關注

    30

    文章

    4967

    瀏覽量

    73960

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    AUTOSAR存儲模塊的基礎知識

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

    存儲協(xié)議的Error流轉過程分析

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

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

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

    AUTOSAR是什么

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

    AUTOSAR的相關資料推薦

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

    一文詳解存儲的結構

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

    STM32堆和及變量的存儲理解

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

    如何用eBPF優(yōu)化內存存儲功能

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

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

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

    AUTOSAR中通信協(xié)議配置詳解

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

    AUTOSAR經典平臺介紹

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

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

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

    AUTOSAR通信協(xié)議解析 如何實現AUTOSAR通信

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

    AUTOSAR通信實現中的常見問題

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

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

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