99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

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

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

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

為什么要使用MPU?MPU如何實(shí)現(xiàn)內(nèi)存保護(hù)?

strongerHuang ? 來(lái)源:strongerHuang ? 作者:strongerHuang ? 2022-07-05 17:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

先說(shuō)明一下MPU,MPU有很多含義,我們常見(jiàn)的有:

MPU:Memory Protection Unit,內(nèi)存保護(hù)單元(本文描述的內(nèi)容);

MPU:Microprocessor Unit,微處理器;

還有,可能有人會(huì)與MPU-6050這類模塊聯(lián)系在一起。所以,大家不要把MPU搞混了。

為什么要使用MPU?

如果你開(kāi)發(fā)的嵌入式項(xiàng)目,因內(nèi)存溢出,或者內(nèi)存故障等一些原因,造成了重大經(jīng)濟(jì)損失,或者造成了重大事故,你就能體會(huì)為什么要使用內(nèi)存保護(hù)單元(MPU)了。

嵌入式系統(tǒng)中使用內(nèi)存保護(hù)單元(MPU)可以在開(kāi)發(fā)早期及時(shí)發(fā)現(xiàn)因內(nèi)存而導(dǎo)致的Bug,節(jié)省更多開(kāi)發(fā)時(shí)間。 同時(shí),在項(xiàng)目后期修改Bug,或者增加功能,可以減少修改文檔和測(cè)試所需的時(shí)間。 poYBAGLEBzGABAnVAACn1eYQigc216.jpg

也就是說(shuō),使用MPU,會(huì)避免因?yàn)樾薷囊粋€(gè)bug,而引起多個(gè)bug的情況(0生1,1生萬(wàn)物)。

MPU如何實(shí)現(xiàn)內(nèi)存保護(hù)

簡(jiǎn)單來(lái)說(shuō)就是保護(hù)與當(dāng)前執(zhí)行的代碼不相關(guān)的所有數(shù)據(jù)。

RTOS任務(wù)A和B來(lái)說(shuō): 任務(wù)A和B不應(yīng)相互交互數(shù)據(jù),但是存在一個(gè)錯(cuò)誤,任務(wù)A可能會(huì)意外地寫(xiě)入任務(wù)B偶爾使用的某些數(shù)據(jù),不會(huì)影響任務(wù)A的正確操作。但是,當(dāng)任務(wù)B嘗試使用損壞的數(shù)據(jù)時(shí),任務(wù)B可能會(huì)意外故障。 如果沒(méi)有配置MPU來(lái)阻止任務(wù)A寫(xiě)入任務(wù)B的數(shù)據(jù),則該錯(cuò)誤可能需要很長(zhǎng)的時(shí)間供開(kāi)發(fā)人員跟蹤。如果錯(cuò)誤很小,或者如果任務(wù)B很少使用該數(shù)據(jù),則將很難解決該bug。但是,如果使用了MPU,則該bug就會(huì)及早被發(fā)現(xiàn)。 在某些體系結(jié)構(gòu)上,MPU甚至可以幫助你檢測(cè)NULL指針引用,因?yàn)槟憧梢栽O(shè)置MPU區(qū)域以防止非特權(quán)代碼訪問(wèn)內(nèi)存0x0。 應(yīng)用程序中一組設(shè)計(jì)良好的MPU區(qū)域可以很好的保護(hù)重要的內(nèi)存區(qū)域,以防止出現(xiàn)特定的問(wèn)題。 一個(gè)很好的例子是通過(guò)在MPU區(qū)域的末尾放置緩沖區(qū)來(lái)防止緩沖區(qū)溢出,你還可以將任務(wù)堆棧放置在任何非特權(quán)代碼都無(wú)法訪問(wèn)的區(qū)域。如果這樣做,則每個(gè)任務(wù)必須使用自己的MPU區(qū)域之一來(lái)設(shè)置自己對(duì)自己的堆棧的訪問(wèn)權(quán)限。

使用MPU的好處

無(wú)論是操作系統(tǒng),還是裸機(jī)系統(tǒng),如果沒(méi)有防止惡意訪問(wèn)錯(cuò)誤內(nèi)存的能力,系統(tǒng)將有重大安全問(wèn)題,以及安全漏洞的雷區(qū)。

使用的內(nèi)存保護(hù)單元(MPU)有很多優(yōu)勢(shì),MPU通常允許你以特權(quán)或非特權(quán)模式運(yùn)行,并使用一組“區(qū)域”來(lái)確定當(dāng)前正在執(zhí)行的代碼是否具有訪問(wèn)代碼和數(shù)據(jù)的權(quán)限。 每個(gè)區(qū)域都是一個(gè)連續(xù)的內(nèi)存塊,具有該內(nèi)存的一組權(quán)限,特權(quán)和非特權(quán)訪問(wèn)。與非特權(quán)代碼的子集相比,特權(quán)代碼往往可以訪問(wèn)大部分(但不是全部)內(nèi)存。 在整個(gè)系統(tǒng)運(yùn)行時(shí)中,這些區(qū)域不必相同。MPU區(qū)域可以根據(jù)每個(gè)任務(wù)進(jìn)行修改,每個(gè)任務(wù)可以具有自己獨(dú)特的區(qū)域集,這些區(qū)域在任務(wù)移至運(yùn)行狀態(tài)時(shí)進(jìn)行配置。 這使你可以僅對(duì)需要代碼和數(shù)據(jù)的任務(wù)設(shè)置訪問(wèn)權(quán)限,利用MPU的嵌入式操作系統(tǒng)將在每次上下文切換期間管理每個(gè)任務(wù)的區(qū)域和特權(quán)級(jí)別。 比如設(shè)置RTOS兩個(gè)任務(wù)不同的內(nèi)存保護(hù)區(qū)域:

pYYBAGLEBxWACXZ-AAEJCMxikdA848.jpg

上面這張圖,大家都能看懂吧?Flash和內(nèi)存區(qū)域被分別設(shè)置保護(hù)。 兩個(gè)全局保護(hù)區(qū)域:Flash開(kāi)頭、RAM開(kāi)頭; 在Flash中,一部分僅限任務(wù)1訪問(wèn),這部分不能被任務(wù)訪問(wèn);同時(shí),在Flash另外區(qū)域,僅限任務(wù)2訪問(wèn),不能被任務(wù)1訪問(wèn)。如果這兩部分區(qū)域被對(duì)方訪問(wèn),則會(huì)生成生成MPU故障。 在RAM區(qū)域,同一部分區(qū)域,一個(gè)只能被讀,一個(gè)只能被寫(xiě)入,如果不按約定操作,同樣也會(huì)生產(chǎn)MPU故障。

什么時(shí)候不使用MPU?

通常有兩種情況可以不使用處理器上的MPU功能:

一個(gè)簡(jiǎn)單的項(xiàng)目

一個(gè)對(duì)性能至關(guān)重要的項(xiàng)目

第1個(gè)很簡(jiǎn)單:一個(gè)非常簡(jiǎn)單的應(yīng)用程序基本上沒(méi)必要使用MPU,反而增加了系統(tǒng)的復(fù)雜性。不設(shè)置內(nèi)存保護(hù),RAM和外圍設(shè)備的MPU區(qū)域,你自己一眼就能找到bug。 第2個(gè)對(duì)性能要求高的項(xiàng)目,在上下文切換時(shí),設(shè)置內(nèi)存保護(hù),堆棧那些操作,有可能影響系統(tǒng)的實(shí)時(shí)性,從而導(dǎo)致系統(tǒng)異常。這個(gè)需要結(jié)合項(xiàng)目實(shí)際情況考慮用,還是不用MPU功能。

審核編輯:劉清

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

    關(guān)注

    11

    文章

    2383

    瀏覽量

    84197
  • MPU
    MPU
    +關(guān)注

    關(guān)注

    0

    文章

    415

    瀏覽量

    49930
  • RTOS
    +關(guān)注

    關(guān)注

    24

    文章

    851

    瀏覽量

    121189

原文標(biāo)題:為什么RTOS系統(tǒng)要使用MPU?

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

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    如何使用 SPI 全雙工在兩個(gè) 5LP MPU 之間連接 RAM?

    我需要將兩個(gè) 5LP MPU 連接在一起以鏡像兩個(gè) 5LP MPU 內(nèi)的 RAM。 我認(rèn)為這將是 DMA 的一個(gè)功能,但我不確定如何實(shí)現(xiàn)該功能。 我的主 SPI 單元將向從屬 MPU
    發(fā)表于 07-15 06:20

    瑞薩RZ/A3M HMI MPU介紹

    對(duì)于高質(zhì)量圖形顯示的應(yīng)用要求,用戶通常采用功能強(qiáng)大及搭載DDR高速接口的MPU來(lái)實(shí)現(xiàn)更多功能和更流暢的畫(huà)面。但在開(kāi)發(fā)過(guò)程會(huì)遇到DDR高速總線設(shè)計(jì)的難題,同時(shí)Linux系統(tǒng)難以實(shí)現(xiàn)類似MCU的快速啟動(dòng)性能。瑞薩新推出的RZ/A3M
    的頭像 發(fā)表于 05-27 16:14 ?416次閱讀
    瑞薩RZ/A3M HMI <b class='flag-5'>MPU</b>介紹

    MPU-6000和MPU-6050產(chǎn)品規(guī)格書(shū)

    電子發(fā)燒友網(wǎng)站提供《MPU-6000和MPU-6050產(chǎn)品規(guī)格書(shū).pdf》資料免費(fèi)下載
    發(fā)表于 04-29 16:52 ?0次下載

    關(guān)于mpu6050問(wèn)題

    我很早之前買了一個(gè),我現(xiàn)在使用這個(gè)mpu6050,我在調(diào)mpu6050數(shù)據(jù)時(shí)候,數(shù)據(jù)抖動(dòng)特別大,我沒(méi)動(dòng)這個(gè)mpu6050,它自己都有抖動(dòng),然后本來(lái)放在水平,他的機(jī)械中值是2.5,但是我水平抖動(dòng)后,機(jī)械中值突然變成了-258,這是
    發(fā)表于 03-09 17:17

    常見(jiàn)MPU接口類型及特點(diǎn)

    微處理器單元(MPU)是計(jì)算機(jī)系統(tǒng)中的核心組件,負(fù)責(zé)執(zhí)行程序指令和處理數(shù)據(jù)。MPU接口是連接MPU與其他系統(tǒng)組件(如內(nèi)存、輸入/輸出設(shè)備等)的橋梁。以下是一些常見(jiàn)的
    的頭像 發(fā)表于 01-08 09:43 ?868次閱讀

    如何優(yōu)化MPU的能耗

    優(yōu)化MPU(微處理器單元)的能耗是一個(gè)綜合性的任務(wù),需要從硬件設(shè)計(jì)、軟件優(yōu)化以及系統(tǒng)集成等多個(gè)方面入手。以下是一些具體的優(yōu)化策略: 一、硬件設(shè)計(jì)優(yōu)化 選擇低功耗MPU : 在設(shè)計(jì)之初,應(yīng)根據(jù)應(yīng)用需求
    的頭像 發(fā)表于 01-08 09:41 ?621次閱讀

    MPU的性能評(píng)估方法

    Testing) 基準(zhǔn)測(cè)試是通過(guò)運(yùn)行一組預(yù)定義的測(cè)試程序來(lái)評(píng)估MPU的性能。這些測(cè)試程序通常涵蓋了處理器的主要功能,如計(jì)算能力、內(nèi)存訪問(wèn)速度、浮點(diǎn)運(yùn)算等。通過(guò)比較不同MPU在相同基準(zhǔn)測(cè)試下的得分,可以直觀地了解它們的性能差異。
    的頭像 發(fā)表于 01-08 09:39 ?782次閱讀

    MPU數(shù)據(jù)傳輸協(xié)議詳解

    在現(xiàn)代電子系統(tǒng)中,微控制器(MPU)扮演著核心角色,負(fù)責(zé)處理各種任務(wù)和數(shù)據(jù)。為了實(shí)現(xiàn)這些功能,MPU需要與其他設(shè)備進(jìn)行數(shù)據(jù)交換。數(shù)據(jù)傳輸協(xié)議就是規(guī)定這些數(shù)據(jù)交換如何進(jìn)行的一套規(guī)則。 MPU
    的頭像 發(fā)表于 01-08 09:37 ?880次閱讀

    MPU的故障排除技巧

    MPU(微處理單元)的故障排除技巧涉及多個(gè)方面,包括硬件連接、軟件配置、通信協(xié)議以及系統(tǒng)集成等。以下是一些詳細(xì)的故障排除技巧: 一、硬件連接檢查 接口兼容性 : 確保MPU與其他設(shè)備的接口兼容
    的頭像 發(fā)表于 01-08 09:36 ?715次閱讀

    MPU與數(shù)字信號(hào)處理的關(guān)系

    在數(shù)字化時(shí)代,微處理器單元(MPU)和數(shù)字信號(hào)處理(DSP)技術(shù)已經(jīng)成為實(shí)現(xiàn)復(fù)雜計(jì)算和數(shù)據(jù)處理任務(wù)的關(guān)鍵技術(shù)。MPU作為計(jì)算機(jī)系統(tǒng)的大腦,負(fù)責(zé)執(zhí)行程序指令和處理數(shù)據(jù),而DSP則專注于高效地處理信號(hào)
    的頭像 發(fā)表于 01-08 09:29 ?621次閱讀

    MPU在嵌入式系統(tǒng)中的應(yīng)用

    一、MPU的基本功能 微處理器單元(MPU)是嵌入式系統(tǒng)中的大腦,負(fù)責(zé)執(zhí)行程序指令、處理數(shù)據(jù)和控制其他硬件設(shè)備。MPU的基本功能包括: 指令執(zhí)行:MPU能夠從存儲(chǔ)器中讀取指令,解碼這些
    的頭像 發(fā)表于 01-08 09:26 ?917次閱讀

    MPU與MCU的區(qū)別

    和應(yīng)用上存在顯著差異。 MPU與MCU的定義 微處理器單元(MPU) : MPU是一種通用的中央處理單元,它主要設(shè)計(jì)用于執(zhí)行復(fù)雜的計(jì)算任務(wù)。MPU通常包含一個(gè)或多個(gè)核心,能夠處理廣泛的
    的頭像 發(fā)表于 01-08 09:25 ?1610次閱讀

    什么是MPU控制器及其應(yīng)用

    MPU控制器是現(xiàn)代電子系統(tǒng)中不可或缺的組成部分,它們?cè)诟鞣N設(shè)備中扮演著核心角色,從簡(jiǎn)單的嵌入式系統(tǒng)到復(fù)雜的計(jì)算機(jī)和服務(wù)器。MPU控制器的設(shè)計(jì)旨在提供高效、可靠的數(shù)據(jù)處理能力,同時(shí)保持較低的功耗和成本
    的頭像 發(fā)表于 01-08 09:23 ?812次閱讀

    MPU微處理器的工作原理

    在現(xiàn)代電子設(shè)備中,微處理器(MPU)扮演著至關(guān)重要的角色。從個(gè)人電腦到智能手機(jī),再到嵌入式系統(tǒng),MPU都是實(shí)現(xiàn)復(fù)雜計(jì)算任務(wù)的關(guān)鍵。 MPU的基本結(jié)構(gòu)
    的頭像 發(fā)表于 01-07 18:08 ?1418次閱讀

    瑞薩RZ/T系列MPU的中斷重入實(shí)現(xiàn)

    基于Arm的RZ/T系列MPU通過(guò)工業(yè)以太網(wǎng)通信提供高性能和高速實(shí)時(shí)控制,為自動(dòng)化市場(chǎng)構(gòu)建高性能系統(tǒng)。RZ/T MPU和RZ/N MPU均基于類似的硬件架構(gòu)開(kāi)發(fā)而成,并共享相同的軟件環(huán)境,可實(shí)
    的頭像 發(fā)表于 07-23 14:47 ?1107次閱讀
    瑞薩RZ/T系列<b class='flag-5'>MPU</b>的中斷重入<b class='flag-5'>實(shí)現(xiàn)</b>