
在您的嵌入式項(xiàng)目中使用MPU它可以為你節(jié)省很多挫折、時(shí)間和金錢(qián)。MPU嵌入式開(kāi)發(fā)人員最大的單一優(yōu)點(diǎn)是可以在開(kāi)發(fā)早期捕捉錯(cuò)誤,盡快發(fā)現(xiàn)錯(cuò)誤可以顯著縮短開(kāi)發(fā)時(shí)間,項(xiàng)目后期修復(fù)代碼錯(cuò)誤可以減少文檔和測(cè)試代碼返工,另一方面,盡快修復(fù)錯(cuò)誤將減少項(xiàng)目后期代碼中的錯(cuò)誤數(shù)量,這將簡(jiǎn)化識(shí)別和修復(fù)剩余錯(cuò)誤的過(guò)程,因?yàn)槎鄠(gè)錯(cuò)誤的可能性較小,這是Ampleon代理保持更可預(yù)測(cè)的時(shí)間表,防止意外延遲。
芯片采購(gòu)網(wǎng)專注于整合國(guó)內(nèi)外授權(quán)IC代理商現(xiàn)貨資源,芯片庫(kù)存實(shí)時(shí)查詢,行業(yè)價(jià)格合理,采購(gòu)方便IC芯片,國(guó)內(nèi)專業(yè)芯片采購(gòu)平臺(tái)。
MPU如何實(shí)現(xiàn)這一點(diǎn)?最明顯的方法是保護(hù)所有與當(dāng)前執(zhí)行的代碼無(wú)關(guān)的數(shù)據(jù)。一個(gè)簡(jiǎn)單的例子只能用兩個(gè)RTOS任務(wù)A和B來(lái)構(gòu)建。任務(wù)A和B不應(yīng)該相互交互,但有一個(gè)錯(cuò)誤。任務(wù)A可能會(huì)意外地將任務(wù)B偶爾使用的數(shù)據(jù)寫(xiě)入任務(wù)A的正確運(yùn)行中。但當(dāng)任務(wù)B嘗試使用損壞的數(shù)據(jù)時(shí),任務(wù)B可能會(huì)發(fā)生意外故障。若無(wú)配置MPU為了防止任務(wù)A寫(xiě)入任務(wù)B的數(shù)據(jù),嵌入式開(kāi)發(fā)人員可能需要很長(zhǎng)時(shí)間才能找到這個(gè)錯(cuò)誤。若錯(cuò)誤很微妙,或者任務(wù)B很少使用這些數(shù)據(jù),這個(gè)問(wèn)題將特別難解決。然而,對(duì)于MPU,錯(cuò)誤的寫(xiě)入操作會(huì)立即導(dǎo)致異常,從而確定導(dǎo)致錯(cuò)誤的代碼線。
在某些架構(gòu)上,MPU它甚至可以幫助你檢測(cè)NULL取消可以設(shè)置指針取消引用MPU防止非特權(quán)代碼訪問(wèn)0x0處的內(nèi)存。
一組設(shè)計(jì)良好的應(yīng)用程序MPU該區(qū)域可以明確保護(hù)重要的內(nèi)存區(qū)域,以防止特定問(wèn)題。通過(guò)將緩沖區(qū)放置在一個(gè)很好的例子中MPU防止緩沖區(qū)溢出。您還可以將任何非特權(quán)代碼無(wú)法訪問(wèn)的區(qū)域放置您的任務(wù)堆棧。如果這樣做,每個(gè)任務(wù)都必須使用自己的任務(wù)MPU區(qū)域之一是明確授予自己參觀堆棧的權(quán)限。使用MPU迫使您真正考慮應(yīng)用程序的結(jié)構(gòu),以便您在任務(wù)之間干凈地分離數(shù)據(jù),從而產(chǎn)生更強(qiáng)大和可維護(hù)的代碼庫(kù)。
什么時(shí)候不用?MPU?
嵌入式開(kāi)發(fā)人員不會(huì)在處理器上使用兩種主要情況MPU;一個(gè)簡(jiǎn)單的項(xiàng)目和一個(gè)關(guān)鍵的性能項(xiàng)目。第一個(gè)很簡(jiǎn)單;一個(gè)非常簡(jiǎn)單的應(yīng)用程序可能無(wú)法使用MPU受益于增加的復(fù)雜性。不需要設(shè)置閃存,RAM外圍設(shè)備MPU您的閃爍演示可以在區(qū)域內(nèi)完成。
如果您需要處理器的每一滴性能,請(qǐng)使用它MPU費(fèi)用可能會(huì)讓你大吃一驚。使用MPU的FreeRTOS由于每個(gè)任務(wù)都有多個(gè)任務(wù),端口中的任務(wù)上下文切換例程較長(zhǎng)MPU區(qū)域需要編程。上下文切換新任務(wù)時(shí),RTOS每一項(xiàng)任務(wù)都必須完成MPU編程區(qū)域并履行其通常的職責(zé),如堆疊使用的寄存器。此外,內(nèi)核代碼和數(shù)據(jù)受到影響MPU因此,所有內(nèi)核函數(shù)的調(diào)用都必須受到包裝函數(shù)的保護(hù)。該包裝函數(shù)只能在調(diào)用內(nèi)核函數(shù)之前提高處理器的特權(quán)水平,然后恢復(fù)特權(quán)并返回。這不僅會(huì)增加運(yùn)行代碼所需的時(shí)間,還會(huì)增加任務(wù)所需的堆棧大小。任務(wù)的控制塊也必須在其中MPU存儲(chǔ)信息并存儲(chǔ)在一些安全關(guān)鍵區(qū)域RTOS(如SAFERTOS)還將存儲(chǔ)此數(shù)據(jù)的鏡像。
還要警惕使用MPU這可能很困難,有時(shí)甚至令人沮喪。嵌入式開(kāi)發(fā)人員需要更多的時(shí)間來(lái)設(shè)計(jì)應(yīng)用程序,因?yàn)槊總(gè)任務(wù)都必須考慮MPU區(qū)域。這些區(qū)域的錯(cuò)誤,如不正確的區(qū)域長(zhǎng)度、權(quán)限或不正確鏈接應(yīng)用程序的數(shù)據(jù),可能會(huì)導(dǎo)致調(diào)試混亂。
- 用于RFID 接收器的基帶電路
- 低功耗電源管理芯片0.18微米啟方半導(dǎo)體非外延BCD工藝
- SK海力士第三季度業(yè)績(jī)低于預(yù)期,明年將削減一半以上的資本支出
- 村田中國(guó)亮相OCP China Day 2022
- SK海力士稱SK Square正在考慮芯片公司的并購(gòu)交易
- 芯動(dòng)科技:風(fēng)華 3 顯卡已基本完成研發(fā),支持光線跟蹤
- 國(guó)芯科技:量子密碼卡內(nèi)測(cè)成功 支持各種國(guó)密算法
- 下一代英特爾Thunderbolt?引領(lǐng)行業(yè)前進(jìn)
- 迎接智能高效電機(jī)控制系統(tǒng)新時(shí)代的綜合解決方案
- 晶圓代工廠公布了五年發(fā)展計(jì)劃,1.4納米芯片量產(chǎn)時(shí)間敲定
- 朗科P500超高速TF卡:170MB/s疾速,暢拍4K超清視頻
- 龍鷹一號(hào)展示車亮相,億咖通科技全面推進(jìn)下一代計(jì)算模塊研發(fā)
