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

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

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

3天內不再提示

應用筆記|管理STM32 MCU中的內存保護單元

STM32單片機 ? 來源:未知 ? 2022-12-21 21:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群




目錄預覽




1.前言
2.概述
3.Cortex-M0+/M3/M4/M7存儲器類型、寄存器
屬性
4.Cortex-M33 存儲器類型、寄存器和屬性
5.Cortex 內核之間的 MPU 特性對比
6.帶 STM32Cube HAL 的 MPU(采用 Armv6
Armv7 架構)設置示例
7.結論


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 重疊部分的地址為不可寫。


Conclusion:

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


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


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


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


2.1存儲器模型

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



3

Cortex-M0+/M3/M4/M7

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

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


3.1 存儲器類型

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

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


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


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


3.2 存儲器屬性

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


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

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


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


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


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


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


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


長按掃碼關注公眾號


更多資訊,盡在STM32


點擊“閱讀原文”,可下載原文檔


原文標題:應用筆記|管理STM32 MCU中的內存保護單元

文章出處:【微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

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

    關注

    6076

    文章

    45494

    瀏覽量

    670275
  • STM32
    +關注

    關注

    2309

    文章

    11162

    瀏覽量

    373415

原文標題:應用筆記|管理STM32 MCU中的內存保護單元

文章出處:【微信號:STM32_STM8_MCU,微信公眾號:STM32單片機】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32L052x6/8:超低功耗32位MCU的卓越之選

    STM32L052x6/8:超低功耗32位MCU的卓越之選 在當今的電子設備設計,低功耗、高性能的微控制器(MCU)是眾多應用的核心需求。STM3
    的頭像 發表于 02-11 15:20 ?143次閱讀

    LAT1187+在 Keil 中使用 STM32CubeProgrammer應用筆記

    STM32 MCU 新產品的早期用戶有時候會遇見工具鏈還在完善的情形,例如,一部分STM32 工具已經支持該產品,而另外一部分 STM32
    發表于 01-11 17:27 ?0次下載

    AN5289 使用 STM32WB 系列微控制器構建射頻應用筆記

    本文檔一步一步地指導設計人員基于 STM32WB 系列微控制器構建特定 Bluetooth低功耗或802.15.4 應用。它匯集了最重要的信息,并且列出了需要處理的方面。為了充分利用本文檔的信息
    發表于 01-09 14:13 ?0次下載

    AN2606_STM32單片機系統內存啟動方式應用筆記

    自舉程序存儲在STM32器件的內部自舉ROM(系統存儲器),由ST在生產期間進行編程。其主要任務是通過一種可用的串行外設(如USART、CAN、USB、I 2C)將應用程序下載到內部Flash
    發表于 01-08 14:49 ?0次下載

    RDMA設計8:狀態管理單元設計

    狀態管理單元負責讀取系統工作狀態,包括物理鏈路連接狀態和隊列連接狀態,并反饋給上位機。
    的頭像 發表于 12-16 16:55 ?1355次閱讀
    RDMA設計8:狀態<b class='flag-5'>管理</b><b class='flag-5'>單元</b>設計

    FreeRTOS和uC/OS-II的功能特性

    。 多核支持 (FreeRTOS SMP): 有官方對稱多處理 (SMP) 版本,支持多核處理器。 MPU 支持: 支持內存保護單元 (MPU),用于任務隔離和提升可靠性/安全性。 POSIX 兼容層
    發表于 11-17 08:17

    CW32A系列(車規級 MCU)介紹

    加密、內存保護單元(MPU)、看門狗定時器。 典型應用:車身控制模塊(BCM)、車載傳感器、動力電池管理(BMS)、ADAS 輔助駕駛。
    發表于 11-17 06:30

    STMicroelectronics STSPIN32G060x 600V三相BLDC控制器數據手冊

    傳導、死區時間和UVLO保護,可實現高效安全運行。該MCU的工作頻率高達64MHz,并通過內存保護單元 (MPU) 增強了安全性。
    的頭像 發表于 10-22 11:29 ?6744次閱讀
    STMicroelectronics STSPIN32G060x 600V三相BLDC控制器數據手冊

    RTThread支持內存保護功能嗎?

    以前在其他視頻里看過說單片機可以實現線程崩潰不會影響系統運行, 我一直不知道怎么實現的, 最近了解到 MPU和Zephyr的內存保護, 這些在RTthread可以實現嗎
    發表于 10-14 07:14

    如何配置和管理MCU分布式模塊化自動測量單元

    MCU分布式模塊化自動測量單元是南京峟思工程儀器有限公司研發的專業監測設備,廣泛應用于巖土工程和結構安全監測領域。該單元采用分布式架構設計,支持多類型傳感器混合接入,可通過集中管理平臺
    的頭像 發表于 09-24 15:39 ?709次閱讀
    如何配置和<b class='flag-5'>管理</b><b class='flag-5'>MCU</b>分布式模塊化自動測量<b class='flag-5'>單元</b>

    永銘鉭電容:藏在筆記本“電力心臟”的精密藝術

    筆記的藝術當你用筆記本電腦流暢剪輯4K視頻、激戰高畫質3A游戲時,是否想過是誰在幕后默默保障電力穩定?在纖薄機身與強悍性能并存的今天,筆記本電腦正面臨“既要極致輕薄,又要澎湃動力”
    的頭像 發表于 09-01 09:57 ?782次閱讀
    永銘鉭電容:藏在<b class='flag-5'>筆記</b>本“電力心臟”<b class='flag-5'>中</b>的精密藝術

    MCU自動測量單元:革新數據收集與結構安全監測

    在巖土工程與大型結構物(如大壩、橋梁、隧道、邊坡等)的安全監測,精準、可靠的數據采集是保障工程安全的核心。南京峟思工程儀器有限公司推出的MCU自動測量單元,憑借其智能化、模塊化設計及多場景適配能力
    的頭像 發表于 06-20 09:55 ?622次閱讀
    <b class='flag-5'>MCU</b>自動測量<b class='flag-5'>單元</b>:革新數據收集與結構安全監測

    GPDV6624C應用筆記1.0版

    電子發燒友網站提供《GPDV6624C應用筆記1.0版.pdf》資料免費下載
    發表于 06-06 17:20 ?0次下載

    MCU分布式模塊化自動測量單元:數據傳輸與處理能力如何?

    在現代工程監測MCU分布式模塊化自動測量單元(MCU)以其靈活的配置和強大的數據處理能力,成為了各類安全監測項目的理想選擇。本文將深入探討MCU
    的頭像 發表于 03-12 14:09 ?871次閱讀
    <b class='flag-5'>MCU</b>分布式模塊化自動測量<b class='flag-5'>單元</b>:數據傳輸與處理能力如何?

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

    和普通任務,從而保護整個系統的安全。通過將加密算法、密鑰和敏感操作限制在安全區域執行,可以減少被攻擊的風險。 · 使用MPU進行內存保護: · · MPU是一種內存訪問控制硬件,它可以限制CPU對特定
    發表于 03-07 07:30