91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

應(yīng)用筆記|管理STM32 MCU中的內(nèi)存保護(hù)單元

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

掃碼添加小助手

加入工程師交流群




目錄預(yù)覽




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


1

前言

本應(yīng)用筆記介紹如何管理 STM32 產(chǎn)品中的內(nèi)存保護(hù)單元(MPU)。MPU 是用于存儲(chǔ)器保護(hù)的可選組件。STM32 微控制器MCU)中嵌入 MPU 之后變得更穩(wěn)健可靠。在使用 MPU 之前,必須對(duì)其進(jìn)行編程并加以啟用。如果 MPU 沒有啟用,則存儲(chǔ)系統(tǒng)的行為不會(huì)變化。


2

概述

MPU 可以使嵌入式系統(tǒng)更加穩(wěn)健和安全:? 禁止用戶應(yīng)用程序破壞關(guān)鍵任務(wù)(例如操作系統(tǒng)核心)使用的數(shù)據(jù)? 將 SRAM 存儲(chǔ)區(qū)域定義為非可執(zhí)行(禁止執(zhí)行 XN),以防止代碼注入攻擊? 修改存儲(chǔ)訪問屬性MPU可最多保護(hù)16個(gè)內(nèi)存區(qū)域。在 Armv6、Armv7 架構(gòu)(Cortex-M0+、M3、M4、M7)下,這些區(qū)域可以依次擁有 8 個(gè)子區(qū)域(前提是區(qū)域至少有 256 字節(jié)))。


在 STM32 中,受保護(hù)區(qū)域的確切數(shù)量可能因內(nèi)核和器件而有所不同,請(qǐng)參閱 Cortex-M33 MPU 寄存器獲取詳細(xì)信息。子區(qū)域的大小都是相等的,可以根據(jù)子區(qū)域號(hào)進(jìn)行啟用或禁用。因?yàn)樽钚^(qū)域大小是由緩存行長度(32 字節(jié))驅(qū)動(dòng)的,所以 8 個(gè) 32 字節(jié)的子區(qū)域?qū)?yīng)一個(gè) 256 字節(jié)的區(qū)域。區(qū)域的編號(hào)為 0 至 15。


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


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


Conclusion:

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


MPU 是統(tǒng)一的,意味著沒有單獨(dú)的區(qū)域用于數(shù)據(jù)和指令。


MPU 還可以用于定義其他存儲(chǔ)器屬性(如可緩存性),可以導(dǎo)出到系統(tǒng)級(jí)緩存單元或存儲(chǔ)存控制器。Arm 架構(gòu)中的存儲(chǔ)器屬性設(shè)置可以支持兩種級(jí)別的緩存:內(nèi)部緩存和外部緩存。STM32F7 和 STM32H7 系列僅支持一種級(jí)別的緩存(L1-緩存)。


緩存控制由緩存控制寄存器實(shí)現(xiàn)全局控制,但 MPU 可以指定緩存策略以及區(qū)域是否可緩存。


2.1存儲(chǔ)器模型

在 STM32 產(chǎn)品中,處理器具有固定的默認(rèn)存儲(chǔ)器映射,可提供最多 4 Gb 的可尋址存儲(chǔ)器。



3

Cortex-M0+/M3/M4/M7

存儲(chǔ)器類型、寄存器和屬性

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


3.1 存儲(chǔ)器類型

有三種常見的存儲(chǔ)器類型:

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


? 器件存儲(chǔ)器:在器件區(qū)域內(nèi),負(fù)載和存儲(chǔ)是嚴(yán)格按照順序進(jìn)行的。這是為了確保以正確的順序設(shè)置寄存器。


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


3.2 存儲(chǔ)器屬性

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


前一個(gè)表格中的參數(shù)詳情如下:

? XN 標(biāo)志位控制代碼的執(zhí)行。為了在區(qū)域內(nèi)執(zhí)行指令,特權(quán)級(jí)別必須有讀訪問權(quán)限,而 XN 必須為 0。否則,會(huì)產(chǎn)生 MemManage 報(bào)錯(cuò)。


? 數(shù)據(jù)訪問權(quán)限(AP)字段定義存儲(chǔ)區(qū)域的 AP。


下表對(duì)訪問權(quán)限進(jìn)行了說明:


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


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


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


長按掃碼關(guān)注公眾號(hào)


更多資訊,盡在STM32


點(diǎn)擊“閱讀原文”,可下載原文檔


原文標(biāo)題:應(yīng)用筆記|管理STM32 MCU中的內(nèi)存保護(hù)單元

文章出處:【微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6076

    文章

    45498

    瀏覽量

    670586
  • STM32
    +關(guān)注

    關(guān)注

    2310

    文章

    11162

    瀏覽量

    373518

原文標(biāo)題:應(yīng)用筆記|管理STM32 MCU中的內(nèi)存保護(hù)單元

文章出處:【微信號(hào):STM32_STM8_MCU,微信公眾號(hào):STM32單片機(jī)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    LAT1180+STM32L4R9 的 QuadSPI Flash 通訊速率不理想應(yīng)用筆記

    客戶反應(yīng) STM32L4R9 同 QSPI Flash 通訊,測出來的讀取速率為 10MB/s, 和理論值相差較大。按照客戶的時(shí)鐘配置和 STM32L4R9 的數(shù)據(jù)手冊(cè)的數(shù)據(jù),OSPI 讀數(shù)速率為 10MB/s肯定存在問題。
    發(fā)表于 01-11 17:30 ?0次下載

    LAT1187+在 Keil 中使用 STM32CubeProgrammer應(yīng)用筆記

    STM32 MCU 新產(chǎn)品的早期用戶有時(shí)候會(huì)遇見工具鏈還在完善的情形,例如,一部分STM32 工具已經(jīng)支持該產(chǎn)品,而另外一部分 STM32
    發(fā)表于 01-11 17:27 ?0次下載

    AN5289 使用 STM32WB 系列微控制器構(gòu)建射頻應(yīng)用筆記

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

    AN2606_STM32單片機(jī)系統(tǒng)內(nèi)存啟動(dòng)方式應(yīng)用筆記

    自舉程序存儲(chǔ)在STM32器件的內(nèi)部自舉ROM(系統(tǒng)存儲(chǔ)器),由ST在生產(chǎn)期間進(jìn)行編程。其主要任務(wù)是通過一種可用的串行外設(shè)(如USART、CAN、USB、I 2C)將應(yīng)用程序下載到內(nèi)部Flash
    發(fā)表于 01-08 14:49 ?0次下載

    RDMA設(shè)計(jì)8:狀態(tài)管理單元設(shè)計(jì)

    狀態(tài)管理單元負(fù)責(zé)讀取系統(tǒng)工作狀態(tài),包括物理鏈路連接狀態(tài)和隊(duì)列連接狀態(tài),并反饋給上位機(jī)。
    的頭像 發(fā)表于 12-16 16:55 ?1367次閱讀
    RDMA設(shè)計(jì)8:狀態(tài)<b class='flag-5'>管理</b><b class='flag-5'>單元</b>設(shè)計(jì)

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

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

    CW32A系列(車規(guī)級(jí) MCU)介紹

    加密、內(nèi)存保護(hù)單元(MPU)、看門狗定時(shí)器。 典型應(yīng)用:車身控制模塊(BCM)、車載傳感器、動(dòng)力電池管理(BMS)、ADAS 輔助駕駛。
    發(fā)表于 11-17 06:30

    STMicroelectronics STSPIN32G060x 600V三相BLDC控制器數(shù)據(jù)手冊(cè)

    傳導(dǎo)、死區(qū)時(shí)間和UVLO保護(hù),可實(shí)現(xiàn)高效安全運(yùn)行。該MCU的工作頻率高達(dá)64MHz,并通過內(nèi)存保護(hù)單元 (MPU) 增強(qiáng)了安全性。
    的頭像 發(fā)表于 10-22 11:29 ?6769次閱讀
    STMicroelectronics STSPIN32G060x 600V三相BLDC控制器數(shù)據(jù)手冊(cè)

    RTThread支持內(nèi)存保護(hù)功能嗎?

    以前在其他視頻里看過說單片機(jī)可以實(shí)現(xiàn)線程崩潰不會(huì)影響系統(tǒng)運(yùn)行, 我一直不知道怎么實(shí)現(xiàn)的, 最近了解到 MPU和Zephyr的內(nèi)存保護(hù), 這些在RTthread可以實(shí)現(xiàn)嗎
    發(fā)表于 10-14 07:14

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

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

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

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

    MCU自動(dòng)測量單元:革新數(shù)據(jù)收集與結(jié)構(gòu)安全監(jiān)測

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

    GPDV6624C應(yīng)用筆記1.0版

    電子發(fā)燒友網(wǎng)站提供《GPDV6624C應(yīng)用筆記1.0版.pdf》資料免費(fèi)下載
    發(fā)表于 06-06 17:20 ?0次下載

    MCU分布式模塊化自動(dòng)測量單元:數(shù)據(jù)傳輸與處理能力如何?

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