作者 | strongerHuang
微信公眾號 | strongerHuang
說到SEGGER可能有些讀者比較陌生,但說到J-Link相比大家都比較熟悉。
是的,J-Link就是SEGGER公司下的一款產(chǎn)品,SEGGER除了我們熟悉的J-Link其實還有很多嵌入式軟件相關的產(chǎn)品,你了解多少?
之前還給大家分享過《 STM32生態(tài)系統(tǒng)增添embOS新成員 》的文章。
1SEGGER有哪些RTOS
可能我們熟悉的RTOS是μC/OS、 FreeRTOS、 RT-Thread等。但SEGGER也有RTOS,有三種不同的變體,分別是:embOS、 embOS-MPU、 embOS-Safe。

其實embOS發(fā)展有很多年了,embOS-MPU 和 embOS-Safe都是在embOS的基礎上發(fā)展的產(chǎn)物。
2embOS
embOS庫和源代碼可免費用于非商業(yè)用途。
特點:
超過25年的持續(xù)發(fā)展
適用于所有流行的內核,編譯器和開發(fā)工具
部署在廣泛應用領域的數(shù)十億設備中
通過了IEC 61508 SIL 3和IEC 62304 C類的功能安全認證
符合MISRA-C:2012
強大且易于使用的API
最高的性能,最少的內存使用
提供內核意識插件
零中斷延遲
---來源官網(wǎng),谷歌翻譯

3embOS-MPU
embOS-MPU是embOS發(fā)展產(chǎn)物,這里的MPU是Memory Protection Unit(內存保護單元)。
是在embOS之上提供內存保護,增強了不少嵌入式產(chǎn)品的安全性。
由于具有完全兼容的API,現(xiàn)有的embOS應用程序不用,或者簡單修改就能兼容embOS-MPU。
主要特點:
適用于任何安全關鍵型應用
適用于任何包含硬件MPU或MMU的MCU
無限數(shù)量的特權和非特權任務
非特權任務100%沙盒化
簡單直接的運行時配置
易于集成到新產(chǎn)品和現(xiàn)有產(chǎn)品中
---來源官網(wǎng),谷歌翻譯
什么是內存保護?
說到MPU(內存保護單元),這里就再來描述一下什么是內存保護。
內存保護是控制內存訪問權限的一種流行機制,并且是大多數(shù)現(xiàn)代處理器體系結構和操作系統(tǒng)的一部分。內存保護的主要目的是避免特定任務訪問尚未分配給它們的內存,從而防止一個任務中包含的可能的錯誤甚至惡意軟件影響整個系統(tǒng)。
為了實現(xiàn)此目的,必須限制可能影響其他任務或OS本身的應用程序任務訪問整個內存,特殊功能寄存器和OS的控制結構。例如,執(zhí)行第三方代碼的任務可能被認為是不安全的,因此應受到相應的限制。此類應用程序任務不得以與OS相同的特權狀態(tài)運行,后者以完全特權模式運行,并且可以訪問所有內存,外圍設備和CPU功能。而是,這些任務必須在非特權狀態(tài)下運行,并且只能訪問特定的內存位置。
什么是embOS-MPU?
embOS-MPU使用硬件的內存保護單元以及用embOS-MPU實施的其他軟件機制來防止一項任務影響系統(tǒng)的整體。這保證即使在一項任務中發(fā)生錯誤的情況下,所有其他任務和操作系統(tǒng)本身也可以繼續(xù)執(zhí)行。
使用embOS-MPU,所有特權任務都可以完全訪問整個內存。但是,無特權的任務具有對每個不同的內存區(qū)域的特定訪問權限。為了訪問外圍設備,可以從非特權任務中調用其他內存位置和OS控制結構,設備驅動程序以及特定的embOS API。
因此,基于embOS-MPU的應用程序包含兩個不同的部分:
第一部分以特權狀態(tài)運行: 初始化MPU設置并包括設備驅動程序。此部分包含關鍵代碼,必須經(jīng)過驗證才能完全可靠。
第二部分是應用程序本身: 不需要為完全可靠性而進行驗證。由于它以非特權狀態(tài)運行,因此該部分不會影響整個系統(tǒng)。
4embOS-Safe
embOS-Safe從描述也能猜測到,它是經(jīng)過認證的功能安全的RTOS。
embOS-Safe同樣是embOS的發(fā)展產(chǎn)物,與embOS相關的應用程序編程接口(API)相同。用戶的應用程序可以輕松移植到該安全RTOS上。
特點:
增強您產(chǎn)品的安全性!
簡化認證并降低風險
通過德國TüV Süd的IEC 61508 SIL3和IEC 62304 C類認證
責任編輯:haq
-
API
+關注
關注
2文章
1969瀏覽量
65793 -
RTOS
+關注
關注
24文章
858瀏覽量
122346 -
源代碼
+關注
關注
96文章
2953瀏覽量
69394
發(fā)布評論請先 登錄
SEGGER Ozone調試器支持第三方調試工具
SEGGER J-Probe工具的工作原理和應用
SEGGER工具鏈集成到CMake和VS Code了
請問編譯純rtos到底是選擇Linux+rtos的sdk編譯only rtos還是直接使用rtos sdk?
怎樣使用Jlink (SEGGER) 通過SWD讀寫呢?
如何在Eclipse ThreadX RTOS中集成SystemView
SEGGER emFile支持大型數(shù)據(jù)庫
SEGGER SystemView支持Eclipse ThreadX
Segger RTT調試工具的使用方法
基于SEGGER的Ozone調試器和J-Trace工具跟蹤Ferrocene的Rust應用
SEGGER SystemView支持多核行為的觀察和驗證
EE-303:將VisualDSP線程安全庫與第三方RTOS配合使用

SEGGER的三款RTOS有什么特點?
評論