查看: 8487|回复: 5

[i.MX6ULL竞赛专区] 移植QT5.6.0到imx6ull板详细过程

[复制链接]

该用户从未签到

2

主题

6

帖子

0

新手上路

Rank: 1

积分
42
最后登录
2018-5-15
发表于 2018-5-5 11:05:51 | 显示全部楼层 |阅读模式
本帖最后由 fywz1992 于 2018-5-9 09:13 编辑

一、文件准备
  • 工具链:arm-cortexa9-linux-gnueabihf-4.9.3-20160512.tar.xz

    链接:https://pan.baidu.com/s/11H1zw21_kAutOfuQPuFBmg 密码:9000

  • qt5.6.0:qt-everywhere-opensource-src-5.6.0.tar.gz

    链接:https://pan.baidu.com/s/1hiDQEDYWCq8FQYirw9yedg 密码:gvd7

  • tslib  :tslib-1.6
     git clone http://github.com/kergoth/tslib.git(sudo apt-get install autoconf automake libtool)
  • busybox:busybox-1.22.1.tar.bz2
     链接:https://pan.baidu.com/s/1dBQCf-XwscXjd7QssIn3ww 密码:kyxo


二、安装工具链

1、mkdir  -p /opt/FriendlyARM/toolchain

2、cp arm-conrtexa9-linux-gnueabihf-4.9.3-20160512.tar.xz /opt/FriendlyARM/toolchain

/opt/FriendlyARM/toolchain

4、tar -xf arm-conrtexa9-linux-gnueabihf-4.9.3-20160512.tar.xz

5、设置/etc/environment

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/FriendlyARM/toolchain/4.9.3/bin"

6、source /etc/environment

7、arm-linux-gcc -v


三、安装tslib

1、git clone http://github.com/kergoth/tslib.git

2、./autogen.sh

3、./configure --prefix=/opt/tslib --host=arm-linux --cache-file=arm-linux.cache  CC=arm-linux-gcc CXX=arm-linux-g++


4、make

5、make  install

tslib安装在/opt/tslib目录下:

四、移植qt5.6.0

1、tar -xf qt-everywhere-opensource-src-5.6.0.tar.gz

2、cd qt-everywhere-opensource-src-5.6.0

3、vi qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf

(可关注公众号“柒零玖嵌入式”,回复:QT5.6。获取最新的qmake.conf文件内容)

4、./configure -v -prefix /opt/qt-5.6.0 -release \
        -opensource -no-accessibility \
        -make libs -xplatform linux-arm-gnueabi-g++ -optimized-qmake \
        -pch \
        -qt-sql-sqlite \
        -qt-zlib \
        -tslib \
        -no-opengl \
        -no-sse2 \
        -no-openssl \
        -no-nis \
        -no-cups \
        -no-glib \
        -no-pkg-config \
        -no-separate-debug-info\

        -I /opt/tslib/include -L /opt/tslib/lib

5、make -j8
6、make install

五、制作文件系统

1、解压
  tar jxvf busybox-1.22.1.tar.bz2
2、配置
  make menuconfig
  Busybox Settings ->
  general configuration ->
   

don't use /usr                  
  build options->
    cross comliler prefix = arm-linux-        
  installtion options->
    busybox installation prefix = /work/rootfs
3、编译&安装
  mkdir -p /work/my_rootfs               
  make
  make install
  cd /work/my_rootfs
  ls                 
  编译安装完毕之后,我们的文件系统就生成在 /work/my_roofs 目录下了
4、创建 /etc/inittab
  mkdir -p /work/my_rootfs/etc
  vi /work/my_rootfs/etc/inittab
  # /etc/inittab
  # 启动脚本/etc/init.d/rcS
  ::sysinit:/etc/init.d/rcS
  # 启动 shell
  ::askfirst:-/bin/sh
  # 重启关机前 卸载文件系统
  ::ctrlaltdel:/sbin/reboot
  ::shutdown:/bin/umount -a -r
5、创建 /etc/init.d/rcS
  mkdir -p /work/my_rootfs/etc/init.d
  vi /work/my_rootfs/etc/init.d/rcS
  # 这是一个脚本文件,用/bin/sh解析
  #!/bin/sh
  # 挂载文件系统
  mount -a
  # 使用内存文件系统
  mkdir /dev/pts
  mount -t devpts devpts /dev/pts
  echo /sbin/mdev > /proc/sys/kernel/hotplug
  mdev -s
  # 设置IP
  #/sbin/ifconfig eth0 192.168.1.17 #nfs不需要
  # 挂载 /etc/fstab 中的文件系统
  mount -a
  exec /etc/rc.local
6、创建rc.local
  vi /work/my_rootfs/etc/rc.local
  #!/bin/sh
  . /etc/profile //注意.后边有个空格!
7、创建/etc/fstab
  vi /work/my_rootfs/etc/fstab
  # device mount-point type options dump fsck order
  proc  /proc proc defaults 0 0
  sysfs  /sys sysfs defaults 0 0
  tmpfs /tmp tmpfs defaults 0 0
  tmpfs /dev tmpfs defaults 0 0
8、构建 /dev 目录
  mkdir -p /work/my_rootfs/dev
  cd /work/my_rootfs/dev
  sudo mknod console c 5 1
  sudo mknod null   c 1 3
9、创建其它目录
  mkdir proc mnt tmp sys root usr lib
10、拷贝Lib

cp /opt/FriendlyARM/toolchain/4.9.3/arm-cortexa9-linux-gnueabihf/lib/*so* /work/my_rootfs/lib -d

11、拷贝QT5.6和TSLIB到文件系统目录

cp /opt/qt-5.6.0  /work/my_roofs/usr/local -r
cp /opt/tslib  /work/my_roofs/usr/local -r


12、设置环境变量


vi profile 加入:

#!/bin/sh

export T_ROOT=/usr/local/tslib
export LD_LIBRARY_PATH=/usr/local/tslib/libLD_LIBRARY_PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/input/event1
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal

export QTEDIR=/usr/local/qtmy
export LD_LIBRARY_PATH=/usr/local/qtmy/libLD_LIBRARY_PATH
export QT_QPA_GENERIC_PLUGINS=tslib
export QT_QPA_FONTDIR=$QTEDIR/lib/fonts
export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins
export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0:size=480x272:mmSize=480x272ffset=0x0:tty=/dev/tty1
export QT_QPA_FB_TSLIB=1

13、发布网络文件系统

vi /etc/hosts加入:192.168.1.17  /work/my_rootfs

vi /etc/exports加入:/work/my_rootfs  *(rw,sync,no_root_squash)

六、启动测试

1、设置uboot参数从网络文件系统启动

2、启动内核

3、测试tslib,并校准屏幕

4、测试QT历程

    简单的例子:链接:https://pan.baidu.com/s/15PVtuk4NxJ0wOym_NFGF0A 密码:g0wn

5、测试结果:

6、最终文件系统下载,包含QT和TSLIB

(可关注下方公众号“柒零玖嵌入式”交流学习,回复:imx6ul文件系统。获取最新的文件系统内容,即可直接使用)

可参考同步博客:

http://blog.csdn.net/fengyuwuzu0519/article/details/80110912


回复

使用道具 举报

  • TA的每日心情
    开心
    2021-6-10 15:47
  • 签到天数: 1251 天

    [LV.10]以坛为家III

    6

    主题

    2396

    帖子

    3

    金牌会员

    Rank: 6Rank: 6

    积分
    7534
    最后登录
    2023-3-8
    发表于 2018-5-6 07:15:54 | 显示全部楼层
    有点肉
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2023-2-15 00:12
  • 签到天数: 969 天

    [LV.10]以坛为家III

    175

    主题

    2843

    帖子

    34

    金牌会员

    Rank: 6Rank: 6

    积分
    7094
    最后登录
    2023-4-20
    发表于 2018-5-6 09:29:08 | 显示全部楼层
    感谢分享!!!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    6 天前
  • 签到天数: 822 天

    [LV.10]以坛为家III

    71

    主题

    2452

    帖子

    24

    金牌会员

    Rank: 6Rank: 6

    积分
    5531
    最后登录
    2024-5-1
    发表于 2018-5-7 12:19:37 | 显示全部楼层
    感谢分享
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2018-5-8 21:36:03 | 显示全部楼层
    赞一个,很详细,改天做个UI
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2021-9-9 22:51
  • 签到天数: 415 天

    [LV.9]以坛为家II

    79

    主题

    3088

    帖子

    21

    金牌会员

    Rank: 6Rank: 6

    积分
    5181
    最后登录
    2022-5-23
    发表于 2018-5-8 21:36:14 | 显示全部楼层
    赞赞赞
    该会员没有填写今日想说内容.
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /4 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2024-5-5 21:21 , Processed in 0.116539 second(s), 23 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

    快速回复 返回顶部 返回列表