### Ubuntu 下 Linux 开发环境的搭建以及 ARM 平台的移植
#### 一、概述
本文档主要介绍了如何在 Ubuntu 系统下搭建 Linux 开发环境,并进一步介绍如何将此环境移植到 ARM 平台上。这包括交叉编译工具链的安装、NFS 和 TFTP 服务器的设置、触摸屏驱动库的安装编译,以及 Qt 库的编译安装等内容。
#### 二、所需文件及库
- **arm-2009q1-203-arm-none-linux-gnueabi2.fs.tar.gz**:ARM 架构下的交叉编译工具链。
- **tslib-1.4**:用于触摸屏驱动的库,提供过滤、校准等功能。
- **qt-everywhere-opensource-src-4.8.11**:Qt 开源版源码,支持 ARM 架构的编译。
#### 三、交叉编译链的安装
1. **下载并解压工具链**:
```
tar -zxvf arm-2009q1-203-arm-none-linux-gnueabi2.fs.tar.gz
```
2. **测试交叉编译器是否安装成功**:
```
arm-none-linux-gnueabi-gcc -v
```
如果显示编译器的版本信息,则表示安装成功。
#### 四、NFS 服务器的安装与配置
1. **安装 NFS 服务器**:安装过程见附录 7。
2. **配置 NFS 服务器**:
- 创建 `nfs.sh` 文件并添加以下内容:
```
sudo /etc/init.d/portmap restart
sudo /etc/init.d/nfs-kernel-server restart
```
- 保存并执行 `source nfs.sh`。
- 测试 NFS 服务器是否安装成功:
```
showmount -e
```
若显示 `/home/wws/wws_nfs *`,则表示安装成功。
#### 五、TFTP 服务器的安装与配置
1. **安装 TFTP 服务器**:具体安装过程见附录 8。
2. **配置 TFTP 服务器**:
- 创建 `tftp.sh` 文件并添加以下内容:
```
sudo /etc/init.d/xinetd restart
sudo /etc/init.d/tftpd-hpa restart
```
- 保存并在主目录下执行 `source tftp.sh`。
当开发板找不到链接或出现 `TTTT.` 等提示时,可以通过执行 `source tftp.sh` 重启 TFTP 服务器。
#### 六、触摸屏驱动库的安装与编译
**Tslib** 是一个用于触摸屏驱动的开源库,提供滤波、去抖动、校准等功能。
1. **下载并解压 Tslib**:
```
tar -zxvf tslib-1.4.tar.gz
```
2. **配置 Tslib**:
- 进入目录 `tslib-1.4`。
- 执行 `./autogen.sh`,如出现 `autoreconf: command not found` 错误,则需安装 `autoconf`、`automake` 和 `libtool`。
- 指定安装目录:
```
./configure --prefix=/usr/local/Trolltech/tslib-1.4 --host=arm-none-linux-gnueabiac_cv_func_malloc_0_nonnull=yes
```
3. **编译安装 Tslib**:
- 执行 `make`。
- 解决编译错误:若出现 `open_missing_mode` 的错误,需修改 `ts_calibrate.c` 文件中的 `open` 函数,添加第三个参数 `0777`。
- 安装:
```
sudo make install
```
安装完成后,在 `/usr/local/Trolltech/tslib-1.4` 目录下可以看到相关应用程序、共享库、配置文件等。
#### 七、Qt 的编译安装
1. **下载并解压 Qt 源码**:
```
tar -zxvf qt-everywhere-opensource-src-4.8.11.tar.gz
```
2. **配置 Qt**:
- 进入目录 `qt-everywhere-opensource-src-4.8.11`。
- 执行配置命令,根据需要指定安装路径和目标架构。
3. **编译 Qt**:
- 执行 `make`。
- 安装:
```
sudo make install
```
通过以上步骤,可以在 Ubuntu 系统下成功搭建 Linux 开发环境,并将其移植到 ARM 平台上。这为后续基于 ARM 的嵌入式系统开发提供了坚实的基础。