搜索
bottom↓
回复: 6

eCos简介

[复制链接]

出0入0汤圆

发表于 2008-4-9 12:21:44 | 显示全部楼层 |阅读模式
eCos简介
作者 Ray
RTEMS版权所有,转载请注明:来源http://www.rtems.net,作者ray@rtems.net
摘要
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。

图1 eCos的配置界面

(原文件名:ecos1.gif)

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, Matsu(敏感词0373)a 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-1.gif)
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 即可。
本文有一些文字来源于eCos的文档以及台湾交通大学陈思豪等人的文章《嵌入式系统开机程式:RedBoot》。
转自Tony嵌入式,原文地址:http://www.cevx.com/bbs/dispbbs.asp?boardID=23&ID=1591&page=1

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

 楼主| 发表于 2008-4-9 13:08:44 | 显示全部楼层
eCosCentric,英国的,一个由eCos的maintainer组成的公司,专门从事eCos相关的开发和支援
http://www.ecoscentric.com

出0入0汤圆

发表于 2009-12-4 08:44:55 | 显示全部楼层
非常想用eCos,可惜资源太少

出0入0汤圆

发表于 2011-5-29 12:57:47 | 显示全部楼层
支持楼主, 顶啊。。

出0入0汤圆

发表于 2011-9-15 22:47:32 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-16 14:09:05 | 显示全部楼层
回复【1楼】_yuming
ecoscentric,英国的,一个由ecos的maintainer组成的公司,专门从事ecos相关的开发和支援
http://www.ecoscentric.com
-----------------------------------------------------------------------

这个是收费的吧?

出0入0汤圆

发表于 2012-10-13 12:31:56 | 显示全部楼层
ecos官网上说明不收费的,但是提供收费服务。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 15:22

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表