冯富霞 李森贵
摘要 本文以Linux内核+GNU glibc arm9为便,分析说明了自行选择配置软件、搭建嵌入式操作系统、设置其运行环境的方法。
关键词 Linux,arm9,嵌入式
Linux在嵌入系统中具有相当的优势,它的可靠性、稳定性、高运行效率已经得到实事的证明。商用的嵌入式操作系统优点是明显的,但是它们的价格普遍都很高,一般开发商承受不起。相应地,开源的嵌入式Linux操作系统成为首选。原因不仅仅是因为它免费,一个更重要的原因是源代码的开放性,所以,用户就可以更改源代码,使它变成小巧灵活而又能满足特定需求的操作系统,同时可以找到大量所需的技术资料。缺点是在应用开发方面使用的库的种类较多,大部分开发工具是命令方式,没有特定的支持厂商,对开发人员要求比较高,但相反可以了解深层的技术。
选择开源的嵌入式Linux操作系统作为平台,如果要发挥其灵活、精简、高效的特性,一般需要用户作以下工作,自行选择配置软件开发系统环境,搭建嵌入式操作系统的非核心部分,设置嵌入式系统运行的系统环境。下面以开源的Linux内核+GNU glibc arm9为例分析说明。
一、基于GNU glibc arm9的系统制定
GNU glibc是Linux的标准库,利用它构建一个文件系统,优点是:在常用的Linux平台中开发的软件不需用改动程序只需重新编译,就可以直接移植到arm平台上;在互联网上有更多的软件基于GNU glibc库,根据需要选择,加入系统,不需要重新编译,即降低开发难度又节省开发时间。
1.软件开发模式
软件的开发模式宿主机/目标机,软件开发在宿主机,生成的文件只能在目标机平台(Target)上运行,软件开发模式如图1所示:
图1 开发模式
宿主机(Host)操作系统:Red Hat Enterprise Linux AS3,交叉编译工具:arm-linux-gcc(内核使用2.95.3,应用程序使用3.3.2)。
目标机(Target)是arm9(s3c2410)处理器,板上资源有flash 64M、sdram64M、串口、以太网卡、USB接口等。目标机操作系统配置:Linux kernel 2.4.18(支持nfs),GNU glibc2.3.2,文件系统格式yaffs。制作的root文件系统,使用nfs方式配置启动,在该模式下开发应用程序,在部署时将root文件系统和应用程序写入flash中。
宿主机、目标机的连接有两种方式,一种是一个人开发模式:直接使用交叉线,连接到目标机的以太网卡上;另一种是多个人开发模式:主机服务器(宿主机)、目标机和客户机,使用直通线,连接到Hub上,使用客户机登录,这样就可以供多人使用目标机进行开发和调试程序,如图2所示。
|