前言
最近做嵌入式的课程设计,需要将QT5移植到ARM平台上,我使用的教学平台所用的CPU为Samsung Exynos 4412,ARM Coretex-A9 四核,主频为1.4GHz,Exynos 4412 Block Diagram。本文以此平台为例,记录将QT5.9.6移植到该平台的过程。
移植准备
- 目标硬件平台:可运行linux的arm设备
- 目标软件平台:arm_linux最小系统(linux3.0内核)
- 开发机硬件平台:x86/x64PC机
- 开发机软件平台:Ubuntu16.04的虚拟机+QtCreator
移植步骤
1.准备相关软件和源码
-
QT5.9.6源码(qt-everywhere-opensource-src-5.9.6.tar.xz):
https://download.qt.io/archive/qt/5.9/5.9.6/single/qt-everywhere-opensource-src-5.9.6.tar.xz -
ARM交叉编译工具:arm-2014.05-29-arm-none-Linux-gnueabi-i686-pc-linux-gnu.tar.bz2
https://pan.baidu.com/s/1mgyYfos -
tslib(用于触摸屏的一个库):在Ubuntu中输入命令即可下载
#git clone https://github.com/kergoth/tslib.git
-
ubuntu换源(可选):ubuntu自带的源速度较慢,由于后面要下载东西,为了速度可以换成阿里源
Ubuntu换阿里源
2.安装arm交叉编译器arm-2014
-
将准备好的源码包用tar命令解压到
/usr/local/arm
目录sudo mkdir -p /usr/local/arm sudo bunzip2 arm-2014.05-29-arm-none-Linux-gnueabi-i686-pc-linux-gnu.tar.bz2 #解压得到.tar文件 sudo tar xvf arm-2014.05-29-arm-none-Linux-gnueabi-i686-pc-linux-gnu.tar /usr/local/arm/
-
配置环境变量
-
进入用户目录:
cd ~/
-
打开.bashrc文件:
sudo gedit .bashrc
-
在文件末尾加上:
export PATH=/usr/local/arm/arm-2014.05/bin:$PATH
-
保存退出,在命令行里更新:
source .bashrc
-
检查是否配置成功:
arm-linux-gnueabi-gcc -v
3.交叉编译tslib
-
使用git命令下载最新版本tslib
git clone https://github.com/kergoth/tslib.git
-
下载编译需要的依赖库:
sudo apt-get install automake sudo apt-get install autogen sudo apt-get install autoconf sudo apt-get install libtool sudo apt-get install gzip sudo apt-get install g++
-
将ubuntu用户切换为root用户:
设置root用户的密码:sudo passwd root
切换