作者 | strongerHuang
微信公眾號 | strongerHuang
說到SEGGER可能有些讀者比較陌生,但說到J-Link相比大家都比較熟悉。
是的,J-Link就是SEGGER公司下的一款產品,SEGGER除了我們熟悉的J-Link其實還有很多嵌入式軟件相關的產品,你了解多少?
之前還給大家分享過《 STM32生態系統增添embOS新成員 》的文章。
1SEGGER有哪些RTOS
可能我們熟悉的RTOS是μC/OS、 FreeRTOS、 RT-Thread等。但SEGGER也有RTOS,有三種不同的變體,分別是:embOS、 embOS-MPU、 embOS-Safe。
其實embOS發展有很多年了,embOS-MPU 和 embOS-Safe都是在embOS的基礎上發展的產物。
2embOS
embOS庫和源代碼可免費用于非商業用途。
特點:
超過25年的持續發展
適用于所有流行的內核,編譯器和開發工具
部署在廣泛應用領域的數十億設備中
通過了IEC 61508 SIL 3和IEC 62304 C類的功能安全認證
符合MISRA-C:2012
強大且易于使用的API
最高的性能,最少的內存使用
提供內核意識插件
零中斷延遲
---來源官網,谷歌翻譯
3embOS-MPU
embOS-MPU是embOS發展產物,這里的MPU是Memory Protection Unit(內存保護單元)。
是在embOS之上提供內存保護,增強了不少嵌入式產品的安全性。
由于具有完全兼容的API,現有的embOS應用程序不用,或者簡單修改就能兼容embOS-MPU。
主要特點:
適用于任何安全關鍵型應用
無限數量的特權和非特權任務
非特權任務100%沙盒化
簡單直接的運行時配置
易于集成到新產品和現有產品中
---來源官網,谷歌翻譯
什么是內存保護?
說到MPU(內存保護單元),這里就再來描述一下什么是內存保護。
內存保護是控制內存訪問權限的一種流行機制,并且是大多數現代處理器體系結構和操作系統的一部分。內存保護的主要目的是避免特定任務訪問尚未分配給它們的內存,從而防止一個任務中包含的可能的錯誤甚至惡意軟件影響整個系統。
為了實現此目的,必須限制可能影響其他任務或OS本身的應用程序任務訪問整個內存,特殊功能寄存器和OS的控制結構。例如,執行第三方代碼的任務可能被認為是不安全的,因此應受到相應的限制。此類應用程序任務不得以與OS相同的特權狀態運行,后者以完全特權模式運行,并且可以訪問所有內存,外圍設備和CPU功能。而是,這些任務必須在非特權狀態下運行,并且只能訪問特定的內存位置。
什么是embOS-MPU?
embOS-MPU使用硬件的內存保護單元以及用embOS-MPU實施的其他軟件機制來防止一項任務影響系統的整體。這保證即使在一項任務中發生錯誤的情況下,所有其他任務和操作系統本身也可以繼續執行。
使用embOS-MPU,所有特權任務都可以完全訪問整個內存。但是,無特權的任務具有對每個不同的內存區域的特定訪問權限。為了訪問外圍設備,可以從非特權任務中調用其他內存位置和OS控制結構,設備驅動程序以及特定的embOS API。
因此,基于embOS-MPU的應用程序包含兩個不同的部分:
第一部分以特權狀態運行: 初始化MPU設置并包括設備驅動程序。此部分包含關鍵代碼,必須經過驗證才能完全可靠。
第二部分是應用程序本身: 不需要為完全可靠性而進行驗證。由于它以非特權狀態運行,因此該部分不會影響整個系統。
4embOS-Safe
embOS-Safe從描述也能猜測到,它是經過認證的功能安全的RTOS。
embOS-Safe同樣是embOS的發展產物,與embOS相關的應用程序編程接口(API)相同。用戶的應用程序可以輕松移植到該安全RTOS上。
特點:
增強您產品的安全性!
簡化認證并降低風險
通過德國TüV Süd的IEC 61508 SIL3和IEC 62304 C類認證
責任編輯:haq
-
API
+關注
關注
2文章
1486瀏覽量
61820 -
RTOS
+關注
關注
22文章
809瀏覽量
119439 -
源代碼
+關注
關注
96文章
2944瀏覽量
66670
發布評論請先 登錄
相關推薦
評論