本文档详细介绍了如何在Intel最新CPU和主板上配置一个适用于AM3352硬件平台的Linux4.9.28版本的交叉编译环境,以支持Qt 5.10.1源码、ARM交叉编译工具(gcc-linaro-7.3.1-2018.05)以及校准触摸屏的tslib-1.4软件库。整个过程分为以下几个步骤:
1. **移植准备**:明确目标机器(AM3352硬件)使用Linux 4.9.28操作系统,开发机采用Ubuntu 18.04.1作为环境。
2. **相关软件开发包**:
- **Qt源码**:下载并解压了qt-everywhere-opensource-src-5.10.1.tar.xz,这是用于构建Qt应用程序的基础。
- **ARM交叉编译工具**:gcc-linaro-7.3.1-2018.05-x86_64_arm-linux-gnueabihf.tar.xz,是用于在x86开发机上编译ARM架构代码的关键工具。
- **tslib校准库**:tslib-1.4.tar.gz,用于触摸屏设备的驱动和校准。
3. **配置交叉编译环境**:
- **解压交叉编译工具**:将gcc-linaro工具包解压到/opt目录。
- **设置环境变量**:在~/.bashrc文件中添加路径,指向交叉编译工具的bin目录,以便系统能够识别这些工具,并通过source ~/.bashrc使更改生效。
4. **交叉编译tslib**:
- **安装依赖**:确保Ubuntu开发机上安装了automake和libtool,这对于构建tslib是必需的。
- **解压并进入源码目录**:tar解压tslib-1.4.tar.gz并切换到tslib目录。
- **生成配置文件**:运行autogen.sh生成configure脚本,然后自定义配置选项以适应ARM架构。
- **编译和安装**:执行configure命令,使用预设的编译器和链接器,然后进行编译和安装,目标是生成针对ARM平台的可执行文件。
最后,作者通过检查生成的目录和文件类型(通过file命令),确认交叉编译过程成功并生成了可以在AM3352硬件上运行的文件。
总结起来,这篇文档提供了一个完整的过程,帮助开发者在不直接在目标硬件上运行的情况下,为AM3352平台构建和优化Qt应用,同时处理与触摸屏交互的需求。这对于在嵌入式或移动设备开发中非常实用。