新闻  |   论坛  |   博客  |   在线研讨会
TreeOS 1.0操作系统与其它操作系统的比较 一款真正可用于51的单片机操作系统
wangzi200810 | 2013-11-13 14:34:55    阅读:688   发布文章

这里把TreeOS 1.0与比较有名的两个实时操作系统比较一下。它们是美国Micronum公司 μcos-II实时操作系统,以及德国Keil公司(现被ARM公司收购)RTX51 FULL实时操作系统。


操作系统名称

μcos-II

RTX51 FULL

TreeOS 1.0

多任务

实时性

内核

提供设备驱动程序

全面

提供功能程序模块

全面

内存管理

不需要

任务优先管理

占用内存

几百字节以上

几百字节以上

~0

占用程序空间

2K以上

6~8K

~0

适合51单片机

不适合

不适合

适合

适用ARM

需用汇编

开放源代码

提供配置工具

有(开发中)

学习难度

很小

(Keil公司针对51单片机还推出RTX51 Tiny版本,同样是不开源,而且最多只能有16个任务,没有任务优先级,功能十分有限,因此也没有推广开来。)


目前比较有名的实时多任务操作系统是UCOS和RTX51,在中低档单片机应用方面很少使用。究其原因,主要以下几点:

1)内核占用内存和代码空间资源,使单片机不堪重负。如果去扩展内存和程序空间,则使系统变得复杂,而且增加成本;

2)它们实际上只提供了一个壳而已,而设备驱动、功能模块程序仍需要开发人员花费大量时间自己开发;

3)对于初学者学习、理解、使用起来比较困难;

4)有些操作系统不开源(RTX51就不开放源代码),或者需要用到汇编(如UCOS),使用不方便。

当然,他们比较适合于较大项目的应用。可实际上绝大多数的单片机应用都是中低档的应用。对于小型的应用,使用这些操作系统就有杀鸡用牛刀的感觉。

TreeOS 1.0操作系统克服了以上的所有缺点,其“无核”的设计思想解决了占用占用系统资源(内存、程序空间、MCU运行时间)的问题,真正使51单片机也能用上操作系统。

不仅如此,TreeOS 1.0还提供了整体解决方案:

l 提供整体编程思路(软件架构)

l 提供完备的设备驱动程序和常用程序库

TreeOS 1.0最大的优点就是提供了大量成熟的设备驱动、功能模块等实用程序,正是这些应用程序构成了TreeOS 1.0操作系统,这是其它实时操作系统所不能比拟的。这些应用程序简化了软件开发过程,可以缩短开发时间,为开发人员节省了大量的工作量。

对于任务优先级管理,TreeOS 1.0首先充分利用MCU的中断功能和中断优先级概念,来优先处理紧急的任务。对于普通任务的优先处理,则采用“拆分与插入”原则。对于占时较长的任务,分成多次循环完成;对于需要及时处理的任务,则在大循环中多次插入,以此来保证优先任务的实时处理。另外一个原则是不让MCU有空闲的延时等待时间(时间短的除外),需要等待的任务一般分成多次循环来完成。

TreeOS 1.0很重视程序的易学性。电子工程师绝大部份都是从学习单片机起步的。因此考虑到初学者的困难,我们在设计软件的时候,很注重程序的可读性。生僻的语法尽量少用,变量名字规范清晰,注释充分。TreeOS 1.0由于采用层次结构,符合人们的思维习惯,使程序更通俗易懂。

TreeOS 1.0很重视程序的易用性。主要考虑程序的可移植性、可配置、可剪裁。尽量做到“所学即所用”,使规范化的驱动模块和应用模块可以立即直接搬到用户的系统里,大大降低了单片机开发的难度,减轻了开发人员的工作量。

TreeOS 1.0带来了一种崭新的设计思路,其核心技术就是打破了内核的框框,把实时性设计技术融化于功能齐全的标准化模块之中,这使它能够成为一个真正适用于51单片机的操作系统。

TreeOS 1.0作为一个实时操作系统,它的标准化模块化设计,使它的应用范围可不仅仅局限于单片机。对于嵌入式系统,它都是适用的,而且移植很方便,当然也很容易移植到ARM。事实上,我们已经将TreeOS 1.0移植到Cortex-M3,并成功应用到一些中型的开发项目上。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
推荐文章
最近访客