热门问题
时间线
聊天
视角

FreeRTOS

来自维基百科,自由的百科全书

FreeRTOS
Remove ads

FreeRTOS是一个热门的[3]嵌入式装置即时操作系统核心[4][5],它于2003年由Richard Barry设计,并已被经成功移植到35种不同的微控制器[6]。FreeRTOS采用MIT许可证许可。

事实速览 开发者, 操作系统家族 ...
Remove ads

实现

FreeRTOS的设计小巧且简易,整个核心代码只有3到4个C文件,为了让代码容易阅读、移植和维护,大部分的代码都是以C语言编写,只有一些函数(多数是架构特定排班副程序)采用汇编语言编写。

FreeRTOS提供许多方法以实现多线程(threads)、多作业(task)、互斥锁(mutex)、信号量(semaphore)和软件计时器(software timer),有个为低耗电应用程式提供的无嘀嗒(tick-less)模式,线程的优先权管理也有支持,此外,FreeRTOS提供了四种存储器配置的模式:

  • 仅配置(allocate only)
  • 以非常简易但快速的算法进行配置与释放
  • 搭配存储器合并英语Coalescing (computer science),以较复杂但快速的算法进行配置与释放
  • 搭配互斥保护,以 C 函数库配置进行配置与释放

FreeRTOS中没有一些像LinuxMicrosoft Windows等典型操作系统具有的先进特征,例如装置驱动程式英语device drivers、先进存储器管理机制、用户管理和网络管理,FreeRTOS着重在执行的简洁与速度,FreeRTOS有时会被视为是一个‘线程函数库’而非‘操作系统’,尽管可以找到命令行接口和类似POSIX I/O 接口的插件。

FreeRTOS实现了多线程,主程序会在规律的短时间区间内调用一个线程时计方法,这个方法会以循环制依照任务的优先级进行任务切换,一般来说,这个短时间区间介于 1/1000 秒与 1/100 秒之间,透过一个硬件时计中断来计时,但这个区间经常随着特定的应用而改变。

从FreeRTOS官网(FreeRTOS.org页面存档备份,存于互联网档案馆))所下载到的代码包含准备用来移植或编译的配置文件和演示代码,让用户可以快速地进行应用程式设计。

Remove ads

主要特色

支持平台

相关系统

SafeRTOS

SafeRTOS的功能和FreeRTOS类似,但是是为实现安全关键系统所设计。FreeRTOS的机能模型经过完全的HAZOP,其机能模型及API因为用户误用或是硬件失效造成的弱点都已经识别且修正。最后的需求经过完整IEC 61508 SIL 3开发生命周期来实现,也是只有软件的组件可以达到的最高等级。

SafeRTOS是由WITTENSTEIN high integrity systems开发,原开发者 Real Time Engineers Ltd 为其合作伙伴[7]。SafeRTOS和FreeRTOS有相同的调度算法,相似的API,其他方面也相当类似[8],不过是因为不同的目标而设计的[9]。SafeRTOS只用C语言进行开发,以符合IEC61508的认证需求[10]

在操作系统中,SafeRTOS有其独特的地方,是只需要放在微处理器中的只读存储器(ROM)即可,因此可以进行IEC61508或是其他安全或是可靠度相关的完整软件及硬件预认证[11]。若是放在只读存储器中,SafeRTOS代码只能依照原始的配置来执行,因此用这套操作系统的装置的认证测试,不需在安全认证中重新测试其开发的程序[12]

德州仪器会针对其TI Stellaris系列的部分MCU的ROM里加上SafeRTOS[13],因此客户可以将SafeRTOS用在商业应用中,而不用采购其原代码。在这种使用方式下,会提供一个简单的C语言头文件将SafeRTOS的API函数映射于其在ROM中对应位置内。这种将SafeRTOS放在只读存储器的作法相当理想,因为其中的程序不会被修改,去除了用户的错误,也确保在项目开发过程中,SafeRTOS部分的程序都和认证时的相同。

Remove ads

OpenRTOS

OpenRTOS也是和FreeRTOS有关的项目,其代码和FreeRTOS完全相同,但是其许可及收费方式不同。OpenRTOS是由WITTENSTEIN Aerospace and Simulation Ltd提供的软件,其许可要求移除了所有参考GNU通用公共许可证的内容。OpenRTOS是商业软件,需购买后才能使用,也没有上述的许可要求,购买OpenRTOS的客户也可以获得完整的技术支持[14]

参见

参考资料

Loading content...

外部链接

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads