一文,本文就來自低向上的分析AUTOSAR架構下存儲協議棧的Error處理機制,希望能幫助NvM使用者快速定位和分析問題! 縮略詞: 簡寫 全稱 DMU D ata M emory U nit Fls Fl a s h OPER F las" />

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

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

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

3天內不再提示

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

832065824 ? 來源:汽車電子嵌入式 ? 2023-09-04 09:53 ? 次閱讀

前言

前面的文章我們詳細分析了NvM,Fee,Fls模塊以及NvM User和NvM的交互,對AUTOSAR架構下的存儲協議棧應該有了一個比較深入的了解了。回頭來看,站在NvM使用者的角度來看最關心的是如何使用NvM存儲服務,以及使用過程中出現Error后如何快速定位和分析問題。NvM服務的使用可以參考<>一文,本文就來自低向上的分析AUTOSAR架構下存儲協議棧的Error處理機制,希望能幫助NvM使用者快速定位和分析問題!

縮略詞:

簡寫 全稱
DMU Data Memory Unit
Fls Flash
OPER Flash Operation Error
SQER Command Sequence Error
EVER Erase Verify Error

注:本公眾號文章中使用了一些第三方工具和文檔,若有侵權,請聯系作者刪除!

參考文檔:

1.AURIXTC3XX_um_part1_v2.0.pdf

2. Specification of Flash EEPROM Emulation

3. Specification of Flash Driver

4.Specification of NVRAM Manager AUTOSAR CP Release 4.3.1

5.AUTOSAR架構下NVM Block連續寫及Default Value問題分析

6.AUTOSAR架構下NvM模塊詳細分析

7.AUTOSAR架構下Fee詳細分析

8.TC37x芯片FLASH基本概念介紹

9.AUTOSAR架構下Fls詳細分析

10.TC3xx芯片DMU介紹

正文

1.Error自定向上分析

由于從NvM User的存儲服務請求正向自定向下分析Error發生的條件和流轉十分困難,我們采用自底向上的方法從底層已知Error出發向上分析Error的流轉,也就是:Fls已知Error àFeeàNvMàNvM User

如下表所示,我們把自底向上分析的結果以表格的形式統計出來,通過這種方式,NvM User就能從JobResult結果查找NvM,Fee,Fls報了什么錯誤,也就能采用對應的應對措施。

Note:

1.該表格僅把NvM最常用的服務(讀,寫,擦除)可能產生的Error統計進去,像NvMCancell這類的不常用服務沒有統計進去。

2.NvM除了底層上報的錯誤外,本身還有很多Error處理機制,比如,調用底層接口的返回值判斷等,這里錯誤也沒有統計進去,也就是我們僅僅把NvM DMU上報的錯誤統計出來

3.DMU上報的Error的原因,以及對應軟件的處理辦法可以查看數據手冊獲得。具體請參考: <<TC3xx芯片DMU介紹>>

NvM User NvM Fee Fls
NvM User可以通過Block Callback獲取NvM Job請求的結果,
然后根據結果執行對應的策略
NvM調用NvM Block配置的Callback函數JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_NOT_OK

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_NOT_OK



Fee在處理Write任務時會調用Fls的Compare接口對比寫入DFlash的數據和RAM緩存的數據,如果出現錯誤,Fee會調用NvM_JobErrorNotification

Fls調用Fee_JobErrorNotification, Fee_JobErrorNotication調用FeeNvmIllegalStateNotification


FeeJobResult == MEMIF_BLOCK_FAILED

Note: FeeNvmIllegalStateNotification是一個Callout函數,由User實現
Fls執行Compare任務時發生錯誤,調用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_INCONSISTENT

Note: 寫入Flash的數據和RAM緩存的數據不一致
Fls調用Fee_JobErrorNotification, Fee_JobErrorNotification調用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_FAILED
Fls擦寫過程中發生了超時,調用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 監控擦寫任務執行的時間,超時就會報錯
Fls擦除過程中發生錯誤,調用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 發生OPER, EVER, SQER
Fls寫數據過程發生錯誤,調用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 發生OPER, PVER, SQER錯誤
Fls讀數據過程發生錯誤,調用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 開啟了ECC_ERROR檢查,如果發生了ECC錯誤就會報錯
NvM調用NvM Block配置的Callback函數JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_INTEGRITY_FAILED

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_INTEGRITY_FAILED
Fee在處理Read任務時發現數據不一致(比如,Block重來沒有被寫過)就會調用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_INCONSISTENT
NvM調用NvM Block配置的Callback函數JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_NV_INVALIDATED

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_NV_INVALIDATED
Fee在處理Read任務時發現數據是無效的就會調用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_INVALID
NvM調用NvM Block配置的Callback函數JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_NOT_OK

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_NOT_OK
Fee在處理寫任務時發現寫的次數已經超過該Block配置的最大寫次數了就會調用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_FAILED

2.數據INTEGRITY_FAILED錯誤示例

我們把TC3xx芯片的DFlash都擦除掉,然后通過仿真器執行重啟。

Fee在處理Read任務時發現數據不一致(Block沒有被寫過),Fee_MainFunction會調用

NvM_JobErrorNotification通知到上層的NvM模塊。

acf1a5fc-4ab6-11ee-97a6-92fbcf53809c.png

如果對應的NvM Block配置了Callback函數,NvM模塊就會調用該Block的Callback函數通知到NvM_User,這樣NvM User就能知道當前NvM Block的狀態。

ad21b2ce-4ab6-11ee-97a6-92fbcf53809c.png

3. 總結

本文自底向上分析了存儲協議棧的Error流轉過程,通過本文總結的Error流轉表格,我們可以方便的查找DMU操作出問題的可能原因。但是,對于NvM模塊本身的一些邏輯狀態上報的Error,這個表格沒有統計,感興趣的朋友可以自己再去研究。

審核編輯:彭菁

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

    關注

    13

    文章

    4338

    瀏覽量

    86003
  • 軟件
    +關注

    關注

    69

    文章

    4987

    瀏覽量

    87822
  • NVM
    NVM
    +關注

    關注

    1

    文章

    41

    瀏覽量

    19141
  • 協議棧
    +關注

    關注

    2

    文章

    144

    瀏覽量

    33669

原文標題:AUTOSAR架構下存儲協議棧Error問題自底向上分析

文章出處:【微信號:汽車電子嵌入式,微信公眾號:汽車電子嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    LTE協議軟件分析測試方法

    本文介紹了一種應用在LTE協議系統軟件開發過程的測試和調試的模型,并給出了測試模型的應用結果。該模型以LTE接入網標準架構為原型,分層調試為思想,多彩模塊化打印為手段,具有環境簡易、調試方便的特點
    發表于 12-16 14:06 ?6811次閱讀

    lwip協議代碼分析

    lwIP(Lightweight IP)是一個為嵌入式系統設計的輕量級TCP/IP協議
    的頭像 發表于 10-29 17:37 ?2064次閱讀
    lwip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>代碼<b class='flag-5'>分析</b>

    Zigbee技術規范與協議分析 -

    Zigbee技術規范與協議分析 -
    發表于 08-12 23:46

    協議是什么 協議又是什么

    協議協議的具體實現形式, 通俗的理解就是用代碼實現的函數庫, 以便于開發人員調用。協議是通常是一個層級結構。
    發表于 08-05 07:00

    藍牙協議實現模式分析

    藍牙技術是未耒無線通信的一個重要的研究方向。本文主要介紹了藍牙技術的體系結構及其特點,并結合東芝公司生產的藍牙協議產品BluetoothTM Utility 軟件分析了它的軟件實
    發表于 08-21 09:50 ?62次下載

    對幾種開源的TCPIP協議分析

    對幾種開源的TCPIP協議分析
    發表于 11-03 16:52 ?24次下載

    采用精簡協議的ZigBee網絡節點分析

    采用精簡協議的ZigBee網絡節點分析   ZigBee是一種新興的短距離、低功耗、低數據速率、低成本、低復雜度的無線網絡技術。ZigBee在整個協議
    發表于 03-29 15:07 ?1508次閱讀
    采用精簡<b class='flag-5'>協議</b><b class='flag-5'>棧</b>的ZigBee網絡節點<b class='flag-5'>分析</b>

    uIP協議介紹

    uIP 協議是一種免費的可實現的極小的TCP/IP協議,可以使用于由8位或16位微處理器構建的嵌入式系統。本文分析了uIP
    發表于 07-15 15:27 ?0次下載

    基于TCN實時協議過程數據通信研究

    基于TCN實時協議過程數據通信研究
    發表于 08-31 14:45 ?16次下載
    基于TCN實時<b class='flag-5'>協議</b><b class='flag-5'>棧</b><b class='flag-5'>過程</b>數據通信研究

    TCP/IP協議之路由器簡要分析

    TCP/IP協議中,在封裝報文時就相當于是壓操作,而在報文解析過程中,則是一個出過程,在封裝是最先被壓進
    發表于 10-10 11:46 ?1次下載

    一文詳解存儲的結構

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

    tcpip協議是什么?tcpip協議有哪些協議?tcpip協議中報文封裝和解封裝過程

    tcpip協議是什么? TCP/IP協議是計算機網絡中使用的最常見的網絡協議。它是一個四層
    的頭像 發表于 08-01 17:51 ?8750次閱讀
    tcpip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>是什么?tcpip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>有哪些<b class='flag-5'>協議</b>?tcpip<b class='flag-5'>協議</b><b class='flag-5'>棧</b>中報文封裝和解封裝<b class='flag-5'>過程</b>

    基于ZigBee協議的無線傳感網絡的建立過程

    電子發燒友網站提供《基于ZigBee協議的無線傳感網絡的建立過程.pdf》資料免費下載
    發表于 10-24 10:32 ?1次下載
    基于ZigBee<b class='flag-5'>協議</b><b class='flag-5'>棧</b>的無線傳感網絡的建立<b class='flag-5'>過程</b>

    汽車UDS協議與XCP協議

    UDS協議 汽車UDS協議是一種用于汽車電子控制單元(ECU)之間進行診斷和通信的標準協議。UDS(Unified Diagnostic
    的頭像 發表于 10-27 16:35 ?4359次閱讀
    汽車UDS<b class='flag-5'>協議</b><b class='flag-5'>棧</b>與XCP<b class='flag-5'>協議</b><b class='flag-5'>棧</b>

    基于BlueZ協議的藍牙語音接入系統實現與性能分析

    電子發燒友網站提供《基于BlueZ協議的藍牙語音接入系統實現與性能分析.pdf》資料免費下載
    發表于 10-30 11:25 ?0次下載
    基于BlueZ<b class='flag-5'>協議</b><b class='flag-5'>棧</b>的藍牙語音接入系統實現與性能<b class='flag-5'>分析</b>
    主站蜘蛛池模板: 你懂的在线看| 国产特黄一级毛片特黄| 亚洲狠狠操| 新网球王子u17世界杯篇免费观看| 朱元璋传奇1998王耿豪版| 美女写真mm爽爽爽| 最好看的最新中文字幕2018免费视频| 成人爽爽激情在线观看| 亚洲国产成+人+综合| 色婷婷综合激情| 美女国产| 国产拍拍视频| 午夜免费视频观看| 激情五月网站| 国产精品久久久久久久9999| 欧美三级一区二区三区| 亚洲高清色图| 欧美xxxxx性视频| 国产大乳喷奶水在线看| 午夜 在线播放| www在线视频| 爽好舒服快受不了了老师| 亚洲欧美一区二区三区麻豆| 日韩a免费| 国产福利资源在线| 手机在线1024| 日本人69xxxxxxx69| 黑人一区二区三区中文字幕| 五月婷婷丁香综合网| 免费看黄色小视频| 夜夜春夜夜夜夜猛噜噜噜噜噜| 免费观看欧美成人1314w色| 黄色在线观看视频网站| 最新午夜宅男| 男人的天堂色偷偷| 2018天天射| 国产精品福利一区二区亚瑟| 色www亚洲国产张柏芝| 色中射| 国产成人综合一区人人| 久久夜夜肉肉热热日日|