嵌入式操作系统uClinux和eCos的比较
4 可移植性
eCos的系统一J移植性应该明显比uClinux的好。在eCos系统中,每一个硬件平台都用一个单独的目录存放针对这一硬件平台的硬件抽象层的代码和配置信息,较容易让用户理解。而uClinux的硬件抽象层的代码分布在好几个目录中,而且各个平台的代码混合在一个源文件中,通过#ifdef+#end的方式来选择不同的硬件平台的代码。另外,eCos在移植时所要更改的源代码文件数少于uClinux。
可移植性不应仅仅是操作系统的移植,还应该包含应用程序的移植性。程序的可移植性,是由两方面决定的。首先,应用程序必须被编写得可以移植。关于这方面,A.Dolenc,A.Lemmke和D.Keppel在其Notes On WritingPortable Programs In C一文中给出了很好的解释。其次是嵌入式操作系统提供较丰富的系统函数和标准函数库。一个系统提供的函数库越丰富,则越多的应用程序不用进行较大的更改就能直接在其上运行。在标准矫妫琫Cos只提供了较为简单的C标准函数库和IEEE浮点运算数学库,uClinux则提供了,与Linux下的glibc相兼容的函数库,而glibc是大部分开放源代码项目的构建基础。由此可以看出,在应用程序的可移植性上,uClinux的兼容性更好。
5 开发模式和开发难易度
eCos的开发模式是一套更接近传统单片机的开发模式(如应用程序静态链接),uClinux的开发模式则更接近Linux的开发模式。因此可以预见,eCos更受一批从8位单片机系统开发转到32位嵌入式系统开发设计人员的欢迎.而uClinux更受熟悉Linux的设计人员的青睐。
6 总 结
通过以上比较可知,由于eCos从一开始设汁时就是以嵌入式系统为目标的,因此在性能上,有较大优势;反之,uClinux则是由Linux进化而来的,因此在以速度和优化为主题的嵌入式系统环境中,并不占优势。但是由于有Linux的强大后盾,其功能的强大和兼容性是非常突出的。如果应用程序是从其他系统中移植过来的,或者开发人员有Linux的背景,或者开发成本占总成本的比例较高,则uClinux比较适合;反之,eCos比较适合。
- 支持网络传感器的嵌入式操作系统设计(11-10)
- 嵌入式操作系统WinCE(02-20)
- μC/OS-Ⅱ在MSP430F149上的移植(03-01)
- 实时嵌入式操作系统μC/OS-II在MPC555上的移植(04-10)
- 基于μc os ii的农田信息采集系统设计(03-16)
- 基于关键点控制的网络嵌入式设备在线升级的实现(04-24)