一文,本文就來(lái)自低向上的分析AUTOSAR架構(gòu)下存儲(chǔ)協(xié)議棧的Error處理機(jī)制,希望能幫助NvM使用者快速定位和分析問(wèn)題! 縮略詞: 簡(jiǎn)寫 全稱 DMU D ata M emory U nit Fls Fl a s h OPER F las" />

亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

存儲(chǔ)協(xié)議棧的Error流轉(zhuǎn)過(guò)程分析

832065824 ? 來(lái)源:汽車電子嵌入式 ? 2023-09-04 09:53 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

前面的文章我們?cè)敿?xì)分析了NvM,F(xiàn)ee,F(xiàn)ls模塊以及NvM User和NvM的交互,對(duì)AUTOSAR架構(gòu)下的存儲(chǔ)協(xié)議棧應(yīng)該有了一個(gè)比較深入的了解了?;仡^來(lái)看,站在NvM使用者的角度來(lái)看最關(guān)心的是如何使用NvM存儲(chǔ)服務(wù),以及使用過(guò)程中出現(xiàn)Error后如何快速定位和分析問(wèn)題。NvM服務(wù)的使用可以參考<>一文,本文就來(lái)自低向上的分析AUTOSAR架構(gòu)下存儲(chǔ)協(xié)議棧的Error處理機(jī)制,希望能幫助NvM使用者快速定位和分析問(wèn)題!

縮略詞:

簡(jiǎn)寫 全稱
DMU Data Memory Unit
Fls Flash
OPER Flash Operation Error
SQER Command Sequence Error
EVER Erase Verify Error

注:本公眾號(hào)文章中使用了一些第三方工具和文檔,若有侵權(quán),請(qǐng)聯(lián)系作者刪除!

參考文檔:

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架構(gòu)下NVM Block連續(xù)寫及Default Value問(wèn)題分析

6.AUTOSAR架構(gòu)下NvM模塊詳細(xì)分析

7.AUTOSAR架構(gòu)下Fee詳細(xì)分析

8.TC37x芯片F(xiàn)LASH基本概念介紹

9.AUTOSAR架構(gòu)下Fls詳細(xì)分析

10.TC3xx芯片DMU介紹

正文

1.Error自定向上分析

由于從NvM User的存儲(chǔ)服務(wù)請(qǐng)求正向自定向下分析Error發(fā)生的條件和流轉(zhuǎn)十分困難,我們采用自底向上的方法從底層已知Error出發(fā)向上分析Error的流轉(zhuǎn),也就是:Fls已知Error àFeeàNvMàNvM User

如下表所示,我們把自底向上分析的結(jié)果以表格的形式統(tǒng)計(jì)出來(lái),通過(guò)這種方式,NvM User就能從JobResult結(jié)果查找NvM,Fee,Fls報(bào)了什么錯(cuò)誤,也就能采用對(duì)應(yīng)的應(yīng)對(duì)措施。

Note:

1.該表格僅把NvM最常用的服務(wù)(讀,寫,擦除)可能產(chǎn)生的Error統(tǒng)計(jì)進(jìn)去,像NvMCancell這類的不常用服務(wù)沒(méi)有統(tǒng)計(jì)進(jìn)去。

2.NvM除了底層上報(bào)的錯(cuò)誤外,本身還有很多Error處理機(jī)制,比如,調(diào)用底層接口的返回值判斷等,這里錯(cuò)誤也沒(méi)有統(tǒng)計(jì)進(jìn)去,也就是我們僅僅把NvM DMU上報(bào)的錯(cuò)誤統(tǒng)計(jì)出來(lái)

3.DMU上報(bào)的Error的原因,以及對(duì)應(yīng)軟件的處理辦法可以查看數(shù)據(jù)手冊(cè)獲得。具體請(qǐng)參考: <<TC3xx芯片DMU介紹>>

NvM User NvM Fee Fls
NvM User可以通過(guò)Block Callback獲取NvM Job請(qǐng)求的結(jié)果,
然后根據(jù)結(jié)果執(zhí)行對(duì)應(yīng)的策略
NvM調(diào)用NvM Block配置的Callback函數(shù)JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_NOT_OK

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_NOT_OK



Fee在處理Write任務(wù)時(shí)會(huì)調(diào)用Fls的Compare接口對(duì)比寫入DFlash的數(shù)據(jù)和RAM緩存的數(shù)據(jù),如果出現(xiàn)錯(cuò)誤,F(xiàn)ee會(huì)調(diào)用NvM_JobErrorNotification

Fls調(diào)用Fee_JobErrorNotification, Fee_JobErrorNotication調(diào)用FeeNvmIllegalStateNotification


FeeJobResult == MEMIF_BLOCK_FAILED

Note: FeeNvmIllegalStateNotification是一個(gè)Callout函數(shù),由User實(shí)現(xiàn)
Fls執(zhí)行Compare任務(wù)時(shí)發(fā)生錯(cuò)誤,調(diào)用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_INCONSISTENT

Note: 寫入Flash的數(shù)據(jù)和RAM緩存的數(shù)據(jù)不一致
Fls調(diào)用Fee_JobErrorNotification, Fee_JobErrorNotification調(diào)用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_FAILED
Fls擦寫過(guò)程中發(fā)生了超時(shí),調(diào)用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 監(jiān)控擦寫任務(wù)執(zhí)行的時(shí)間,超時(shí)就會(huì)報(bào)錯(cuò)
Fls擦除過(guò)程中發(fā)生錯(cuò)誤,調(diào)用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 發(fā)生OPER, EVER, SQER
Fls寫數(shù)據(jù)過(guò)程發(fā)生錯(cuò)誤,調(diào)用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 發(fā)生OPER, PVER, SQER錯(cuò)誤
Fls讀數(shù)據(jù)過(guò)程發(fā)生錯(cuò)誤,調(diào)用Fee_JobErrorNotification

FlsJobResult == MEMIF_BLOCK_FAILED

Note: 開啟了ECC_ERROR檢查,如果發(fā)生了ECC錯(cuò)誤就會(huì)報(bào)錯(cuò)
NvM調(diào)用NvM Block配置的Callback函數(shù)JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_INTEGRITY_FAILED

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_INTEGRITY_FAILED
Fee在處理Read任務(wù)時(shí)發(fā)現(xiàn)數(shù)據(jù)不一致(比如,Block重來(lái)沒(méi)有被寫過(guò))就會(huì)調(diào)用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_INCONSISTENT
NvM調(diào)用NvM Block配置的Callback函數(shù)JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_NV_INVALIDATED

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_NV_INVALIDATED
Fee在處理Read任務(wù)時(shí)發(fā)現(xiàn)數(shù)據(jù)是無(wú)效的就會(huì)調(diào)用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_INVALID
NvM調(diào)用NvM Block配置的Callback函數(shù)JobEndCbkExtFunc_pt,傳入的JobResult為NVM_REQ_NOT_OK

NvM_CurrentBlockInfo_t.LastResult_t = NVM_REQ_NOT_OK
Fee在處理寫任務(wù)時(shí)發(fā)現(xiàn)寫的次數(shù)已經(jīng)超過(guò)該Block配置的最大寫次數(shù)了就會(huì)調(diào)用NvM_JobErrorNotification

FeeJobResult == MEMIF_BLOCK_FAILED

2.數(shù)據(jù)INTEGRITY_FAILED錯(cuò)誤示例

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

Fee在處理Read任務(wù)時(shí)發(fā)現(xiàn)數(shù)據(jù)不一致(Block沒(méi)有被寫過(guò)),F(xiàn)ee_MainFunction會(huì)調(diào)用

NvM_JobErrorNotification通知到上層的NvM模塊。

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

如果對(duì)應(yīng)的NvM Block配置了Callback函數(shù),NvM模塊就會(huì)調(diào)用該Block的Callback函數(shù)通知到NvM_User,這樣NvM User就能知道當(dāng)前NvM Block的狀態(tài)。

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

3. 總結(jié)

本文自底向上分析了存儲(chǔ)協(xié)議棧的Error流轉(zhuǎn)過(guò)程,通過(guò)本文總結(jié)的Error流轉(zhuǎn)表格,我們可以方便的查找DMU操作出問(wèn)題的可能原因。但是,對(duì)于NvM模塊本身的一些邏輯狀態(tài)上報(bào)的Error,這個(gè)表格沒(méi)有統(tǒng)計(jì),感興趣的朋友可以自己再去研究。

審核編輯:彭菁

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4658

    瀏覽量

    89354
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5266

    瀏覽量

    90611
  • NVM
    NVM
    +關(guān)注

    關(guān)注

    1

    文章

    46

    瀏覽量

    19674
  • 協(xié)議棧
    +關(guān)注

    關(guān)注

    2

    文章

    146

    瀏覽量

    34447

原文標(biāo)題:AUTOSAR架構(gòu)下存儲(chǔ)協(xié)議棧Error問(wèn)題自底向上分析

文章出處:【微信號(hào):汽車電子嵌入式,微信公眾號(hào):汽車電子嵌入式】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    LTE協(xié)議軟件分析測(cè)試方法

    本文介紹了一種應(yīng)用在LTE協(xié)議系統(tǒng)軟件開發(fā)過(guò)程的測(cè)試和調(diào)試的模型,并給出了測(cè)試模型的應(yīng)用結(jié)果。該模型以LTE接入網(wǎng)標(biāo)準(zhǔn)架構(gòu)為原型,分層調(diào)試為思想,多彩模塊化打印為手段,具有環(huán)境簡(jiǎn)易、調(diào)試方便的特點(diǎn)
    發(fā)表于 12-16 14:06 ?7396次閱讀

    lwip協(xié)議代碼分析

    lwIP(Lightweight IP)是一個(gè)為嵌入式系統(tǒng)設(shè)計(jì)的輕量級(jí)TCP/IP協(xié)議。
    的頭像 發(fā)表于 10-29 17:37 ?3176次閱讀
    lwip<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>代碼<b class='flag-5'>分析</b>

    Zigbee技術(shù)規(guī)范與協(xié)議分析 -

    Zigbee技術(shù)規(guī)范與協(xié)議分析 -
    發(fā)表于 08-12 23:46

    協(xié)議是什么 協(xié)議又是什么

    協(xié)議協(xié)議的具體實(shí)現(xiàn)形式, 通俗的理解就是用代碼實(shí)現(xiàn)的函數(shù)庫(kù), 以便于開發(fā)人員調(diào)用。協(xié)議是通常是一個(gè)層級(jí)結(jié)構(gòu)。
    發(fā)表于 08-05 07:00

    電機(jī)實(shí)際的運(yùn)轉(zhuǎn)過(guò)程是怎樣的?

    什么是步進(jìn)電機(jī)?具有哪些優(yōu)缺點(diǎn)?步進(jìn)電機(jī)的工作原理是什么?有哪些種類?電機(jī)實(shí)際的運(yùn)轉(zhuǎn)過(guò)程是怎樣的?
    發(fā)表于 10-19 09:08

    藍(lán)牙協(xié)議實(shí)現(xiàn)模式分析

    藍(lán)牙技術(shù)是未耒無(wú)線通信的一個(gè)重要的研究方向。本文主要介紹了藍(lán)牙技術(shù)的體系結(jié)構(gòu)及其特點(diǎn),并結(jié)合東芝公司生產(chǎn)的藍(lán)牙協(xié)議產(chǎn)品BluetoothTM Utility 軟件,分析了它的軟件實(shí)
    發(fā)表于 08-21 09:50 ?62次下載

    對(duì)幾種開源的TCPIP協(xié)議分析

    對(duì)幾種開源的TCPIP協(xié)議分析
    發(fā)表于 11-03 16:52 ?24次下載

    采用精簡(jiǎn)協(xié)議的ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)分析

    采用精簡(jiǎn)協(xié)議的ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)分析   ZigBee是一種新興的短距離、低功耗、低數(shù)據(jù)速率、低成本、低復(fù)雜度的無(wú)線網(wǎng)絡(luò)技術(shù)。ZigBee在整個(gè)協(xié)議
    發(fā)表于 03-29 15:07 ?1694次閱讀
    采用精簡(jiǎn)<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)<b class='flag-5'>分析</b>

    uIP協(xié)議介紹

    uIP 協(xié)議是一種免費(fèi)的可實(shí)現(xiàn)的極小的TCP/IP協(xié)議,可以使用于由8位或16位微處理器構(gòu)建的嵌入式系統(tǒng)。本文分析了uIP
    發(fā)表于 07-15 15:27 ?0次下載

    基于TCN實(shí)時(shí)協(xié)議過(guò)程數(shù)據(jù)通信研究

    基于TCN實(shí)時(shí)協(xié)議過(guò)程數(shù)據(jù)通信研究
    發(fā)表于 08-31 14:45 ?16次下載
    基于TCN實(shí)時(shí)<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b><b class='flag-5'>過(guò)程</b>數(shù)據(jù)通信研究

    TCP/IP協(xié)議之路由器簡(jiǎn)要分析

    TCP/IP協(xié)議中,在封裝報(bào)文時(shí)就相當(dāng)于是壓操作,而在報(bào)文解析過(guò)程中,則是一個(gè)出過(guò)程,在封裝是最先被壓進(jìn)
    發(fā)表于 10-10 11:46 ?1次下載

    一文詳解存儲(chǔ)的結(jié)構(gòu)

    存儲(chǔ)結(jié)構(gòu)與之前所學(xué)的線性存儲(chǔ)結(jié)構(gòu)有所差異,這緣于對(duì)數(shù)據(jù) “存” 和 “取” 的過(guò)程有特殊的要求。
    發(fā)表于 10-09 16:00 ?2714次閱讀
    一文詳解<b class='flag-5'>棧</b><b class='flag-5'>存儲(chǔ)</b>的結(jié)構(gòu)

    tcpip協(xié)議是什么?tcpip協(xié)議有哪些協(xié)議?tcpip協(xié)議中報(bào)文封裝和解封裝過(guò)程

    tcpip協(xié)議是什么? TCP/IP協(xié)議是計(jì)算機(jī)網(wǎng)絡(luò)中使用的最常見的網(wǎng)絡(luò)協(xié)議。它是一個(gè)四層
    的頭像 發(fā)表于 08-01 17:51 ?1w次閱讀
    tcpip<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>是什么?tcpip<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>有哪些<b class='flag-5'>協(xié)議</b>?tcpip<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>中報(bào)文封裝和解封裝<b class='flag-5'>過(guò)程</b>

    基于ZigBee協(xié)議的無(wú)線傳感網(wǎng)絡(luò)的建立過(guò)程

    電子發(fā)燒友網(wǎng)站提供《基于ZigBee協(xié)議的無(wú)線傳感網(wǎng)絡(luò)的建立過(guò)程.pdf》資料免費(fèi)下載
    發(fā)表于 10-24 10:32 ?1次下載
    基于ZigBee<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的無(wú)線傳感網(wǎng)絡(luò)的建立<b class='flag-5'>過(guò)程</b>

    基于BlueZ協(xié)議的藍(lán)牙語(yǔ)音接入系統(tǒng)實(shí)現(xiàn)與性能分析

    電子發(fā)燒友網(wǎng)站提供《基于BlueZ協(xié)議的藍(lán)牙語(yǔ)音接入系統(tǒng)實(shí)現(xiàn)與性能分析.pdf》資料免費(fèi)下載
    發(fā)表于 10-30 11:25 ?0次下載
    基于BlueZ<b class='flag-5'>協(xié)議</b><b class='flag-5'>棧</b>的藍(lán)牙語(yǔ)音接入系統(tǒng)實(shí)現(xiàn)與性能<b class='flag-5'>分析</b>