嵌入式Linux应用开发完全手册实例,详细讲解LINUX开发过程
源代码在线查看: 光盘使用说明.txt
光盘根目录下有8个目录或文件,其中的文件解压缩后就可以得到一个同名(去除文件扩
展名)目录。这些目录的内容及使用方法在书中都有介绍。
在安装光盘时,直接把光盘的内容复制到PC上的Linux系统中去即可。为方便,最好使
用一个单独的分区来存放光盘内容。
下面简要介绍光盘内容。
1. hardware目录
里面是从第5章到第14章所用到的各个硬件部件的实验代码。
参考书中的实验方法,可以直接使用这些代码生成相应的可执行程序进行试验。
2. system目录
构成一个Linux系统所需的bootlader(本书使用u-boot)、内核及busybox等程序被放在这
个目录下。
里面有原始的源码及补丁,这些补丁是本书对这些代码所做的全部修改的集合。
读者可以按照书中步骤逐渐修改,也可以直接使用这些补丁。
参考第15章到第17章的内容,就可以利用这个目录下的源码构造出一个最小的Linux系统。
另外,第19章到第24章移植的驱动程序的代码,也都包含在内核补丁文件
linux-2.6.22.6_100ask24x0.patch中。
3. drivers_and_test目录
里面主要是测试程序,比如LED驱动、按键驱动、LCD驱动的测试程序。
其中的regeditor子目录对应的是一个调试工具(可以利用物理地址读写寄存器),它会用
到内核中的一个驱动程序drivers/char/ker_rw.c。
regeditor的使用在书中没有介绍。
4. GUI目录
本书介绍两种GUI系统:qtopia、X window,它们的代码、补丁分别在qtopia、xwindow
子目录下。
GUI/xwindow目录下有4个子目录:
① X目录中主要是Xorg的代码,它提供X server;
② matchbox是一个基于X的、用于嵌入式系统的小型GUI环境,它包括一个窗口管理器,一
个面板,一个桌面,一个共享功能程序库,一些小的面板应用程序;
③ GTK目录下是gtk+库,GTK+是一个用于创建图形用户界面的多平台工具,它包含有基本的
控件和一些很复杂的的控件,比如文件选择控件和颜色选择控件;
④ apps目录下是几个基于X、gtk+的应用程序。
更深的目录下有deps子目录,里面存放依赖软件,比如要编译X/Xorg,则要先编译
X/deps。
5. tools目录
里面是运行于主机上的工具,主要是JTAG工具、交叉编译工具。
jtag目录下存放的是Windows和Linux下的JTAG工具;对于Windows,要先安装JTAG驱动程
序(它在jtag/for_windows/jtag driver子目录下)
arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2和scratchbox-arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2
都是使用create_crosstools目录中的软件编译出来的交叉编译工具链,前一个是在主机上
直接运行;后一个是当主机上启动scratchbox后,在scratchbox里面运行。使用这两个工具
编译出来的代码是完全一样的。
6. scratchbox目录
scratchbox是一个交叉编译工具包,它的目的是使嵌入式Linux开发变得像开发PC Linux
软件一样容易。
在移植X Window时将用到它。
7. nfs_root目录
里面是Linux的4个根文件系统,对应4个子目录:
① 最小的根文件系统fs_mini;
② 使用mdev机制的最小根文件系统fs_mini_mdev;
③ 含有qtopia图形程序的根文件系统fs_qtopia;
④ 含有X Window图形程序的根文件系统fs_xwindow。
在开发阶段,单板上的内核启动后可以通过NFS挂接它们中的某一个,然后执行其中的
程序;开发完成后,将所用的整个根文件系统目录制作为映像文件,烧入单板。
8. debug目录
里面是各种调试工具及例子,除了kgdb是调试内核的补丁外,其他工具都用于调试应
用程序。