在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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根據(jù)已配置的抽象驅動模塊(FeeEA)分別調用不同的API,實際舉例如下:

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

根據(jù)標準,F(xiàn)ee或者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ā)現(xiàn)沒有,這一層的API并沒有MemAccM相關的接口,所以雖然規(guī)范定義了這樣的層級結構,但是在實現(xiàn)上有多種可能,簡單有效才是硬道理。

Fee

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

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

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

在該示例中,共計有1500Bytes數(shù)據(jù)需要管理,這些數(shù)據(jù)被均勻分成10個Block;當Fee發(fā)現(xiàn)某個Block數(shù)據(jù)更改并且需要重新編程的時候,他會找到目前空閑的Flash空間把數(shù)據(jù)寫進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ī)問題,請聯(lián)系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8598

    瀏覽量

    151164
  • 存儲
    +關注

    關注

    13

    文章

    4314

    瀏覽量

    85851
  • AUTOSAR
    +關注

    關注

    10

    文章

    362

    瀏覽量

    21588
  • 代碼
    +關注

    關注

    30

    文章

    4788

    瀏覽量

    68616

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

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

收藏 人收藏

    評論

    相關推薦

    AUTOSAR存儲模塊的基礎知識

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

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

    前言 前面的文章我們詳細分析了NvM,F(xiàn)ee,F(xiàn)ls模塊以及NvM User和NvM的交互,對AUTOSAR架構下的存儲協(xié)議應該有了一個比較深入的了解了。回頭來看,站在NvM使用者的
    的頭像 發(fā)表于 09-04 09:53 ?1387次閱讀
    <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

    一文詳解存儲的結構

    存儲結構與之前所學的線性存儲結構有所差異,這緣于對數(shù)據(jù) “存” 和 “取” 的過程有特殊的要求。
    發(fā)表于 10-09 16:00 ?2433次閱讀
    一文詳解<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 ?1145次閱讀

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

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

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

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

    AUTOSAR經典平臺介紹

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

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

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

    AUTOSAR解決方案 — INTEWORK-EAS-AP

    經緯恒潤自主研發(fā)的Adaptive AUTOSAR平臺產品, 遵循AUTOSAR Adaptive R19-11和R22-11規(guī)范, 使用C++11、C++17語言開發(fā)。可通過極易上手的自研工具配置,實現(xiàn)AUTOSAR AP協(xié)議
    的頭像 發(fā)表于 11-06 16:11 ?655次閱讀
    <b class='flag-5'>AUTOSAR</b>解決方案 — INTEWORK-EAS-AP

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

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

    AUTOSAR通信實現(xiàn)中的常見問題

    AUTOSAR(Automotive Open System Architecture)汽車開放系統(tǒng)架構旨在實現(xiàn)汽車電子的軟硬件分離,降低ECU軟件開發(fā)的復雜度,提高軟件可重用性。 一、通信協(xié)議
    的頭像 發(fā)表于 12-17 15:03 ?297次閱讀
    主站蜘蛛池模板: 天堂网最新| 久久综合狠狠综合狠狠| 久久国产精品久久久久久久久久| 欧美aaaaaaaaaa| 四虎最新地址| 国产色妞妞在线视频免费播放| 天天操天天摸天天爽| 亚洲一区二区三区不卡视频| 色婷婷久久综合中文久久蜜桃| 成人网久久| 欧美一级淫片免费播放口| 亚洲已满18点击进入在线观看| 久久成人国产| 狠狠摸狠狠操| 亚洲伦理一区二区三区| 国产片一区二区三区| 成人午夜久久| 网女色| www.妖精视频| 在线亚洲精品| 欧美日韩你懂的| 人人搞人人干| 亚洲一级毛片免费观看| 高清色黄毛片一级毛片| 日本xxxⅹ69xxxx护士| 国产一区二区在线视频播放| 久久综合中文字幕| 精品久久久久久午夜| 亚洲六月婷婷| 97成人在线视频| 午夜a视频| 久青草久青草高清在线播放| 国产欧美日韩视频免费61794| 亚洲色图久久| 夜夜爱夜夜做| 在线h网站| 日本视频黄色| 精品视频在线视频| 四虎影院免费网址| 天天操夜夜做| 香蕉视频在线免费播放|