<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      MPU內存保護單元

      概述

      MPU,即內存保護單元,可以設置不同存儲區域的存儲器訪問特性(用戶級、特權訪問全訪問)和存儲器屬性(如可緩存、可緩沖、可共享),對存儲器(主要是內存和外設)提供保護,從而提高系統可靠性。

      • 存儲器訪問特性
      權限類型 特權模式(內核) 用戶任務 典型用途
      特權只讀(PRIV_RO) 可讀 不可訪問 (觸發故障) 保護只讀內核代碼/常量
      特權讀寫(PRIV_RW) 可讀寫 不可訪問 (觸發故障) 內核數據結構、關鍵寄存器
      全訪問(FULL_ACCESS) 可讀寫 可讀寫 用戶堆棧、共享內存
      • 存儲器屬性
      存儲器屬性 硬件行為 數據一致性 典型用途
      可緩存 讀寫經過Cache 需軟件維護(Clean/Invalidate) 單核私有高性能數據
      可緩沖 寫入通過Write Buffer異步完成 可能導致順序重排 低速外設寄存器
      可共享 允許多主設備訪問 硬件強制同步或禁用緩存 DMA緩沖區、多核共享內存
      • 作用

        • 阻止用戶應用程序破壞操作系統使用的數據;

        • 阻止一個任務訪問其他任務的數據區,從而隔離任務;

        • 把關鍵數據區域設置為只讀從根本上解決被破切的可能;

        • 檢測意外的存儲訪問,如堆棧溢出、數組越界等;

        • 將SRAM或RAM空間定義為不可執行,防止注入攻擊;

      STM32的MPU保護單元配置

      在STM32H743(Cortex-M7內核)中,MPU可配置保護16個內存保護區域,每個區域最小要求256字節,且每一個區域還可配置為8個子域(大小一樣)。

      一、MPU控制模式

      MPU(Memory Protection Unit)控制模式決定了在默認狀態或異常處理期間MPU的行為及其對內存訪問的影響。

      控制模式 背景區域行為 異常期間MPU狀態 安全性 典型用途
      NOT USED 無,所有內存開放 無效 調試/無保護需求
      BR禁訪+MPU異常禁用 不可訪問 禁用 通用RTOS
      BR禁訪+MPU異常啟用 不可訪問 啟用 高安全固件
      BR特權+MPU異常禁用 僅特權訪問 禁用 中-高 特權分離系統(如Linux內核空間)
      BR特權+MPU異常啟用 僅特權訪問 啟用 最高 安全認證產品(ISO 26262 ASIL-D)

      二、三種內存類型

      • Normal memory:CPU以最高效的方式加載和存儲字節、半字和字,CPU對于這種內存區的加載或存儲不一定要按照程序代碼的順序執行;
      • Device memory:加載和存儲要嚴格按照次序進行,碩確保寄存器按照正確順序執行;
      • Strongly ordered memory:程序完全按照代碼順序執行,CPU會等待當前加載存儲執行完畢后才執行下一條指令,導致性能下降。
      內存類型 適用對象 性能
      Normal memory ROM、FLASH、SRAM
      Device memory 外設
      Strongly ordered memory 強序
      三種內存形式

      三、Cache介紹

      Cache(高級緩存)是提升STM32性能的關鍵一步。M7內核芯片做了一級Cache支持,Cache分為數據緩存D-Cache和指令緩存I-Cache。

      Cache支持4種基本操作:(使能、清空、禁止、無效化)。

      image-20250715090857174

      數據緩存D-Cache是解決CPU加速訪問SRAM,MPU能夠指定區域的Cache策略

      1、Cache寫操作
      • 寫命中(Cache hit):CPU要寫的SRAM區數據在Cache中已經開辟了對應的區域;

        處理方式 說明
        write through 直接寫到內存并并同時放到cache里面,內存和cache同步更新
        write back 數據更新時只寫入cache,只有數據替換時被修改的cache數據才寫到內存
      • 寫不命中(Cache Miss):Cache里面沒有開辟對應的區域;

        處理方式 說明
        write allocate 把要寫的數據載入到cache,對cache寫后更新到內存
        no write allocate 直接寫入內存
      2、Cache讀操作
      • 讀命中(Cache hit):CPU要讀取的SRAM區數據在Cache中已經加載好;

        處理方式 說明
        Cache read 直接從cache中讀出數據即可(不能保證數據一致性)
      • 讀不命中(Cache Miss):Cache里面沒有需要讀的數據;

        處理方式 說明
        read through 直接從內存中讀出,不用cache
        read allocate 把數據從內存加載到cache,再從cache讀取
      2、數據一致性解決
      • 設置共享屬性

        Cache相當于沒有開啟。

      • 軟件維護

        操作 函數 說明
        clean清空 SCB_CleanDCache() 當Cache已變化,內存沒有更新時,DMA搬運之前進行此操作,將Cache同步到內存
        invalidata無效化 SCB_InvalidataDCache() 當SRAM數據已變化,Cache未更新時,DMA搬運數據后,將SRAM數據同步到Cache中

      二、區域設置

      配置項 說明
      MPU Region 參數類型:Enable/Disable,是否啟用區域MPU區域保護
      MPU Region Base Address 定義Region 0的起始地址(地址必須按區域大小對齊)
      MPU Region Size 設置Region 0覆蓋的內存大小。
      MPU TEX field level 擴展內存類型(用于細化內存屬性和緩存策略)
      MPU Shareability Permission 參數類型:Enable/Disable,是否共享
      MPU Cacheable Permissionn 參數類型:Enable/Disable,是否緩存
      MPU Bufferable Permissionn 參數類型:Enable/Disable,是否緩沖
      MPU Instruction Access 參數類型:Enable/Disable,是否使能從該區域執行指令。
      MPU Access Permission 見下表

      TEX是內存的“身份證”,告訴硬件它屬于哪一類(普通RAM、設備寄存器還是特殊內存),而C/B是它的“行為指南”(如何讀寫)。兩者協作但職責分離。

      2023-07-02
      • MPU設置內存的訪問權限(MPU Access Permission)

        參數 執行(x) 讀(R) 寫(W) 典型用途
        ALL ACCESS NOT PERMITTED ? ? ? 內存隔離/非法訪問檢測
        Privileged READS ? ?? ? 只讀配置表(僅內核可訪問)
        Privileged READS + Unprivileged READS ? ?? ? 全局只讀數據
        Privileged READ/WRITE ? ?? ?? 內核數據結構 / 外設寄存器
        Privileged READ/WRITE + Unprivileged READS ? ?? ? 安全日志(用戶只讀,內核可寫)
        ALL ACCESS PERMITTED ?? ?? ?? 完全開放區域(調試/啟動階段)

      三、建議配(MPU_TEX_LEVEL0)(注意考慮數據一致性問題)

      設備 基地址 區域大小 指令訪問 訪問權限 共享、Cache、緩沖
      DTCM 0x2000 0000 128K 允許 全訪問 不共享、cache、緩沖
      AXI SRAM 0x2400 0000 512K 允許 全訪問 不共享、cache、緩沖
      SRAM1~3 0x3000 0000 512K 允許 全訪問 不共享、cache、緩沖
      SRAM4 0x3800 0000 64K 允許 全訪問 不共享、cache、緩沖
      FMC 0x6000 0000 64M 允許 全訪問 不共享、不cache、不緩沖
      SDRAM OxC000 0000 64M 允許 全訪問 不共享、cache、緩沖
      NAND 0x8000 0000 256M 不允許 全訪問 不共享、不cache、不緩沖
      SPI FLASH 0x9000 0000 8M 允許 全訪問 不共享、cache、緩沖
      posted @ 2025-10-29 07:56  比特向陽  閱讀(107)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 成在线人视频免费视频| 亚洲综合精品第一页| 国产精品亚洲一区二区在| 欧洲国产成人久久精品综合| 久久精品国产91精品亚洲| 男女性杂交内射女bbwxz| 国内揄拍国内精品人妻久久| 欧美日韩亚洲国产| 久久久精品94久久精品| 日韩av影院在线观看| 亚洲一区二区日韩综合久久| 深夜精品免费在线观看| 久久综合九色综合欧洲98| 中文字幕亚洲精品第一页| 国内精品久久人妻无码不卡| 人人妻人人狠人人爽| 国产精品爽爽v在线观看无码| 国产91精品一区二区亚洲| 中文字幕国产精品专区| 麻花传媒免费网站在线观看| 亚洲日本精品国产第一区| 国产免费又黄又爽又色毛| 亚洲精品美女一区二区| 一本一道av无码中文字幕﹣百度 | 亚洲国产欧美日韩另类| 91久久性奴调教国产免费| 中文字幕亚洲制服在线看| 青青草成人免费自拍视频| 人人入人人爱| 国产色婷婷亚洲99精品小说| 古蔺县| 福利在线视频一区二区| 亚洲欧美人成电影在线观看| 国产成人综合欧美精品久久| 亚洲天堂男人的天堂在线| 人妻无码| 日韩一区二区黄色一级片| 99精品国产综合久久久久五月天| 国内精品久久久久影院日本| 国产国拍精品av在线观看| 97午夜理论电影影院|