靈動(dòng)微電子MM32F5330 MPU簡(jiǎn)介靈動(dòng)微電子發(fā)布了搭載安謀科技“星辰”STAR-MC1處理器的全新高性能MM32F5微控制器系列,該系列在內(nèi)核、總線(xiàn)和外設(shè)配置等多個(gè)方面進(jìn)行了創(chuàng)新,內(nèi)核上更是首次搭載了Armv8-M架構(gòu)的“星辰”STAR-MC1處理器。Armv8-M架構(gòu)相較于Armv7-M架構(gòu),除了性能顯著提升以外,其中一項(xiàng)就是更加安全:Armv8-M架構(gòu)引入了TrustZone技術(shù),并強(qiáng)化了內(nèi)存保護(hù)單元(MPU),讓代碼運(yùn)行在更安全的環(huán)境中。
MPU在4GB地址映射中定義保護(hù)區(qū)域。Armv8-M上的MPU有8個(gè)region,每一個(gè)region都有起始地址,結(jié)束地址,訪(fǎng)問(wèn)權(quán)限和內(nèi)存屬性,每一個(gè)region都有單獨(dú)的屬性。和以往Armv7-M的MPU有所不同,Armv8-M的MPU不支持regionoverlap,如果一個(gè)地址同時(shí)出現(xiàn)在兩個(gè)不同的region中,會(huì)導(dǎo)致HardFault。如果程序訪(fǎng)問(wèn)被MPU禁止的內(nèi)存位置,處理器就會(huì)生成一個(gè)MemManage異常。
MPU本質(zhì)上就是為了保護(hù)某一段地址區(qū)域不被非授權(quán)狀態(tài)的程序進(jìn)行訪(fǎng)問(wèn)。通常嵌入式操作系統(tǒng)使用MPU進(jìn)行內(nèi)存保護(hù),內(nèi)核可以根據(jù)進(jìn)程動(dòng)態(tài)更新MPU區(qū)域設(shè)置。MPU可以讓嵌入式系統(tǒng)更加健壯,以及保護(hù)一些加密區(qū)域。MPU具有以下能力可以增加系統(tǒng)的健壯性: ?可以阻止用戶(hù)去破壞操作系統(tǒng)需要使用的數(shù)據(jù) ?可以防止一個(gè)任務(wù)去非法訪(fǎng)問(wèn)其他任務(wù)的數(shù)據(jù),將任務(wù)完全隔離開(kāi) ?可以把關(guān)鍵數(shù)據(jù)區(qū)設(shè)為只讀,從而不被破壞 ?檢測(cè)其他意外訪(fǎng)問(wèn),比如堆棧溢出,數(shù)組越界等 |