eCos的特点
eCos的特点 eCos,由于出身较晚,所以在设计理念是比较新颖的。它最大的特点是内核可配置,具有可配置性、可裁减性、可移植性和实时性。核心部分是由不同组件组成,包括内核、C语言库和底层运行包等。每个组件能提供大量的可配置选项,利用eCos提供的配置工具可以很方便的进行配置。通过不同的配置使得eCos能满足不同的嵌入式应用。 什么是可配置的 eCos其最大特点就是可配置,那么什么是可配置的呢? 以前的嵌入式系统开发是开发人员改变调整应用来适应底下的操作系统,现在的情况是eCos提供了大范围的可选项供开发人员配置操作系统,以最好地匹配应用的需求,这样就变成了调整操作系统来适应应用。典型的配置选项包括调度器的类型和任务优先级别数目等。当前,eCos具有200多个配置选项。 因为嵌入式应用中代码和数据的体积是必须考虑的因素,因此可配置能力必须保证不会带来任何这方面的开销。一些配置能力可以通过连结来实现,但为了最大化的利益,大多数配置在编译阶段进行。如果合适的话,一个配置项只影响单行代码是可能的。另一方面,单个配置项或许会决定着整个tcp/ip栈的取舍。对于用 C或C++写的系统代码来说,采用的主要机制就是C预处理表达式#ifdef。 用#ifdef来提供一些可配置选项,这种想法当然不是什么原创性的工作。关键在于,配置项并不是互相独立的,例如:改变一个内核选项可能会影响到C库还能否提供线程安全的例程。在eCos中关键的创新是配置项被视为带有依赖描述的数据条目(data
items)。有一个图形配置工具使用户可以方便地操纵各种选项,理解各种相互作用,并能够检查配置结果的有效性。 这一配置框架还把系统构件化为不同的包(packages),包括内核,C库和数学库。可以选择要不要整个包,也可以改变这些包里面的配置项。还可以向系统添加新包,比如添加一个TCP/IP桟。关键是这些新加的包可以指明其对系统其他部分的依赖关系,例如TCP/IP桟可以指明它需要每线程数据支持
(per-thread data
support)。我们期望eCos包的数量随着时间不断扩充,现在已有一些开发者打算把他们现有的软件做成eCos包的形式。 eCos配置系统不影响你开发自己的应用程序的方式。没有必要采用任何特定的语言,没有必要在自己的代码中提供大量配置项,也没有必要使用专门的开发环境。配置系统的主要输出是一个要与你的应用代码连接的库。 eCos的核心组件 实时嵌入操作系统包含一些标准的功能,例如中断和异常处理,线程同步机制,调度器和驱动程序等,这些也构成了eCos的核心组件。具体包括:
|