uClinux以其优异的性能、免费开放的代码等优点,博得众多嵌入式开发者的青睐。和过去基于简单RTOS甚至没有使用任何操作系统的嵌入式程序设计相比,基于Linux这样的成熟的、高效的、健壮的、可靠的、模块化的、易于配置的操作系统来开发自己的应用程序,无疑能进一步提高效率,并具有很好的可移植性。我们知道,在主流的Linux平台上,已经有了非常丰富的、开源的应用程序,使得开发者很容易获得前人的成果作为参考,编写更适合自己的程序。然而,对于很多已经在标准Linux环境中工作得很好的程序,并不能直接在uCLinux环境上运行。一方面,是由于嵌入式的uCLinux所使用的处理器和普通PC不同,指令集、CPU结构上的差异导致uClinux上运行的程序需要专门为该类型处理器交叉编译产生;另一方面,uCLinux是为了没有内存管理单元(MMU)的处理器、控制器设计,并做了较大幅度的精简,所以,在标准Linux上可以使用的一些函数和系统调用在uCLinux上有可能就行不通了。因此,我们有必要了解,在uCLinux上的应用程序设计和标准Linux程序设计存在哪些不同之处?应该如何修改,才能让标准Linux程序可以移植到uCLinux上并正常工作呢?如何才能高效地开发uclinux上的应用程序呢?本文旨在对这些问题进行初步的探讨。……