查看原文
其他

SEGGER的三款RTOS(embOS)有什么特点?

strongerHuang strongerHuang 2022-05-20
关注+星标公众,不错过精彩内容

作者 | strongerHuang
微信公众号 | strongerHuang

说到SEGGER可能有些读者比较陌生,但说到J-Link相比大家都比较熟悉。

是的,J-Link就是SEGGER公司下的一款产品,SEGGER除了我们熟悉的J-Link其实还有很多嵌入式软件相关的产品,你了解多少?

之前还给大家分享过《STM32生态系统增添embOS新成员》的文章。

1

SEGGER有哪些RTOS

可能我们熟悉的RTOS是μC/OS、 FreeRTOS、 RT-Thread等。但SEGGER也有RTOS,有三种不同的变体,分别是:embOS、 embOS-MPU、 embOS-Safe。


其实embOS发展有很多年了,embOS-MPU 和 embOS-Safe都是在embOS的基础上发展的产物。


2

embOS

embOS库和源代码可免费用于非商业用途。


网址:

https://www.segger.com/products/rtos/embos/

(公号不支持外链接,请复制链接到浏览器打开)


特点:

  • 超过25年的持续发展

  • 适用于所有流行的内核,编译器和开发工具

  • 部署在广泛应用领域的数十亿设备中

  • 通过了IEC 61508 SIL 3和IEC 62304 C类的功能安全认证

  • 符合MISRA-C:2012

  • 强大且易于使用的API

  • 最高的性能,最少的内存使用

  • 提供内核意识插件

  • 零中断延迟

---来源官网,谷歌翻译


文档和软件下载地址(包含三款RTOS,以及各历史版本):

https://www.segger.com/downloads/embos/

(公号不支持外链接,请复制链接到浏览器打开)


3

embOS-MPU

embOS-MPU是embOS发展产物,这里的MPU是Memory Protection Unit(内存保护单元)。


是在embOS之上提供内存保护,增强了不少嵌入式产品的安全性。


由于具有完全兼容的API,现有的embOS应用程序不用,或者简单修改就能兼容embOS-MPU。


网址:

https://www.segger.com/products/rtos/embos/editions/embos-mpu/embos-mpu-basic-concepts/


主要特点:

  • 适用于任何安全关键型应用

  • 适用于任何包含硬件MPU或MMU的MCU

  • 无限数量的特权和非特权任务

  • 非特权任务100%沙盒化

  • 简单直接的运行时配置

  • 易于集成到新产品和现有产品中

---来源官网,谷歌翻译

什么是内存保护?
说到MPU(内存保护单元),这里就再来描述一下什么是内存保护。

内存保护是控制内存访问权限的一种流行机制,并且是大多数现代处理器体系结构和操作系统的一部分。内存保护的主要目的是避免特定任务访问尚未分配给它们的内存,从而防止一个任务中包含的可能的错误甚至恶意软件影响整个系统

为了实现此目的,必须限制可能影响其他任务或OS本身的应用程序任务访问整个内存,特殊功能寄存器和OS的控制结构。例如,执行第三方代码的任务可能被认为是不安全的,因此应受到相应的限制。此类应用程序任务不得以与OS相同的特权状态运行,后者以完全特权模式运行,并且可以访问所有内存,外围设备和CPU功能。而是,这些任务必须在非特权状态下运行,并且只能访问特定的内存位置。

什么是embOS-MPU?
embOS-MPU使用硬件的内存保护单元以及用embOS-MPU实施的其他软件机制来防止一项任务影响系统的整体。这保证即使在一项任务中发生错误的情况下,所有其他任务和操作系统本身也可以继续执行。

使用embOS-MPU,所有特权任务都可以完全访问整个内存。但是,无特权的任务具有对每个不同的内存区域的特定访问权限。为了访问外围设备,可以从非特权任务中调用其他内存位置和OS控制结构,设备驱动程序以及特定的embOS API。


因此,基于embOS-MPU的应用程序包含两个不同的部分:

第一部分以特权状态运行:初始化MPU设置并包括设备驱动程序。此部分包含关键代码,必须经过验证才能完全可靠。

第二部分是应用程序本身:不需要为完全可靠性而进行验证。由于它以非特权状态运行,因此该部分不会影响整个系统。

文档和软件下载地址(同一个地址):

https://www.segger.com/downloads/embos/


4

embOS-Safe

embOS-Safe从描述也能猜测到,它是经过认证的功能安全的RTOS。


embOS-Safe同样是embOS的发展产物,与embOS相关的应用程序编程接口(API)相同。用户的应用程序可以轻松移植到该安全RTOS上。


网址:

https://www.segger.com/products/rtos/embos/editions/embos-safe/

(公号不支持外链接,请复制链接到浏览器打开)


特点:
  • 增强您产品的安全性!

  • 简化认证并降低风险

  • 通过德国TÜV Süd的IEC 61508 SIL3和IEC 62304 C类认证


------------ END ------------

推荐阅读:
如何编写ARM处理器的Bootloader
线程、进程、多线程、多进程 和 多任务 
几款优秀的支持C、C++等多种语言的在线编译器

关注微信公众号『strongerHuang』,后台回复“1024”查看更多内容,回复“加群”按规则加入技术交流群。


长按前往图中包含的公众号关注


点击“阅读原文”查看更多分享,欢迎点分享、收藏、点赞、在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存