在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
芯片精品文章合集(500篇!) 创芯人才网--重磅上线啦!
查看: 2866|回复: 4

嵌入式领域的一颗新星-ECOS

[复制链接]
发表于 2007-3-2 09:51:49 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
eCos最大的特点是内核可配置。它出生于1997年,相对其他的系统来说是非常年轻的,但是也正是因为出身的晚,所以在设计理念上面是比较新颖的。其全部代码使用C++编写。  

    eCos可以说是嵌入式领域的一颗新星,全称是Embedded Configurable Operating System。绝大多数代码使用C++写作完成。最早是Cygnus公司开发(是不是想到Cygwin了?),不久被RedHat收购,现在RedHat又放弃了RedHat项目,解雇了eCos的开发人员,将他踢到了Free Found Org(这是我坚决不用RedHat的原因,太功利了)。  
    eCos最大的特点是模块化,内核可配置。如果说嵌入式Linux太庞大了,那么eCos可能就能够满足要求。它是一个针对16位、32位和64位处理器的可移植开放源代码的嵌入式RTOS。和嵌入式Linux不同,它是由专门设计嵌入式系统的工作组设计的。ECOS具有相当丰富的特性和一个配置工具,后者能够让你选取你所需要的特性。Linux兼容的嵌入式系统在内核裁减后编译出来的二进制代码大小在500k字节以上,这还只包含最简单的内核模块,几乎没有加载任何其他的驱动与协议栈。但是eCos最小版本只有几百个字节,一般,一个完整的网路应用,其二进制的代码也就100K字节左右。而且更为重要的是,eCos提供的Linux兼容的API能让开发人员轻松的将linux应用移植(这点和RTEMS很相似),与此同时,应用程序不用跑在Linux复杂的内核机制上(这套机制,对于大型服务器也许还凑合,但是对于短小精干的嵌入式应用,太浪费了),大大节省了你的晶振和RAM。
    eCos 中字面上C(configurable) 表示的“高可配置性”。eCos 可以让开发者像在玩积木般地自由选择其执行期的元件,应用程序开发者可以针对自己的应用程序来设迟一个对其最小的RTOS环境,这跟以往应用程序就是跑在一个完整的RTOS上本质上不同,在嵌入式系统资源与内存寸土寸金的环境上,这样的开发方式是很重要的。在以往的嵌入式开发方式都是自己手工的将RTOS作缩减,对经验不足或对该RTOS不够熟悉的人将会花去许多时间,或是根本很难将RTOS拆开,但在eCos 上,由于设计之初就是朝向可设迟的原则,各种元件都遵守著模块化的开发方式,而应用程序开发者只要使用eCos 中的配置,即可轻松简单的对eCos 元件作量身打造,也不需对其内部实作有所了解即时RTOS的核心并提供标准系统API。eCos 的核心支持一般OS 常见的项目如驱动程序(Device Driver)、内存管理(Memory managemant)、异常处理(exception handling)、中断处理(exception handling)、线程的支持(thread support)、计时器(Timer)、计数器(Counter),对于即时RTOS的支持如完全优先(full preemptability)、最小中断延迟(minimal interrupt latencies )、线程同步(synchronization primitive)、可自定的调度原则(schedule policies)。此外也支持POSIX 等操作系统的标准API 及ANSI C 与常用的数学函数。支持常用的周边及通讯协议( networking stacks)支持以太网络卡,串口,USB slave等常用周边。并支持一般常用的通讯协议如IP、IPV6、ICMP、UDP、TCP、SNMP、HTTP、TFTP、FTP 等。网络设迟部分,可支持静态IP 与DHCP 。GDB支持可支持主控端使用GDB 远端透过串口或是以太网络对应用程序除错。  
此外, eCos另一个优点是他支持非常多的平台和CPU,尤其是比较新的CPU比如ARM的各个系列,DSP(BlackFin)等。并且也支持很多硬件平台。目前支持的CPU包括: ARM, CalmRISC, FR-V, H8, IA32, M68K, Matsushita AM3x, MIPS, NEC V8xx, PowerPC, SPARC, SuperH  
支持的硬件平台设备包括: Flash, Ethernet, 串口, USB, 时钟等。其已直接支持了时下绝大部分的硬件,可在eCos 官方网站上找到支持列表。具体的硬件支持情况可以参考http://ecos.sourceware.org/hardware.html,里面有长长的一个列表,大家可以根据自己的情况去看看。需要说明的是,这个硬件列表可能很久没有更新过了,最新的硬件列表可能需要访问开发者的邮件列表。  

ECos的Licence  
eCos的专利受eCos license 所保护,这是一个GPL license 的修改版,其准许开发者在其上开发的应用程序(eCos 以外自行撰写的部分)可以不用跟著GPL 一起发布。应用程序开发者可免费的取得其完整的源码(buyout-free),并针对其作任意的修改与在其上开发自己的应用程序并发布,唯一的限制只是若有修改到eCos 本身,其需将修改的源码回报给eCos 开发小组。当开发者将其当为产品时,也不需支付版税(royalty-free)。可以看出,eCos的Licence比GPL要宽松。  


eCos 上开发的应用程序架构图中File system 指的是对文件系统如ext2 等的支持,library 是上节所提包括POSIX,ANSI C 等的函数库。这张图,由上到下,表示从高层到底层的eCos架构。最底层的是我们的硬件,在硬件上面有HAL 与装置驱动程序,而我们大部分会利用eCos 工具去设中间kernel、networking stack、library 层(OS层),只留下我们需要的部分。最上层的应用程序就是我们自行撰写的部分,通过中间OS 层的辅助来达成我们的目的。由这张图,我们可以看出,Redboot 是一个架构在eCos HAL 与Device Driver 上的一套应用程序。其中与硬件最关系密切的就是HAL,可以用“最接近硬件的软件”来形容,HAL 将所有与硬件相关的地方对外隐藏在里面。针对不同的硬件时,只需换掉HAL,换上针对新硬件而撰写的HAL 即可。
发表于 2007-4-10 18:52:58 | 显示全部楼层

正打算学这个了

不知道有多少人在学?
发表于 2007-4-12 10:23:45 | 显示全部楼层
软件进步好快,刚学ucos,有见到一个好的系统
发表于 2007-4-22 03:15:57 | 显示全部楼层
用C++写操作系统倒是挺新的
发表于 2019-1-3 17:40:12 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2025-1-20 21:47 , Processed in 0.050068 second(s), 23 queries , Gzip On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表