uCLinux 开发介绍 严永红 Linux 是当前一种非常受欢迎的操作系统,它与UNIX 系统兼容,并开放源代码
它包含所有现代操作系统所具有的一切特性,包括多任务,虚拟内存,代码共享,按需载入,内存管理,以及TCP/IP 网络
并且,它遵循POSIX 标准,只要是遵循POSIX API 的应用程序很容易被移植
目前,随着嵌入式系统的蓬勃发展
Linux 也已对嵌入式系统的开发产生具大影响
大多数流行的CPU 都被移植上去,ARM, PowerPC , MIPS, 68K, SPARC, Alpha, SH 等等
这些CPU 都含有一种叫做内存管理单元(MMU)的硬件,来支持标准Linux 所需要的虚拟内存
但在嵌入式世界里,还有很多CPU 是没有MMU 的,象 ARM7、 68328 等等
uClinux正是为了解决这种没有MMU 的CPU 而产生的
在uCLinux 这个英文单词中,u 表示Micro,小的意思,C 表示Control,控制的意思,连起来就是Micro-Control-Linux, ―运行在微控制器上的Linux
‖ 针对这种没有MMU 的 CPU 架构,uCLinux 采用了一种平板式(Flat)的内存模型来去除对MMU 的依赖, 并且改变了用户程序的加载方式,开发了运用于uCLinux 的 C 函数库--uCLibc
由于这些变化,一般的Linux 开发工具(例如GDB)在开发uCLinux 时会碰到一些困难,包括内核的移植,驱动程序及应用程序的调试
针对这样状况
Hitool System 公司开发了Hitool for uClinux 开发套件,来帮助用户开发基于uClinux 的系统
Hitool for uClinux 与其它的 Linux 开发工具相比,有几个优点: A
整个开发过程只在Windows 环境下完成,包括内核的配臵、编