色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Cortex-M3-MPU(存儲(chǔ)器保護(hù)單元)

          Cortex-M3-MPU(存儲(chǔ)器保護(hù)單元)

          作者: 時(shí)間:2022-05-31 來源:CSDN 收藏

          使命-關(guān)鍵系統(tǒng)

          本文引用地址:http://cafeforensic.com/article/202205/434657.htm

            這種系統(tǒng)往往都用于性命攸關(guān)的場合,且必須連續(xù)無故障地工作,比如,火車調(diào)度系統(tǒng)、生命維持系統(tǒng)、大型發(fā)動(dòng)機(jī)驅(qū)動(dòng)器、核子反應(yīng)堆控制、網(wǎng)絡(luò)/電信的數(shù)據(jù)交換中樞等。如果失能,將導(dǎo)致慘重的經(jīng)濟(jì)與損失,甚至?xí)篃o數(shù)人死于非命。因此,決不允許這類系統(tǒng)出現(xiàn)

            上述情況。然而,這些系統(tǒng)的復(fù)雜度往往都非常高,幾乎不可能由開發(fā)人員保證這種可靠性。因此,需要在硬件水平上加入一個(gè)“公安機(jī)關(guān)”。通過它設(shè)置各種類型的“禁地”,并且施加多種規(guī)章條例。一旦發(fā)現(xiàn)違章,則強(qiáng)制改變執(zhí)行流和處理器的工作狀態(tài),以便可以由軟件做進(jìn)一步的處理。這樣,就可以為不同的程序限定一個(gè)內(nèi)存使用范圍,從而使野指針或惡意破壞無法影響不允許訪問的區(qū)域。此即存儲(chǔ)器保護(hù)單元()。有時(shí),對存儲(chǔ)器的管理更進(jìn)一步,做到可以對地址執(zhí)行變換的程度,此時(shí)程序使用的地址未必是真實(shí)的存儲(chǔ)器地址。它在的基礎(chǔ)上,還消滅了內(nèi)存碎片和浪費(fèi),并且能進(jìn)一步地讓應(yīng)用程序擁有方便舒適的地址空間,從而使程序規(guī)模可以擴(kuò)大甚至數(shù)百倍。此即為“存儲(chǔ)器管理單元”(MMU)。

          MPU概覽

            在Cortex‐M3處理器中可以選配一個(gè)存儲(chǔ)器保護(hù)單元(MPU),它可以實(shí)施對存儲(chǔ)器(主要是內(nèi)存和外設(shè)寄存器)的保護(hù),以使軟件更加健壯和可靠。在使用前,必須根據(jù)需要對其編程。如果沒有啟用MPU,則等同于系統(tǒng)中沒有配MPU。MPU有如下的能力可以提高系統(tǒng)的可靠性:

            阻止用戶應(yīng)用程序破壞操作系統(tǒng)使用的數(shù)據(jù)

            阻止一個(gè)任務(wù)訪問其它任務(wù)的數(shù)據(jù)區(qū),從而把任務(wù)隔開。

            可以把關(guān)鍵數(shù)據(jù)區(qū)設(shè)置為只讀,從根本上消除了被破壞的可能。

            檢測意外的存儲(chǔ)訪問,如,堆棧溢出,數(shù)組越界。此外,還可以通過MPU設(shè)置存儲(chǔ)器regions的其它訪問屬性,比如,是否緩區(qū),是否緩沖等。

            MPU在執(zhí)行其功能時(shí),是以所謂的“region”為單位的。一個(gè)region其實(shí)就是一段連續(xù)的地址,只是它們的位置和范圍都要滿足一些限制(對齊方式,最小容量等)。CM3的MPU共支持8個(gè)regions。怎么,嫌少?是少了點(diǎn),不過,還允許把每個(gè)region進(jìn)一步劃分成更小的“子region”。此外,還允許啟用一個(gè)“背景region”(即沒有MPU時(shí)的全部地址空間),不過它是只能由特權(quán)級(jí)享用。在啟用MPU后,就不得再訪問定義之外的地址區(qū)間,也不得訪問未經(jīng)授權(quán)的region。否則,將以“訪問違例”處理,觸發(fā)MemManage fault。

            MPU定義的regions可以相互交迭。如果某塊內(nèi)存落在多個(gè)region中,則訪問屬性和權(quán)限將由編號(hào)最大的region來決定。比如,若1號(hào)region與4號(hào)region交迭,則交迭的部分受4號(hào)region控制。

          MPU的典型設(shè)置

            在典型的情況下,當(dāng)需要阻止用戶程序訪問特權(quán)級(jí)的數(shù)據(jù)和代碼時(shí),可以啟用MPU。在設(shè)計(jì)MPU regions時(shí),需要考慮到下列的regions:如下圖:

          MPU的自定義設(shè)置后的權(quán)限



          關(guān)鍵詞: MPU 微處理器 Cortex-M3

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉