国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

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

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

3天內不再提示

利用SAU和安全AHB控制器調查HardFault的方法

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:劉豪 ? 2021-11-21 09:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

TrustZone

恩智浦基于Cortex M33內核的MCULPC55S6x/LPC55S1x, RT600/RT500等產品提供了對TrustZone的支持,并在SOC上提供了安全AHB控制器等功能,旨在幫助客戶完成良好的安全隔離,并建立可信執行環境。

在產品設計之初,我們就要有一個基本的“隔離”的概念。

需要考慮的問題大致有以下兩個方面:

產品中的哪些功能和模塊應該放在安全區?(這部分代碼往往是核心且精簡,且經過安全審查的,安全區的內容不允許非安全區的代碼觸碰);

哪些功能應該放在非安全區?(這樣放在非安全區中的代碼,即使出現安全漏洞(例如棧溢出漏洞等等)后被攻擊,MCU的安全區中的資源和外設也無法被攻擊者利用)。

令人頭疼的HardFault

對于MCU工程師,TrustZone是一個比較新的技術,在開發調試過程中,由于TrustZone配置問題,時常遇到各種意料之外的HardFault,我們也經常調侃,這個TrustZone也太安全了,連我們自己都進不去。

其實這種問題往往是由于在開發階段,我們實際的行為和我們對TrustZone的劃分不一致。

平常我們認為正常的行為與操作,對于TrustZone來說,已經越界違規了,這就會使TruztZone觸發HardFault,并阻止違規行為。

在這種情況下,我們就需要找到導致HardFault的原因,并調整對于TrustZone的配置。

注:TrustZone相關的故障會觸發SecureFault異常。在芯片上電后的默認情況下,SecureFault異常并沒有被使能,因此,此異常會被“升級”為HardFault。在通常情況下,建議使用默認的設置,因為HardFault擁有更高的中斷優先級,可以使故障在第一時間被響應。

獲取違規操作的蛛絲馬跡

Cortex M33內核本身在SAU中提供了兩個寄存器:SFSR(Secure FaultStatus Register,安全故障狀態寄存器)和SFAR(Secure Fault Address Register,安全故障地址寄存器)。

SFSR寄存器用于指示出現錯誤的類型,例如非安全區試圖訪問安全區,從安全區到非安全區的非法跳轉等。

SFAR寄存器用于指示出現錯誤的內存地址。

看起來這兩個寄存器就足以幫助我們查到問題的根源了。但是,有時候,我們從這兩個寄存器拿到了錯誤的原因和地址,仔細檢查后發現無論是安全區還是非安全區的程序,都沒有顯式的訪問這個地址。

這是由于MCU系統愈發復雜,總線上除了M33內核之外,還有許許多多的其他的外設,例如DMAUSB等等。肇事者不一定是M33內核,還有可能是其他的外設,例如DMA。

下面是一種常見的事故:被劃分為非安全的DMA在工作中訪問了安全區的地址或外設,違反了TrustZone的配置,造成了HardFault。

恩智浦的MCU在SOC層面提供了一個安全AHB控制器,能夠幫我們偵查肇事現場,找出肇事者的蛛絲馬跡。

其實原理很簡單,安全AHB控制器提供了三個寄存器,SEC_VIO_INFO_VALID,SEC_VIO_MISC_INFO和SEC_VIO_ADDR。

SEC_VIO_INFO_VALID用來指示肇事現場,這個寄存器中存儲了肇事現場的AHB 的端口號(port number),端口號與外設的對應關系參見用戶手冊的”Memory map overview”章節。

每一個AHB端口都相應有一個SEC_VIO_MISC_INFO寄存器,用來指示肇事的信息,例如違規操作是讀操作引起的還是寫操作引起的等等,最重要的是會指出肇事者的身份:

每個AHB端口還有一個SEC_VIO_ADDR,用來指示肇事現場的地址。

有了上述信息,我們就捉到了真正的肇事者。在開發階段,我們就可以利用這些信息去調整我們的TrustZone的配置。

更進一步

當然,上述功能不只能在開發階段幫我們排查HardFault。我們也可以利用這個機制在產品出廠之后為我們提供防御措施。

產品出廠后,當我們檢測到由TrustZone產生的HardFault的原因之后,可以將其記錄,以便于后續分析。如果設備有聯網能力,可以將其傳輸至服務器。利用這些信息我們可以發現產品的哪些模塊受到了攻擊,方便我們后續針對性地進行OTA升級。云端和設備本地也可在此時檢測鏡像以及存儲介質的完整性,以檢查程序和存儲介質是否被惡意篡改。

小結

綜上所述,利用SAU和安全AHB控制器調查HardFault的方法并不復雜,NXP的MCUXpresso SDK也提供了一個完整的demo。

以LPC55S69為例,demo的路徑如下:SDKoardslpcxpresso55s69 rustzone_examplessecure_faults。

這個demo中,人為制造了幾種TrustZone觸發HardFault的案例,在產生HardFault后,使用上文描述的方法,處理相關寄存器并打印事故信息。

通常來說,在開發階段,我們可以參考demo中HardFault的處理代碼,按需移植到自己的工程中。

責任編輯:haq

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

    關注

    147

    文章

    18925

    瀏覽量

    398233
  • 控制器
    +關注

    關注

    114

    文章

    17791

    瀏覽量

    193205
  • 恩智浦
    +關注

    關注

    14

    文章

    6095

    瀏覽量

    147385

原文標題:調試TrustZone時,如何處理HardFault

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CBM9001控制器

    控制器
    芯佰微電子
    發布于 :2026年01月13日 16:27:10

    立宏安全#SM-602可編程安全控制器#LHS可編程安全控制器

    作為安全回路最重要環節,安全控制器/安全PLC已經越來越多的被人們所認知,但是在使用的過程中,仍然有很多使用者困惑,安全繼電器和普通繼電器到
    的頭像 發表于 12-18 14:26 ?196次閱讀
    立宏<b class='flag-5'>安全</b>#SM-602可編程<b class='flag-5'>安全</b><b class='flag-5'>控制器</b>#LHS可編程<b class='flag-5'>安全</b><b class='flag-5'>控制器</b>

    PWM控制器控制方法

    總結了脈寬調制(PWM ) 技術的幾種控制方法 敘述了它們的基本工作原理 并分析了它們的優缺 點。介紹一種非線性控制方法 單周控制法 通過
    發表于 10-23 16:17 ?3次下載

    Cortex-M0+處理HardFault錯誤介紹

    在ARM處理中,如果一個程序產生了錯誤并且被處理檢測到,就會產生錯誤異常。Cortex-M0+處理只有一種異常用以處理錯誤:HardFault
    的頭像 發表于 10-14 10:50 ?3388次閱讀
    Cortex-M0+處理<b class='flag-5'>器</b>的<b class='flag-5'>HardFault</b>錯誤介紹

    codesys 3.5版本控制器聯機指導:如何進行RS232聯機?#codesys編程控制器 #控制器

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年08月29日 09:07:25

    一文詳解AHB-Lite協議

    AHB(Advanced High-performance Bus)高速總線,接高速master設備,APB(Advanced Peripheral Bus)外設總線,用來接低速slave,AHB
    的頭像 發表于 08-27 09:23 ?3024次閱讀
    一文詳解<b class='flag-5'>AHB</b>-Lite協議

    Codesys 3.5 版本控制器聯機指導:如何進行CAN聯機?#can總線 #codesys控制器

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年08月21日 09:45:29

    SM-602可編程安全控制器

    控制器
    lihongsc
    發布于 :2025年08月12日 13:19:51

    車載整機控制器 工程機械主機控制器#碩博電子#國產控制器

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年05月26日 09:09:02

    MAXQ1741用于磁卡讀卡的DeepCover安全控制器技術手冊

    DeepCover 嵌入式安全方案采用多重先進的物理安全機制保護敏感數據,提供最高等級的密鑰存儲安全保護。 DeepCover安全控制器
    的頭像 發表于 05-15 09:48 ?862次閱讀
    MAXQ1741用于磁卡讀卡<b class='flag-5'>器</b>的DeepCover<b class='flag-5'>安全</b>微<b class='flag-5'>控制器</b>技術手冊

    工程機械控制器廠家 控制器國產替代 #國產控制器#控制器廠家#控制器品牌

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年04月29日 14:15:05

    物聯網單燈控制器 燈聯網單燈控制器

    物聯網單燈控制器 燈聯網單燈控制器
    的頭像 發表于 04-03 10:53 ?858次閱讀
    物聯網單燈<b class='flag-5'>控制器</b> 燈聯網單燈<b class='flag-5'>控制器</b>

    工程機械控制器如何選型?控制器選型指南 #控制器 #車載控制器 #整車控制器 #控制器選型

    控制器
    長沙碩博電子科技股份有限公司
    發布于 :2025年03月14日 10:54:24

    在STM32微控制器中實現數據加密的方法

    在STM32微控制器中實現數據加密,可以通過多種方法和技術來確保數據的安全性。以下是一些常見的方法和步驟: · 使用內置加密庫: · · STM32提供了專門的加密庫STM32Cryp
    發表于 03-07 07:30