由于嵌入式系统是专用的计算机系统,它的功能和使用环境都与普通的PC大不相同,例如,ADSL需要长时间不间断的工作,需要极高的稳定性;程控交换机不需要键盘、显示器等外部设备;手机、PDA等通过电池供电,需要尽可能降低功耗。
有的嵌入式系统的处理能力和存储能力较弱,不能在它上面安装开发软件;有的嵌入式系统的处理器结构特殊,没有可以在上面运行的开发工具。所以,在开发嵌入式系统时,通常需要采取交叉开发的方式进行。
开发嵌入式Linux系统应用,因而在开发主机上使用Linux系统也是顺理成章的。在PC机上,Linux的发行版本种类很多,最常见的有下面几种。
Debian:Debian 最早由Ian Murdock于1993年创建。可以算是迄今为止,最遵循GNU规范的Linux系统。它包含有大量的软件包,而且通过APT管理这些软件,解决了Linux用户长期以来最为头疼的软件包依赖问题。
Ubuntu:Ubuntu 是基于Debian之上,旨在创建一个可以为桌面和服务器提供一个最新且一贯的Linux系统。Ubuntu囊括了大量精挑细选自Debian发行版的软件包,同时保留了Debian强大的软件包管理系统,以便简易地安装或删除程序。与大多数发行版附带数量巨大的可用可不用的软件不同,Ubuntu附带的软件包只包含那些高质量的重要应用程序。
Fedora:Fedora项目是由Red Hat赞助,由开源社区与Red Hat工程师合作开发的项目统称。它的前身是著名的Red Hat桌面版。正统的Red Hat版本早已停止技术支持,最后一版是Red Hat 9.0。
Gentoo:Gentoo的出名是因为其高度的自定制性,因为它是一个基于源代码的发行版。尽管安装时可以选择预先编译好的软件包,但是大部分使用Gentoo的用户都会选择自己手动编译从内核到KDE环境的所有应用程序。
OpenSUSE:openSUSE是Novell公司发行的企业级Linux产品的系统基础。其专业、易用的YaST软件包管理系统为人称道。
大多数嵌入式系统的开发商都会推荐用户使用RedHat 9.0版本的Linux系统用于开发嵌入式Linux产品。这个版本的Linux系统基于Linux 2.4内核,对计算机的配置要求很低,只需达到以下三个条件,即可运行该Linux系统。
CPU:主频 400MHz以上;
内存:128 MB;
硬盘:1.3 GB。
该系统的开发包比较全,如果在安装时选择了完全安装,通常很少会再去解决令人头疼的依赖性问题,所需的代价仅仅是多消耗了一些磁盘空间。然而,如果主机较新,如配有SATA硬盘,915以上的主板,就不能安装该系统了。而且如果目标系统是基于Linux 2.6版的内核,则应选用新版本的Linux发行版作为开发系统。
因此,推荐读者选用Ubuntu(或Fedora)发行版系统。该版本的Linux系统不仅对较新的硬件平台支持较好,而且易用性也较之Red Hat 9.0大为进步。相信通过后面的介绍,读者一定会喜欢上这个系统。本文节选于 杨水清 张 剑 施云飞 等编著的《ARM嵌入式Linux系统开发技术详解》一书。