ecos

起源于Cygnus公司的操作系统

eCos(embedded Configurable operating system),中文翻译为嵌入式可配置操作系统或嵌入式可配置实时操作系统

简介
eCos是一种嵌入式可配置实时操作系统,适合于深度嵌入式应用,主要应用对象包括消费电子、电信、车载设备、手持设备以及其他一些低成本和便携式应用。eCos是一种开放源代码软件,无任何版权费用。eCos具有很强的可配置能力,而且它的代码量很小,通常为几十到几百KB。它的最小配置形式是它的硬件抽象层HAL所提供的引导程序Redboot,可以支持很大范围内许多不同的处理器和平台。它的最大配置形式是一个完整的实时操作系统,所提供的服务和支持能与其他大多数商用实时操作系统相媲美。eCos为开发人员提供了一个能涵盖大范围内各种嵌入式产品的公共软件基础结构,使得嵌入式软件开发人员可以集中精力去开发更好的嵌入式产品,而不是停留在对实时操作系统的开发、维护和配置上。
eCos在嵌入式系统软件方面最具创新意义的贡献是可配置组件框架。eCos可配置组件框架使得开发人员可选择那些能满足需求的组件,同时对其中一些组件进行配置,从而满足实现特定应用的需求,这意味着对于eCos中的一个组件来说,可以使用或者禁止它的某个特性,或者为它选择一种特定实现。一个例子是关于eCos调度器组件的配置,它为开发人员提供了一些配置选项,如线程优先级的数目、是否使用时间片等。通过对这些选项进行配置,与开发人员需求无关的任何代码都可从最后的映像文件中被去掉。
eCos的这种可配置性使得公司能够在内部建立起一个可重用的组件库,库中的每个组件都包含其实现的源代码。由于这些组件具有较好的可移植性和广泛的可适用性,因此通过使用它们,公司就能大大地缩短产品的开发时间和上市时间。eCos的组件框架还鼓励通过第三方的开发来扩展核心组件的功能和特性。随着越来越多的开发人员在开发的产品中不断地扩展组件的功能,并且把这样的组件贡献给eCos项目,eCos的功能就会不断地完善和提高。另外,如果是eCos中还没有提供的功能,有了eCos的源代码,我们自己也可以实现它。
起源与历史
eCos最初起源于Cygnus公司。Cygnus创建于1989年,创始人为Michael Tiemanm、David Henkel-Wallace和John Gilmore,其目的是为开源软件提供高质量的开发和支持。经过几年的艰苦努力,最后推出了今天被人们广泛使用的GNUPro开发工具包,包括GCC(ANSI-C编译器)、G++(C++编译器)、GDB(源码级和汇编级调试工具)、GAS(GNU汇编器)、LD(GNU链接器)、Cygwin(Windows下的UNIX环境)、Insight(GDB图形界面GUI)等。
Cygnus对eCos的设计始于1997年春季,其主要目的是为市场提供一种低成本、高效率、高质量的嵌入式软件解决方案,同时要求该软件所占系统资源极少。eCos和GNUPro相辅相成,扩大了Cygnus的产品线。eCos从设计之初就考虑到了嵌入式系统中的内存资源的限制以及嵌入式硬件平台的多样性。通过与其他许多半导体公司的协作,Cygnus成功构造了一个可以对硬件层进行抽象的实时操作系统(RTOS),并且具有高度可配置性。这些特性使得RTOS可以适合于各种各样的嵌入式系统,这种RTOS就是eCos。eCos的高度可配置性可以显著缩短嵌入式产品的开发周期。
Cygnus对eCos的另一个设计目标是降低嵌入式产品的成本。低成本是嵌入式系统开发中必须考虑的一个重要因素。通过使用开放源代码的形式,eCos基本上不需要任何费用。它是一种完全免费的软件,任何公司和个人都可以直接从Internet上下载其源代码和相应的开发工具,并且可以自由地进行修改和扩展,eCos产品的发布也无需交纳任何版权费用。用户可以自由使用eCos,但是要求公布对eCos的改动,这是为了提供或促进eCos发展的一种措施。当然,用户的应用程序不必公开。
1998年11月,Cygnus发布第一个eCos版本(eCos 1.1)。
1999年5月,发布eCos 1.2.1。
1999年11月,Red Hat收购Cygnus。
2000年3月,Red Hat发布eCos 1.3.1。
2000年8月,增加Redboot支持。
2002年,Red Hat裁剪eCos开发团队,原eCos团队组建eCosCentric公司。
2003年5月,eCosCentric发布eCos 2.0。
2004年1月,Red Hat宣布将eCos版权转移给自由软件基金会(Free Software Foundation)。
2008年11月,增加Cortex-M架构支持。
2009年3月,eCosCentric发布eCos 3.0。
2013年8月,增加单精度浮点数学库以支持Cortex-M4F的硬件浮点处理器。
特点
内核可配置
eCos最大的特点是内核可配置。它出生于1997年,相对其他的系统来说是非常年轻的,但是也正是因为出身的晚,所以在设计理念上面是比较新颖的。其全部代码使用C++编写。 eCos可以说是嵌入式领域的一颗新星,全称是Embedded Configurable Operating System。绝大多数代码使用C++写作完成。最早是 Cygnus公司开发,不久被RedHat收购,RedHat由于财务上的原因放弃了eCos项目,解雇了eCos的开发人员,将eCos源代码捐给了自由软件基金会(Free Software Foundation),随后eCos开发人员组建了eCosCentric公司为eCos提供商业支持。 eCos最大的特点是模块化,内核可配置。如果说嵌入式Linux太庞大了,那么eCos可能就能够满足要求。它是一个针对16位、32位和64位处理器的可移植开放源代码嵌入式RTOS。和嵌入式Linux不同,它是由专门设计嵌入式系统的工作组设计的。eCos具有相当丰富的特性和一个配置工具,后者能够让你选取你所需要的特性。Linux兼容的嵌入式系统在内核裁减后编译出来的二进制代码大小在500k字节以上,这还只包含最简单的内核模块,几乎没有加载任何其他的驱动与协议栈。但是eCos最小版本只有几百K字节,一般,一个完整的网路应用,其二进制的代码也就100K字节左右。而且更为重要的是,eCos提供的Linux兼容的API能让开发人员轻松的将Linux应用移植到eCos(这点和RTEMS很相似),与此同时,应用程序不用跑在Linux复杂的内核机制上(这套机制,对于大型服务器也许还凑合,但是对于短小精悍的嵌入式应用,太浪费了),大大节省了你的时钟和RAM。
组态配置
eCos具有可组态配置的特性,可针对精确性应用的需求而进行客制化,加上数百种的选项功效,使其能用最少的硬件资源获得最大可能的执行效能。
针对小内存
eCos是针对RAM存储资源只有「数十KB至数百KB」间的装置而设计,同时也是针对实时运作而设计,它可以用在存储器不足以支援嵌入式Linux执行的应用场合,因为就一般而言嵌入式Linux至少要2MB左右的RAM内存空间才能执行,且还不包含应用程序及服务程序等的内存需求。
执行平台
eCos可以在各种硬件平台上执行,包括ARM、 CalmRISC16/32、 Coldfire、 Cortex-M、 Fujitsu fr30/fr50/fr60 、 Fujitsu FR-V、 Hitachi H8、 IA-32、 Motorola 68000、 Matsushita AM3x、 MIPS、 NEC V8xx、 OpenRISCPowerPCSPARCSunplus SPCE、 SuperHNios II等。
嵌入系统
嵌入式操作系统的种类较多,其中比较流行的有VxWorksWindows CEpSOSPalm OS、uC/OS、嵌入式Linux等。这些嵌入式操作系统在开放性、实用性以及性能等方面各有千秋,但大多数为商用产品。除了商用产品外,还有一些免费的嵌入式操作系统,uClinux是其中比较流行的,而eCos则是另一个选择。嵌入式可配置操作系统eCos(Embedded Configureable Operating System)的特点是可配置性、可裁减性、可移植性和实时性。它的一个主要技术特色就是功能强大的配置系统,可以在源码级实现对系统的配置和裁减。与Linux的配置和裁减相比,eCos的配置方法更清晰、更方便;且系统层次也比Linux清晰明了,移植和增加驱动模块更加容易。正是由于这些特性,eCos引起了越来越多的关注,同时也吸引越来越多的厂家使用eCos开发其新一代嵌入式产品。如凌阳SPCE3200处理器。
国内社区
eCos技术网是一个专注于eCos技术的社区网站,致力于开源免费的专为嵌入式系统设计的嵌入式可配置操作系统eCos在中国的应用、推广、社区服务和相应的产品技术方案。
全国各地天气预报查询

上海市

  • 市辖区
  • 云南省

  • 临沧市
  • 云南省

  • 丽江市
  • 云南省

  • 保山市
  • 云南省

  • 大理白族自治州
  • 云南省

  • 德宏傣族景颇族自治州
  • 云南省

  • 怒江傈僳族自治州
  • 云南省

  • 文山壮族苗族自治州
  • 云南省

  • 昆明市
  • 云南省

  • 昭通市
  • 云南省

  • 普洱市
  • 云南省

  • 曲靖市
  • 云南省

  • 楚雄彝族自治州
  • 云南省

  • 玉溪市
  • 云南省

  • 红河哈尼族彝族自治州
  • 云南省

  • 西双版纳傣族自治州
  • 云南省

  • 迪庆藏族自治州
  • 内蒙古自治区

  • 乌兰察布市
  • 内蒙古自治区

  • 乌海市
  • 内蒙古自治区

  • 兴安盟
  • 内蒙古自治区

  • 包头市
  • 内蒙古自治区

  • 呼伦贝尔市
  • 内蒙古自治区

  • 呼和浩特市
  • 内蒙古自治区

  • 巴彦淖尔市
  • 内蒙古自治区

  • 赤峰市
  • 内蒙古自治区

  • 通辽市
  • 内蒙古自治区

  • 鄂尔多斯市
  • 内蒙古自治区

  • 锡林郭勒盟
  • 内蒙古自治区

  • 阿拉善盟
  • 北京市

  • 市辖区
  • 吉林省

  • 吉林市
  • 吉林省

  • 四平市
  • 吉林省

  • 延边朝鲜族自治州
  • 吉林省

  • 松原市
  • 吉林省

  • 白城市
  • 吉林省

  • 白山市
  • 吉林省

  • 辽源市
  • 吉林省

  • 通化市
  • 吉林省

  • 长春市
  • 四川省

  • 乐山市
  • 四川省

  • 内江市
  • 四川省

  • 凉山彝族自治州
  • 四川省

  • 南充市
  • 四川省

  • 宜宾市
  • 四川省

  • 巴中市
  • 四川省

  • 广元市
  • 四川省

  • 广安市
  • 四川省

  • 德阳市
  • 四川省

  • 成都市
  • 四川省

  • 攀枝花市
  • 四川省

  • 泸州市
  • 四川省

  • 甘孜藏族自治州
  • 四川省

  • 眉山市
  • 四川省

  • 绵阳市
  • 四川省

  • 自贡市
  • 四川省

  • 资阳市
  • 四川省

  • 达州市
  • 四川省

  • 遂宁市
  • 四川省

  • 阿坝藏族羌族自治州
  • 四川省

  • 雅安市
  • 天津市

  • 市辖区
  • 宁夏回族自治区

  • 中卫市
  • 宁夏回族自治区

  • 吴忠市
  • 宁夏回族自治区

  • 固原市
  • 宁夏回族自治区

  • 石嘴山市
  • 宁夏回族自治区

  • 银川市
  • 安徽省

  • 亳州市
  • 安徽省

  • 六安市
  • 安徽省

  • 合肥市
  • 安徽省

  • 安庆市
  • 安徽省

  • 宣城市
  • 安徽省

  • 宿州市
  • 安徽省

  • 池州市
  • 安徽省

  • 淮北市
  • 安徽省

  • 淮南市
  • 安徽省

  • 滁州市
  • 安徽省

  • 芜湖市
  • 安徽省

  • 蚌埠市
  • 安徽省

  • 铜陵市
  • 安徽省

  • 阜阳市
  • 安徽省

  • 马鞍山市
  • 安徽省

  • 黄山市
  • 山东省

  • 东营市
  • 山东省

  • 临沂市
  • 山东省

  • 威海市
  • 山东省

  • 德州市
  • 山东省

  • 日照市
  • 山东省

  • 枣庄市
  • 山东省

  • 泰安市
  • 山东省

  • 济南市
  • 山东省

  • 济宁市
  • 山东省

  • 淄博市
  • 山东省

  • 滨州市
  • 山东省

  • 潍坊市
  • 山东省

  • 烟台市
  • 山东省

  • 聊城市
  • 山东省

  • 菏泽市
  • 山东省

  • 青岛市
  • 山西省

  • 临汾市
  • 山西省

  • 吕梁市
  • 山西省

  • 大同市
  • 山西省

  • 太原市
  • 山西省

  • 忻州市
  • 山西省

  • 晋中市
  • 山西省

  • 晋城市
  • 山西省

  • 朔州市
  • 山西省

  • 运城市
  • 山西省

  • 长治市
  • 山西省

  • 阳泉市
  • 广东省

  • 东莞市
  • 广东省

  • 中山市
  • 广东省

  • 云浮市
  • 广东省

  • 佛山市
  • 广东省

  • 广州市
  • 广东省

  • 惠州市
  • 广东省

  • 揭阳市
  • 广东省

  • 梅州市
  • 广东省

  • 汕头市
  • 广东省

  • 汕尾市
  • 广东省

  • 江门市
  • 广东省

  • 河源市
  • 广东省

  • 深圳市
  • 广东省

  • 清远市
  • 广东省

  • 湛江市
  • 广东省

  • 潮州市
  • 广东省

  • 珠海市
  • 广东省

  • 肇庆市
  • 广东省

  • 茂名市
  • 广东省

  • 阳江市
  • 广东省

  • 韶关市
  • 广西壮族自治区

  • 北海市
  • 广西壮族自治区

  • 南宁市
  • 广西壮族自治区

  • 崇左市
  • 广西壮族自治区

  • 来宾市
  • 广西壮族自治区

  • 柳州市
  • 广西壮族自治区

  • 桂林市
  • 广西壮族自治区

  • 梧州市
  • 广西壮族自治区

  • 河池市
  • 广西壮族自治区

  • 玉林市
  • 广西壮族自治区

  • 百色市
  • 广西壮族自治区

  • 贵港市
  • 广西壮族自治区

  • 贺州市
  • 广西壮族自治区

  • 钦州市
  • 广西壮族自治区

  • 防城港市
  • 新疆维吾尔自治区

  • 乌鲁木齐市
  • 新疆维吾尔自治区

  • 伊犁哈萨克自治州
  • 新疆维吾尔自治区

  • 克孜勒苏柯尔克孜自治州
  • 新疆维吾尔自治区

  • 克拉玛依市
  • 新疆维吾尔自治区

  • 博尔塔拉蒙古自治州
  • 新疆维吾尔自治区

  • 吐鲁番市
  • 新疆维吾尔自治区

  • 和田地区
  • 新疆维吾尔自治区

  • 哈密市
  • 新疆维吾尔自治区

  • 喀什地区
  • 新疆维吾尔自治区

  • 塔城地区
  • 新疆维吾尔自治区

  • 巴音郭楞蒙古自治州
  • 新疆维吾尔自治区

  • 昌吉回族自治州
  • 新疆维吾尔自治区

  • 自治区直辖县级行政区划
  • 新疆维吾尔自治区

  • 阿克苏地区
  • 新疆维吾尔自治区

  • 阿勒泰地区
  • 江苏省

  • 南京市
  • 江苏省

  • 南通市
  • 江苏省

  • 宿迁市
  • 江苏省

  • 常州市
  • 江苏省

  • 徐州市
  • 江苏省

  • 扬州市
  • 江苏省

  • 无锡市
  • 江苏省

  • 泰州市
  • 江苏省

  • 淮安市
  • 江苏省

  • 盐城市
  • 江苏省

  • 苏州市
  • 江苏省

  • 连云港市
  • 江苏省

  • 镇江市
  • 江西省

  • 上饶市
  • 江西省

  • 九江市
  • 江西省

  • 南昌市
  • 江西省

  • 吉安市
  • 江西省

  • 宜春市
  • 江西省

  • 抚州市
  • 江西省

  • 新余市
  • 江西省

  • 景德镇市
  • 江西省

  • 萍乡市
  • 江西省

  • 赣州市
  • 江西省

  • 鹰潭市
  • 河北省

  • 保定市
  • 河北省

  • 唐山市
  • 河北省

  • 廊坊市
  • 河北省

  • 张家口市
  • 河北省

  • 承德市
  • 河北省

  • 沧州市
  • 河北省

  • 石家庄市
  • 河北省

  • 秦皇岛市
  • 河北省

  • 衡水市
  • 河北省

  • 邢台市
  • 河北省

  • 邯郸市
  • 河南省

  • 三门峡市
  • 河南省

  • 信阳市
  • 河南省

  • 南阳市
  • 河南省

  • 周口市
  • 河南省

  • 商丘市
  • 河南省

  • 安阳市
  • 河南省

  • 平顶山市
  • 河南省

  • 开封市
  • 河南省

  • 新乡市
  • 河南省

  • 洛阳市
  • 河南省

  • 漯河市
  • 河南省

  • 濮阳市
  • 河南省

  • 焦作市
  • 河南省

  • 省直辖县级行政区划
  • 河南省

  • 许昌市
  • 河南省

  • 郑州市
  • 河南省

  • 驻马店市
  • 河南省

  • 鹤壁市
  • 浙江省

  • 丽水市
  • 浙江省

  • 台州市
  • 浙江省

  • 嘉兴市
  • 浙江省

  • 宁波市
  • 浙江省

  • 杭州市
  • 浙江省

  • 温州市
  • 浙江省

  • 湖州市
  • 浙江省

  • 绍兴市
  • 浙江省

  • 舟山市
  • 浙江省

  • 衢州市
  • 浙江省

  • 金华市
  • 海南省

  • 三亚市
  • 海南省

  • 三沙市
  • 海南省

  • 儋州市
  • 海南省

  • 海口市
  • 海南省

  • 省直辖县级行政区划
  • 湖北省

  • 十堰市
  • 湖北省

  • 咸宁市
  • 湖北省

  • 孝感市
  • 湖北省

  • 宜昌市
  • 湖北省

  • 恩施土家族苗族自治州
  • 湖北省

  • 武汉市
  • 湖北省

  • 省直辖县级行政区划
  • 湖北省

  • 荆州市
  • 湖北省

  • 荆门市
  • 湖北省

  • 襄阳市
  • 湖北省

  • 鄂州市
  • 湖北省

  • 随州市
  • 湖北省

  • 黄冈市
  • 湖北省

  • 黄石市
  • 湖南省

  • 娄底市
  • 湖南省

  • 岳阳市
  • 湖南省

  • 常德市
  • 湖南省

  • 张家界市
  • 湖南省

  • 怀化市
  • 湖南省

  • 株洲市
  • 湖南省

  • 永州市
  • 湖南省

  • 湘潭市
  • 湖南省

  • 湘西土家族苗族自治州
  • 湖南省

  • 益阳市
  • 湖南省

  • 衡阳市
  • 湖南省

  • 邵阳市
  • 湖南省

  • 郴州市
  • 湖南省

  • 长沙市
  • 甘肃省

  • 临夏回族自治州
  • 甘肃省

  • 兰州市
  • 甘肃省

  • 嘉峪关市
  • 甘肃省

  • 天水市
  • 甘肃省

  • 定西市
  • 甘肃省

  • 平凉市
  • 甘肃省

  • 庆阳市
  • 甘肃省

  • 张掖市
  • 甘肃省

  • 武威市
  • 甘肃省

  • 甘南藏族自治州
  • 甘肃省

  • 白银市
  • 甘肃省

  • 酒泉市
  • 甘肃省

  • 金昌市
  • 甘肃省

  • 陇南市
  • 福建省

  • 三明市
  • 福建省

  • 南平市
  • 福建省

  • 厦门市
  • 福建省

  • 宁德市
  • 福建省

  • 泉州市
  • 福建省

  • 漳州市
  • 福建省

  • 福州市
  • 福建省

  • 莆田市
  • 福建省

  • 龙岩市
  • 西藏自治区

  • 山南市
  • 西藏自治区

  • 拉萨市
  • 西藏自治区

  • 日喀则市
  • 西藏自治区

  • 昌都市
  • 西藏自治区

  • 林芝市
  • 西藏自治区

  • 那曲市
  • 西藏自治区

  • 阿里地区
  • 贵州省

  • 六盘水市
  • 贵州省

  • 安顺市
  • 贵州省

  • 毕节市
  • 贵州省

  • 贵阳市
  • 贵州省

  • 遵义市
  • 贵州省

  • 铜仁市
  • 贵州省

  • 黔东南苗族侗族自治州
  • 贵州省

  • 黔南布依族苗族自治州
  • 贵州省

  • 黔西南布依族苗族自治州
  • 辽宁省

  • 丹东市
  • 辽宁省

  • 大连市
  • 辽宁省

  • 抚顺市
  • 辽宁省

  • 朝阳市
  • 辽宁省

  • 本溪市
  • 辽宁省

  • 沈阳市
  • 辽宁省

  • 盘锦市
  • 辽宁省

  • 营口市
  • 辽宁省

  • 葫芦岛市
  • 辽宁省

  • 辽阳市
  • 辽宁省

  • 铁岭市
  • 辽宁省

  • 锦州市
  • 辽宁省

  • 阜新市
  • 辽宁省

  • 鞍山市
  • 重庆市

  • 重庆市

  • 市辖区
  • 陕西省

  • 咸阳市
  • 陕西省

  • 商洛市
  • 陕西省

  • 安康市
  • 陕西省

  • 宝鸡市
  • 陕西省

  • 延安市
  • 陕西省

  • 榆林市
  • 陕西省

  • 汉中市
  • 陕西省

  • 渭南市
  • 陕西省

  • 西安市
  • 陕西省

  • 铜川市
  • 青海省

  • 果洛藏族自治州
  • 青海省

  • 海东市
  • 青海省

  • 海北藏族自治州
  • 青海省

  • 海南藏族自治州
  • 青海省

  • 海西蒙古族藏族自治州
  • 青海省

  • 玉树藏族自治州
  • 青海省

  • 西宁市
  • 青海省

  • 黄南藏族自治州
  • 黑龙江省

  • 七台河市
  • 黑龙江省

  • 伊春市
  • 黑龙江省

  • 佳木斯市
  • 黑龙江省

  • 双鸭山市
  • 黑龙江省

  • 哈尔滨市
  • 黑龙江省

  • 大兴安岭地区
  • 黑龙江省

  • 大庆市
  • 黑龙江省

  • 牡丹江市
  • 黑龙江省

  • 绥化市
  • 黑龙江省

  • 鸡西市
  • 黑龙江省

  • 鹤岗市
  • 黑龙江省

  • 黑河市
  • 黑龙江省

  • 齐齐哈尔市