| MKS51A015-503-50 |
![]() |
價格: 元(人民幣) | 產地:MKS51A015-503-50 |
| 最少起訂量:1個 | 發貨地:MKS51A015-503-50 | |
| 上架時間:2021-12-23 16:57:25 | 瀏覽量:99 | |
廈門光沃自動化設備有限公司
![]() |
||
| 經營模式:經銷商 | 公司類型:其他有限責任公司 | |
| 所屬行業:PLC控制系統 | 主要客戶:全國市場 | |
在線咨詢 ![]() |
||
| 聯系人:吳 (先生) | 手機:18030229050 |
|
電話: |
傳真: |
| 郵箱:1878187406@qq.com | 地址:廈門市海滄區滄湖東一里海景奧斯卡 |
|
MKS51A015-503-50 使用建議以非特權模式運行用戶代碼 使用MPU時,以特權模式運行應用代碼。這意味著應用程序代碼將能夠更改MPU設置,并破壞使用MPU的目的。以特權模式運行應用可能更容易地遷移應用代碼。在某些時候,大多數應用程序代碼將需要在非特權模式下運行,用戶需要添加SVC處理程序。 ISR具有完全訪問權限 當識別到中斷并且啟動ISR時,處理器將切換到特權模式。由于MPU控制寄存器的PRIVDEFENA為1,因此ISR可以訪問所有I/O內存。 此外,ISR應該盡可能短,并簡單地發信號給任務,由任務執行中斷設備所需的大部分工作。當然,這假設ISR是內核感知的ISR,并且該中斷設備有相當多的工作處理。例如,不應在ISR中上處理以太網數據包。然而,閃爍LED或更新脈沖寬度調制(PWM)計時器的占空比可以直接在ISR中完成。 防止在RAM中執行代碼 大多數MPU可以防止從RAM執行代碼,從而限制代碼注入攻擊。防止外設執行代碼可能看起來很奇怪,但可以防止想方設法進入系統的黑客。 限制進程對外設的訪問 應該留出一個或多個MPU區域,以限制進程只能訪問自己的外設。換言之,如果一個進程管理USB端口,那么它應該只能訪問USB外設或與USB控制器的需求相關的外設,例如DMA。 可用的RTOS API 設計者必須確定應用代碼可使用哪些RTOS API。例如,是否禁止應用代碼在系統初始化后創建和刪除任務或RTOS對象?換言之,RTOS對象是否只能系統啟動時創建,而非運行時創建? 如果是,SVC處理程序查找表應只包含向應用公開的API。即使ISR在特權模式下運行,可以訪問所有的RTOS API,一個好的RTOS也會阻止從ISR中創建和刪除RTOS對象。 在RTOS空間中分配RTOS對象 任務堆棧位于進程空間內,但是,RTOS對象(信號量、隊列、任務控制塊等)應在內核空間中分配,并通過引用進行訪問。不應在進程空間中分配RTOS對象,因為這意味著應用代碼可以不調用RTOS API,即可有意或意外地修改內核對象。 保護對代碼的訪問 雖然MPU區域通常用于提供或限制對RAM和外設的訪問,但如果有空閑區域,并且能夠通過進程組織代碼,那么限制對代碼的訪問非常有用,可以防止某些類型的安全攻擊,如Return-to-libc攻擊。 減少進程間的通信 正如設計時,盡可能保持任務獨立一樣,進程也應該遵循同樣的規則。因此,進程間應盡量不交互,或者將進程間通信保持在限度。如果必須與其它進程通信,只需留出一個包含Out和In緩沖區的共享區域。 發送者將其數據放入Out緩沖區中,然后觸發一個中斷來喚醒接收進程。一旦數據被處理,響應可以放在發送者的In緩沖區中,并且可以使用中斷來通知發送進程。 確定出現MPU故障時應如何操作 理想情況下,在開發過程中檢測并糾正所有MPU故障。你還需考慮由于意外故障或錯誤或系統受到安全攻擊而出現的故障處理。在大多數情況下,建議對每個任務或每個進程設置一個可控的關機順序。是否重新啟動違規任務、進程內或整個系統內的所有任務都取決于故障的嚴重程度。 記錄和報告故障 理想情況下,系統應該能夠記錄(可能是文件系統)并顯示故障原因,以便開發人員解決問題。 大多數RTOS在特權模式下運行應用代碼,使得應用程序完全控制CPU及其資源。所有任務和ISR都可以不受限制地訪問內存和外設。這意味著應用程序代碼可能會意外或故意損壞其他任務的堆棧或變量。通過MPU機制,可以限制應用代碼的訪問權限,極大提供應用的功能安全。 MKS51A015-503-50
|
| 版權聲明:以上所展示的信息由會員自行提供,內容的真實性、準確性和合法性由發布會員負責。機電之家對此不承擔任何責任。 友情提醒:為規避購買風險,建議您在購買相關產品前務必確認供應商資質及產品質量。 |