cygwin是一个在windows平台上运行的unix模拟环境,是cygnus solutions公司开发的自由软件。它对于学习unix/linux操作环境,或者从unix到windows的应用程序移植,或者进行某些特殊的开发工作,尤其是使用gnu工具集在 windows上进行嵌入式系统开发,非常有用。随着嵌入式系统开发在国内日渐流行,越来越多的开发者对cygwin产生了兴趣。
cygnus当初首先把gcc,gdb,gas等开发工具进行了改进,使他们能够生成并解释win32的目标文件。然后,他们要把这些工具移植到 windows平台上去。一种方案是基于win32 api对这些工具的源代码进行大幅修改,这样做显然需要大量工作。因此,他们采取了一种不同的方法——他们写了一个共享库(就是cygwin dll),把win32 api中没有的unix风格的调用(如fork,spawn,signals,select,sockets等)封装在里面,也就是说,他们基于 win32 api写了一个unix系统库的模拟层。这样,只要把这些工具的源代码和这个共享库连接到一起,就可以使用unix主机上的交叉编译器来生成可以在 windows平台上运行的工具集。以这些移植到windows平台上的开发工具为基础,cygnus又逐步把其他的工具(几乎不需要对源代码进行修改,只需要修改他们的配置脚本)软件移植到windows上来。这样,在windows平台上运行bash和开发工具、用户工具,感觉好像在unix上工作。
eCos最初起源于Cygnus公司。Cygnus对eCos的设计始于1997年,其主要目的是为市场提供一种低成本、高效率、高质量的嵌入式软件解决方案,同时要求该软件所占资源极少,同时,它使用开发源码的方式,降低了嵌入式产品的成本。
从1999年11月,Red Hat公司收购Cygnus公司以来,eCos作为Red Hat的嵌入式产品得到了迅速发展,如今eCos除了可以提供普通嵌入式应用中所需的全部功能,包括设备驱动程序、内存管理、例外处理、标准C、数学库等等,还提供开发嵌入式应用所需的所有工具,如eCos配置和编译工具、基于GNU的编译器、汇编器、调试器和模拟器。同时eCos支持当前流行的大部分嵌入式处理器,包括这些处理器的多种变体和多种典型开发板如:ARM、Fujitsu FR-V、Hitachi H8/300、Intel x86、Matsushita AM3x、MIPS、NEC V8xx、PowerPC、Xscale、Samsung CalmRISC16/32、SPARC、SPARClite、SuperH ,这使得eCos具有很好的可移植性,它可在16位、32位和64位等不同体系结构之间以及它们的各种不同平台之间进行移植。
eCos在嵌入式系统软件方面最具创新意义的是它的配置结构和配置方法。eCos为开发人员提供了大范围的可选项来对底层操作系统进行配置,通过调整操作系统来适应应用。
eCos采用组件框架的方式来对系统进行配置。通过组件框架,开发人员可以选择满足应用需要的组件,针对应用的实际需要对某些组件进行配置,即使能或禁止某个特性,或者选择组件的某种实现。这也使得建立一个可重用的软件组件库成为可能。
阅读(796) | 评论(0) | 转发(0) |