《電子技術應用》
您所在的位置:首頁 > 電子元件 > 其他 > 教程:管理STM32 MCU中的內存保護單元

教程:管理STM32 MCU中的內存保護單元

2023-01-04
來源:STM32單片機

  1前言

  本應用筆記介紹如何管理 STM32 產品中的內存保護單元(MPU)。MPU 是用于存儲器保護的可選組件。STM32 微控制器(MCU)中嵌入 MPU 之后變得更穩健可靠。在使用 MPU 之前,必須對其進行編程并加以啟用。如果 MPU 沒有啟用,則存儲系統的行為不會變化。

  2概述

  MPU 可以使嵌入式系統更加穩健和安全:? 禁止用戶應用程序破壞關鍵任務(例如操作系統核心)使用的數據? 將 SRAM 存儲區域定義為非可執行(禁止執行 XN),以防止代碼注入攻擊? 修改存儲訪問屬性MPU可最多保護16個內存區域。在 Armv6、Armv7 架構(Cortex-M0+、M3、M4、M7)下,這些區域可以依次擁有 8 個子區域(前提是區域至少有 256 字節))。

  在 STM32 中,受保護區域的確切數量可能因內核和器件而有所不同,請參閱 Cortex-M33 MPU 寄存器獲取詳細信息。子區域的大小都是相等的,可以根據子區域號進行啟用或禁用。因為最小區域大小是由緩存行長度(32 字節)驅動的,所以 8 個 32 字節的子區域對應一個 256 字節的區域。區域的編號為 0 至 15。

  此外,還有一處默認區域,其 id 為-1。所有編號 0-15 的存儲區域的優先級高于默認區域。這些區域可以重疊,也可以嵌套。區域 0-15 的優先級由低到高,這也決定了區域重疊的方式。優先級是固定的,不可更改。在 Armv8 架構(Cortex-M33)中,使用起始地址和終止地址來定義區域,使開發人員能夠以靈活、簡單的方式組織這些區域。

  此外,正是區域大小的可靈活配置得到提升,故Cortex-M33就沒有子區域的概念了。下圖顯示的示例包含六個區域。該示例顯示區域 4 與區域 0 和 1 重疊。區域 5 完全包含在區域 3 內。因為優先級是遞增的,所以重疊區域(橙色)優先。因此,如果區域 0 是可寫的,而區域 4 不可寫,那么位于區域 0 和區域 4 重疊部分的地址為不可寫。

 67.JPG

  Conclusion:

  在 Armv8 架構(Cortex-M33)中,現在不允許區域重疊。由于 MPU 區域的定義更加靈活,因此沒有必要重疊MPU 區域。

  MPU 是統一的,意味著沒有單獨的區域用于數據和指令。

  MPU 還可以用于定義其他存儲器屬性(如可緩存性),可以導出到系統級緩存單元或存儲存控制器。Arm 架構中的存儲器屬性設置可以支持兩種級別的緩存:內部緩存和外部緩存。STM32F7 和 STM32H7 系列僅支持一種級別的緩存(L1-緩存)。

  緩存控制由緩存控制寄存器實現全局控制,但 MPU 可以指定緩存策略以及區域是否可緩存。

  2.1存儲器模型

  在 STM32 產品中,處理器具有固定的默認存儲器映射,可提供最多 4 Gb 的可尋址存儲器。

66.JPG

65.JPG

  3Cortex-M0+/M3/M4/M7

  存儲器類型、寄存器和屬性

  存儲器映射和 MPU 編程將存儲器映射分為多個區域。每個區域都有已定義的存儲器類型和存儲器屬性。存儲器類型和屬性決定該區域的訪問行為。

  3.1 存儲器類型

  有三種常見的存儲器類型:

  ? 普通存儲器:允許 CPU 以有效方式安排字節、半字和字的加載和存儲(編譯器不了解存儲器區域類型)。對于普通存儲器區域,CPU 不一定按照程序中列出的順序執行加載/存儲操作。

  ? 器件存儲器:在器件區域內,負載和存儲是嚴格按照順序進行的。這是為了確保以正確的順序設置寄存器。

  ? 強排序存儲器:所有操作始終按以編程方式列出的順序執行,CPU 會等待加載/存儲指令執行(有效的總線訪問)結束,然后執行程序流中的下一條指令。這可能導致性能損失。

  3.2 存儲器屬性

  區域的屬性與大小寄存器(MPU_RASR)是設置所有存儲器屬性的地方。該表顯示了 MPU_RASR 寄存器中對于區域的屬性和大小的簡要描述。

  64.JPG

  前一個表格中的參數詳情如下:

  ? XN 標志位控制代碼的執行。為了在區域內執行指令,特權級別必須有讀訪問權限,而 XN 必須為 0。否則,會產生 MemManage 報錯。

  ? 數據訪問權限(AP)字段定義存儲區域的 AP。

  下表對訪問權限進行了說明:

  63.JPG

  ? S 字段面向可共享的存儲區域:存儲系統在一個有多個總線主控的系統(例如,一個處理器帶一個 DMA 控制器)中提供總線主控之間的數據同步。強排序的存儲器始終可共享。如果多個總線主控可以訪問一個不可共享的存儲區域,軟件必須確保總線主控之間的數據一致性。STM32F7 系列和 STM32H7 系列不支持硬件一致性。S 字段相當于不可緩存的存儲器。

  ? TEX、C 和 B 位用于定義區域的緩存屬性,以及(在某種程度上)可共享性。按下表對其進行編碼。

  在 STM32 微控制器中加入 MPU 使其穩健、可靠,而且在某些情況下更安全 - 防止應用程序任務訪問或破壞其他任務使用的堆棧和數據存儲器。該應用筆記描述了不同的存儲器屬性、類型和 MPU 寄存器。其中還提供了 MPU(使用 STM32Cube HAL)設置示例,以說明如何配置 STM32 MCU 中的 MPU。如需詳細了解 MPU 寄存器,請參閱 Cortex 內核編程手冊。



更多信息可以來這里獲取==>>電子技術應用-AET<<

mmexport1621241704608.jpg

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美日本在线看| 激情综合自拍| 欧美成人资源| 乱中年女人伦av一区二区| 欧美在线观看网站| 亚洲欧美成人| 亚洲综合激情| 亚洲免费在线视频一区 二区| 一区二区三区**美女毛片| 日韩一区二区精品葵司在线| 亚洲精品极品| 日韩午夜电影在线观看| 日韩视频国产视频| 亚洲美女尤物影院| 一本色道久久综合狠狠躁篇怎么玩 | 国产自产在线视频一区| 国产日韩欧美在线一区| 国产日韩欧美自拍| 国产色视频一区| 激情久久综艺| 最新成人在线| 一本色道久久综合狠狠躁的推荐| 亚洲免费不卡| 亚洲男女自偷自拍| 欧美在线不卡| 亚洲精品视频免费观看| 一区二区三区欧美视频| 亚洲香蕉伊综合在人在线视看| 亚洲专区在线| 久久激情久久| 老司机精品视频网站| 欧美ed2k| 国产精品高清在线观看| 国产午夜精品视频| 亚洲电影免费观看高清完整版在线| 亚洲三级网站| 亚洲亚洲精品三区日韩精品在线视频| 亚洲女ⅴideoshd黑人| 欧美一区观看| 亚洲国产欧美精品| 一区二区三区国产精华| 欧美一级二级三级蜜桃| 久久久久天天天天| 欧美黄免费看| 国产欧美91| 亚洲高清视频在线观看| 99综合电影在线视频| 欧美一二三区在线观看| 亚洲国产天堂久久综合网| 一本色道久久综合亚洲精品高清| 亚洲自拍偷拍视频| 久久久久久国产精品mv| 欧美人在线观看| 国产无一区二区| 亚洲精品中文字幕女同| 午夜精品久久久| 亚洲精品午夜| 亚洲欧美日韩直播| 中文日韩在线视频| 欧美日韩免费一区| 国产精品久久影院| 1769国内精品视频在线播放| 一区二区三区精品视频在线观看 | 亚洲自拍高清| 久久这里有精品15一区二区三区 | 国产在线麻豆精品观看| 日韩亚洲欧美一区二区三区| 校园春色国产精品| 在线视频精品一区| 老司机免费视频久久| 国产精品男女猛烈高潮激情| 亚洲国产日本| 先锋影音久久久| 制服诱惑一区二区| 噜噜噜躁狠狠躁狠狠精品视频| 欧美日韩视频免费播放| 精品va天堂亚洲国产| 亚洲一区二区三区四区视频| 亚洲剧情一区二区| 久久久国产精品一区| 国产精品久久久久久久久久免费| 亚洲国产mv| 欧美一区二区三区视频在线 | 亚洲一区免费观看| 欧美成人有码| 国产亚洲一区精品| 亚洲一区二区精品在线| 亚洲麻豆av| 可以看av的网站久久看| 国产日韩综合一区二区性色av| 99视频一区二区| 亚洲精品美女免费| 久热精品视频在线免费观看| 国产精品一区一区| 在线亚洲欧美视频| 一区二区三区免费看| 欧美国产一区二区| 影音先锋日韩有码| 欧美在线一二三| 久久精品国产久精国产一老狼| 欧美视频日韩视频| 亚洲精品永久免费精品| 亚洲全部视频| 久热精品视频在线观看| 狠狠色综合色区| 欧美中文字幕在线| 久久国产高清| 国产日本欧美视频| 亚洲综合精品自拍| 午夜精彩国产免费不卡不顿大片| 欧美日韩色一区| 亚洲理伦在线| 一区二区免费在线播放| 欧美精品在线网站| 最新国产成人av网站网址麻豆| 亚洲国产综合在线| 美国成人直播| 在线观看一区欧美| 亚洲人成人一区二区在线观看| 欧美chengren| 91久久线看在观草草青青| 亚洲精品一区二区三区四区高清 | 国产精品xxxav免费视频| 日韩一级在线观看| 亚洲自拍电影| 国产精品亚洲欧美| 欧美亚洲在线播放| 两个人的视频www国产精品| 影音先锋亚洲电影| 亚洲理论电影网| 欧美视频导航| 亚洲影院色在线观看免费| 久久国产精品99国产| 红桃视频成人| 亚洲毛片一区二区| 欧美日韩国产综合视频在线观看中文| 日韩视频第一页| 亚洲在线不卡| 国产日韩欧美不卡| 久久精品国产综合| 欧美成人精品在线| 日韩亚洲国产欧美| 欧美一区二区三区四区夜夜大片 | 中文日韩在线视频| 国产农村妇女精品一区二区| 久久er99精品| 欧美sm视频| 日韩一级免费| 久久精品国产第一区二区三区最新章节| 国内精品国语自产拍在线观看| 亚洲国产精品久久| 欧美日本国产精品| 亚洲一区二区三区四区视频| 久久久久久97三级| 亚洲精品在线免费| 亚洲欧美日产图| 国产综合视频| 亚洲免费电影在线| 国产精品影片在线观看| 久久精品一二三区| 欧美日韩国产大片| 亚洲欧美在线播放| 欧美mv日韩mv国产网站app| 99亚洲伊人久久精品影院红桃| 欧美一区二区三区在线| 亚洲成人在线视频播放| 亚洲一级免费视频| 伊人精品成人久久综合软件| 亚洲视频一二区| 狠狠久久综合婷婷不卡| 亚洲一区二区三区高清不卡| 国产午夜亚洲精品羞羞网站| 亚洲伦理精品| 国产婷婷色一区二区三区四区| 亚洲精品孕妇| 国产欧美一区二区白浆黑人| 亚洲精品一二三区| 国产日韩亚洲欧美| 一本一本a久久| 狠狠色狠色综合曰曰| 亚洲综合不卡| 亚洲国产高清自拍| 欧美一区二区国产| 亚洲精品国精品久久99热一| 久久久精品一区| 亚洲视频在线二区| 男男成人高潮片免费网站| 亚洲字幕一区二区| 欧美精品一区二区三区四区| 欧美一区二区三区婷婷月色 | 亚洲精品国产精品乱码不99按摩 | 亚洲乱码精品一二三四区日韩在线| 国产精品永久在线| 夜夜嗨av一区二区三区四季av| 国产一区91| 欧美一级视频精品观看| 日韩午夜剧场| 欧美激情一区二区三区四区| 欧美在线日韩精品| 国产精品一卡|