色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

S32K1xx的ECC錯誤處理機制

痞子衡嵌入式 ? 來源:大寧筆記不重名 ? 2023-03-16 09:10 ? 次閱讀

1. 背景

ECC(Error Correcting Code)的目的是保證RAM和Flash等存儲器中數據和程序代碼的完整性和可靠性,在汽車MCU中被廣泛應用,引起位錯誤的原因有多種,包括輻射(中子或阿爾法粒子)、電磁干擾、電噪聲或電路短路等原因。在原理上ECC是在對用戶開放的存儲器之外的區域額外增加存儲單元來存儲ECC計算結果,所以通常不占用額外的RAM空間,當數據被讀取時ECC會實時校驗待讀取數據的正確性,在檢測到錯誤時及時進行自動糾正或者產生錯誤通知,進而產生實施相應的安全機制。

KW45也支持RAM的ECC錯誤檢測,最近有用戶問到其工作機制和錯誤處理機制,剛好看到S32K1有篇文檔AN12522介紹相關內容,盡管兩者在RAM區間的劃分,ECC支持的范圍以及錯誤注入功能上有很多區別,但其思想基本一致,可以作為借鑒,此文直接分享(僅修改一個翻譯錯誤之處)。

S32K1xx系列中使用的ECC方法提供單錯誤糾正(SEC)和雙錯誤檢測(DED)功能。本應用筆記旨在描述如何在S32K1xx系列中實現ECC保護,并了解S32K14x和S32K11x器件的特定ECC事件響應。

2. SRAM ECC錯誤處理

2.1 上電復位后SRAM初始化

S32K1 SRAM分為兩個區域:SRAM_L和SRAM_U。RAM的實現使得SRAM_L和SRAM_U位于內存映射中的一個連續塊。有關更多詳細信息,可以參閱參考手冊中隨附的S32K1xx_memory_map.xlsx文件。

Note: S32K11x器件的SRAM_L不受ECC保護, 用作系統RAM的FlexRAM 沒有ECC, LPUART和FlexCAN RAM受 ECC保護。

SRAM的復位狀態未知,因此數據可能包含隨機數據。對任何地址的第一次讀取嘗試都很可能會產生不可糾正的ECC錯誤。在讀取每個內存地址之前,必須將其寫入一個已知值。如果讀取未初始化的內存地址,則讀取操作可能會導致多位ECC錯誤和AHB上的錯誤。因此, SRAM必須在上電后初始化,包括外設RAM存儲器,如LPUART和FlexCAN RAM。

2.2 使用的ECC算法

SRAM的ECC實現使用修改漢明碼方案,該方案具有40位校驗基,由32位數據和8奇偶校驗位組成。

2.3 單比特錯誤的ECC

S32K14x 和S32K11x設備以相同的方式處理單比特錯誤。錯誤報告模塊(ERM)可以生成中斷(如果已啟用)以通知單比特位更正事件,該事件可以通過將CR0[ESCIEx]位設置為1來啟用。在事件發生后,可以通過三種方式處理錯誤:

MCU正常運行:MCU檢測到故障(故障檢測時間)然后糾正(故障反應時間)。此時MCU繼續正常運行。

具有適當的功能安全機制來管理故障:MCU檢測故障(故障檢測時間)然后糾正(故障反應時間)。此時軟件必須切換 到safe_state_system(safe_state_system是一種沒有不合理的概率發生對任何人身體傷害或健康損害的操作模式)。Safe_state_system必須由用戶定義。

有任何合適的功能安全機制:MCU檢測到故障(故障檢測時間),然后糾正它,但沒有通知用戶發生了錯誤。容錯時間間隔(FTTI)過后,可能會出現危險。

4aa1b820-c374-11ed-bfe3-dac502259ad0.png

2.4 不可糾正錯誤的ECC

S32K14x和S32K11x設備以不同的方式處理不可糾正的錯誤。錯誤報告模塊(ERM)可以生成中斷(如果已啟用)以通知雙位錯誤事件,可以將CR0[ENCIEx]位設置為1來啟用該事件。

S32K14x錯誤處理:當故障發生時,CPU跳轉到錯誤報告模塊(ERM)中斷處理程序(如果啟用)。

S32K11x錯誤處理:

當發生故障時,CPU首先跳轉到硬故障(hard fault)錯誤中斷處理程序,緊接著,ERM中斷標志被置位。

此時,用戶必須檢查ERM狀態寄存器是否顯示不可糾正的ECC錯誤事件。

如果是,建議遵循推薦的反應(系統復位)。

Note: 必須確保在硬故障異常處理期間不對SRAM_U進行讀訪問,否則會導致內核鎖定。因此,應更新鏈接器文件, 以使堆棧、向量表、硬故障處理程序中使用的變量等不應位于SRAM_U, 建議放置在SRAM_L和FlexRAM。(此處原文翻譯有錯)

一旦發生此事件,有三種方法可以繼續:

MCU正常運行:MCU檢測到故障(故障檢測時間)然后上報(故障反應時間)

具有適當的功能安全機制來管理故障:MCU檢測到故障(故障檢測時間)然后上報(故障反應時間)。

有任何合適的功能安全機制:MCU檢測故障(故障檢測時間)。容錯時間間隔(FTTI)過后,將出現危險。

4ad87612-c374-11ed-bfe3-dac502259ad0.png

2.5 SRAM錯誤注入

錯誤注入模塊(EIM)用于診斷目的,以便在訪問SRAM時引發讀取數據的單位和多位反轉。當EIM用于向內存注入故障時,對SRAM的任何訪問都會產生相應的注入錯誤(單位或雙位錯誤)。EIM支持兩個錯誤注入通道,分別對應于特定的RAM陣列。下表顯示了不同S32K1xx衍生產品的通道分配。

4af986fe-c374-11ed-bfe3-dac502259ad0.png

對于安全應用,建議檢查將錯誤注入SRAM的ECC功能,以檢查此類錯誤的報告。

3. FLASH ECC錯誤處理

S32K1xx Flash中實現的ECC邏輯可以自動糾正單比特故障,并可以檢測每個NVM分區(section)的多比特故障。使用 FERCNFG[DFDIE]位啟用多位故障。當檢測到多位錯誤時,FERSTAT[DFDIF]標志置位,產生中斷請求。當FlexNVM區域配置為模擬EEPROM時,在從模擬EEPROM讀取數據復制到EEERAM之前,任何單位ECC錯誤都會自動更正。在有效的模擬EEPROM位置上的任何雙位ECC錯誤,包含需要復制到EEERAM的數據,反映為EEERAM中都為1的相應數據記錄。

3.1 使用的ECC算法

NVM存儲器的ECC實現使用修改漢明碼方案,該方案具有72位校驗基,由64位數據和8個奇偶校驗位組成。

3.2 不可糾正錯誤的ECC

S32K14x和S32K11x設備以相同的方式處理不可糾正的錯誤。閃存模塊(FTFC)可以生成中斷(如果已啟用)以通知多位錯誤事件,該事件可以通過將FERCNGFG[DFDIE]位設置為1來啟用。

? S32K1xx錯誤處理:當故障發生時,FERSTAT[DFDIF]標志置位,通知檢測到雙位故障。閃存控制器將生成導致總線故障 (bus fault)的AHB錯誤響應(如果啟用)。處理總線故障后,跳轉到閃存模塊(FTFC)中斷處理程序(如果已啟用)。軟件可以根據錯誤發生在代碼空間還是數據空間來處理錯誤。

如果在執行機器異常過程中出現不可糾正的錯誤故障,則應進入安全狀態。

默認情況下禁用總線故障。因此,它將升級為硬故障(hard fault)。

3.3 閃存錯誤模擬

閃存模塊(FTFC)允許用戶模擬FERSTAT[DFDIF]標志的設置已檢查相關的中斷程序。設置FERCNFG[FDFD]位會創建錯誤仿真

考慮到真正的流程是在進入閃存錯誤處理程序之前首先跳轉到BusFault(如果啟用)。

不允許對閃存位置內的位進行累積編程(沒有擦除的情況下連續編程操作)

審核編輯:湯梓紅

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

    關注

    146

    文章

    17126

    瀏覽量

    350996
  • FlaSh
    +關注

    關注

    10

    文章

    1633

    瀏覽量

    147944
  • 存儲器
    +關注

    關注

    38

    文章

    7484

    瀏覽量

    163766
  • sram
    +關注

    關注

    6

    文章

    767

    瀏覽量

    114675
  • ECC
    ECC
    +關注

    關注

    0

    文章

    97

    瀏覽量

    20557

原文標題:S32K1xx的ECC錯誤處理機制

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

收藏 人收藏

    評論

    相關推薦

    嵌入式編程錯誤處理機制設計

    本文主要總結嵌入式系統C語言編程中,主要的錯誤處理方式。文中涉及的代碼運行環境如下。
    發表于 04-28 09:59 ?764次閱讀
    嵌入式編程<b class='flag-5'>錯誤處理機制</b>設計

    S32K1XX系列MCU復位問題的解決方法

    最近有朋友調試S32K1XX系列的一塊控制板,遇到了一個奇怪的問題,就是板子不斷復位,無法連接下載器,而且問題找不到,于是我協助他調試了一下,然后最后發現竟然是芯片內部的復位導致的,而且10塊板子均有復位波形【注意不是一直低電平的復位】,且并不是硬件設計的原因,今天分享給大家。
    發表于 08-23 13:03 ?2351次閱讀
    <b class='flag-5'>S32K1XX</b>系列MCU復位問題的解決方法

    Rust語言中錯誤處理機制

    可能的錯誤,實際運行中仍然可能出現各種各樣的錯誤,比如文件不存在、網絡連接失敗等等。對于這些不可預測的錯誤,我們必須使用錯誤處理機制來進行處理
    的頭像 發表于 09-19 14:54 ?1404次閱讀

    S32K1xx系列MCU的EEE(Emulated EEPROM)使用詳解 精選資料分享

    內容提要引言(基于MCU的嵌入式系統中EEPROM的實現方式)1. S32K1xx系列MCU的EEE工作機制詳解1.1 S32K1xx系列MCU的片上存儲器資源1.2
    發表于 09-13 07:43

    S32K1xx系列MCU啟動過程是怎樣的

    內容提要注:本文摘自NXP工程師胡恩偉的微信公眾號"汽車電子expert成長之路",大家感興趣可以關注一下。引言1. S32K1xx系列MCU啟動過程詳解
    發表于 11-01 07:10

    如何搭建s32k1xx的環境?

    如何搭建s32k1xx的環境?
    發表于 02-09 07:55

    安裝S32SDK S32K1XX RTM 4.0.2,IDE無法識別安裝是怎么回事?

    我正在嘗試安裝 S32SDK S32K1XX RTM 4.0.2,但在安裝下載的 exe 后,IDE 無法識別安裝。有一些指南通過 .zip 文件描述安裝,但只有在下載時才會有 exe。如何指示 S32Design Studio
    發表于 03-30 08:49

    S32K3xx EMIOS模塊與S32K1xx FTM模塊相比有什么優勢?

    我想知道S32K3xx EMIOS模塊與S32K1xx FTM模塊相比有什么優勢?
    發表于 03-31 09:08

    S32K1xx開發包和S32K1實時驅動的區別是什么?

    S32DS (Design Studio) 中的 S32K1xx 開發包是什么。 什么是 S32K1 實時驅動程序。 區別和應該安裝哪個還是都安裝?
    發表于 05-24 10:39

    AN5426,S32K1XX微控制器的硬件設計指南

    本文檔為S32K1XX微控制器的硬件設計指南,有需要的可以下載!
    發表于 12-22 16:12 ?75次下載
    AN5426,<b class='flag-5'>S32K1XX</b>微控制器的硬件設計指南

    NXP半導體產品S32K1XX數據手冊下載

    NXP半導體產品S32K1XX數據手冊下載
    發表于 08-02 09:23 ?15次下載

    vb關閉當前應用重新加載_S32K1xx系列MCU應用指南之芯片鎖死(lockup)復位原因分析與恢復方法詳解...

    內容提要1. S32K1xx系列MCU的存儲器加密(Security)和保護(Protection)工作機制1.1 S32K1xx系列MCU的Flash配置區域(Flash
    發表于 10-28 21:06 ?11次下載
    vb關閉當前應用重新加載_<b class='flag-5'>S32K1xx</b>系列MCU應用指南之芯片鎖死(lockup)復位原因分析與恢復方法詳解...

    S32K1xx系列MCU的EEE(Emulated EEPROM)使用詳解

    內容提要引言(基于MCU的嵌入式系統中EEPROM的實現方式)1. S32K1xx系列MCU的EEE工作機制詳解1.1 S32K1xx系列MCU的片上存儲器資源1.2
    發表于 11-18 17:21 ?25次下載
    <b class='flag-5'>S32K1xx</b>系列MCU的EEE(Emulated EEPROM)使用詳解

    西門子博圖:錯誤處理機制概覽

    可通過以下幾種不同的錯誤處理機制進行參數跟蹤或編程或訪問錯誤
    的頭像 發表于 11-25 11:35 ?2821次閱讀
    西門子博圖:<b class='flag-5'>錯誤處理機制</b>概覽

    C語言中的錯誤處理機制解析

    C 語言不提供對錯誤處理的直接支持,但是作為一種系統編程語言,它以返回值的形式允許您訪問底層數據。
    的頭像 發表于 02-26 11:19 ?509次閱讀
    主站蜘蛛池模板: 亚洲国产精品免费观看| 欧美最猛黑人XXXXWWW| 男男gaygay拳头| 菲律宾毛片| 欧美xxxxb| 桥本有菜黑丝| 四虎影视永久无码精品| 小草观看免费高清视频| 亚洲无AV在线中文字幕| 56prom在线精品国产| 啊灬啊灬啊灬快灬深高潮啦| 俄罗斯兽交XXXXX在线| 国产一区二区在线观看免费| 精品一产品大全| 末班车动漫无删减免费| 日韩欧美群交P内射捆绑| 香蕉精品国产自在现线拍| 伊伊人成亚洲综合人网| oldgrand欧洲老妇人| 国产人成精品综合欧美成人| 久久无码av三级| 日本久久频这里精品99| 亚洲精品久久久无码| 97人人碰免费视频公开| 国产精品一区二区欧美视频| 久久这里只精品热在线99| 人人爽久久久噜噜噜丁香AV| 亚洲黄网站wwwwww| 99福利视频| 国产日韩成人内射视频| 免费无码又爽又黄又刺激网站| 特黄特色大片免费播放器9| 99精品久久久久久久| a视频免费看| 色偷偷男人| 尤物久久99国产综合精品| xxx88中国| 久久AV国产麻豆HD真实| 日本学生VIDEOVIDEOS更新| 夜色视频社区| 国产AV电影区二区三区曰曰骚网 |