专栏说明

本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2)、视频编解码(VPU)、视频格式转化(IPU)、H264封装为MP4、QT5的移植和显示。

        飞思卡尔I.MX6Q-LTIB安装配置

        飞思卡尔 I.MX6Q-vpu视频编解码

        飞思卡尔 I.MX6Q-ipu视频流格式转换

        飞思卡尔 I.MX6Q-封装H246为MP4

        飞思卡尔 I.MX6Q-高分辨率(1080P)视频采集编码

        飞思卡尔I.MX6Q-QT5的移植

        飞思卡尔 I.MX6Q-摄像头采集QT5显示和分辨率适配

一、前言

QT由于跨平台而得到广泛的应用,并且QT也是开源的,现在许多的嵌入式产品上都使用QT界面,本文是在飞思卡尔I.MX6Q嵌入式设备上对QT进行移植,使用arm-none-linux-gnueabi交叉编译器,实现对于QT界面的操作。

二、QT的交叉编译

1、下载网址:https://download.qt.io/archive/qt/

2、解压qt-everywhere-opensource-src-5.5.1.tar.gz

tar -vxf qt-everywhere-opensource-src-5.5.1.tar.gz

3、配置交叉编译环境

本文使用的是arm-none-linux-gnueabi-g++交叉编译器,把qtbase/mkspecs/linux-arm-gnueabi-g++/拷贝为qtbase/mkspecs/arm-none-linux-gnueabi-g++;

cp qtbase/mkspecs/linux-arm-gnueabi-g++  qtbase/mkspecs/arm-none-linux-gnueabi-g++  -rf

(1)修改qtbase/mkspecs/arm-none-linux-gnueabi-g++/qmake.conf

#
# qmake configuration for building with arm-none-linux-gnueabi-g++
#MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublibQT_QPA_DEFAULT_PLATFORM = linuxfb                 #指定Qt显示驱动方式
QMAKE_CFLAGS_RELEASE   += -O2 -march=armv7-a      #指定处理器架构
QMAKE_CXXFLAGS_RELEASE += -O2 -march=armv7-a include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)# modifications to g++.conf
QMAKE_CC                = arm-none-linux-gnueabi-gcc
QMAKE_CXX               = arm-none-linux-gnueabi-g++
QMAKE_LINK              = arm-none-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-none-linux-gnueabi-g++# modifications to linux.conf
QMAKE_AR                = arm-none-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-none-linux-gnueabi-objcopy
QMAKE_NM                = arm-none-linux-gnueabi-nm -P
QMAKE_STRIP             = arm-none-linux-gnueabi-strip
load(qt_config)

(2)增加configure配置脚本

在qt-everywhere-opensource-src-5.5.1目录下创建autoConfigure.sh脚本

vi autoConfigure.sh
#!/bin/sh
./configure \
-prefix  /opt/qt5.5.1  \
-release \
-opensource \
-no-accessibility \
-make libs \
-xplatform arm-none-linux-gnueabi-g++ \
-optimized-qmake \
-pch \
-qt-sql-sqlite \
-qt-zlib \
-no-opengl \
-no-sse2 \
-no-openssl \
-no-nis \
-no-cups \
-no-glib \
-no-pkg-config \
-no-separate-debug-info \
-I./tslib/_install/include \
-L./tslib/_install/lib 

其中-prefix /opt/qt5.5.1代表我们编译完QT5.5.1后要安装地址,编译完成后,所有的库文件和环境文件都需要拷贝到设备这个目录下;-xplatform arm-none-linux-gnueabi-g++ 为交叉编译器,这里会链接到上面qtbase/mkspecs/arm-none-linux-gnueabi-g++/qmake.conf文件;

4、编译安装Qt

# make -j4                          #-j 4 表示4个线程同时编译,减少编译时间
# sudo make install            #安装Qt

编译完成后在/opt/qt5.5.1/命令下会生成 bin  doc  imports  include  lib  mkspecs  plugins  qml  translations文件夹;

查看编译是否成功:

# cd ./_install/bin

# ./qmake -v                      #查看Qt,编译成功
QMake version 3.0
Using Qt version 5.5.1 in /opt/qt5.5.1/lib

三、配置环境

2、开发板中的环境配置

(1)把编译好的QT库文件和环境文件拷贝到开发板/opt/qt5.5.1/下

(2)设置QT的运行环境:在etc/profile中添加下面内容

#添加QT库路径
LD_LIBRARY_PATH="/usr/local/lib:/usr/lib:/opt/qt5.5.1/lib"
export PATH
export LD_LIBRARY_PATH
#设置使用linuxfb,同时设置QT显示分辨率720x576
QT_QPA_PLATFORM=linuxfb:fb=/dev/fb1:size=720x576:
export QT_QPA_PLATFORM
#设置QT平台相关文件路径
QT_QPA_PLATFORM_PLUGIN_PATH=/opt/qt5.5.1/plugins/
export QT_QPA_PLATFORM_PLUGIN_PAT
3、编译QT程序,执行程序

新建一个最简单的QT工程,编写代码,使用上面编译的qmake生成Makefile,然后make就可以生成在设备上面运行的程序,
将生成的执行文件拷贝到设备中就可以跑QT应用程序了。

4、中文支持
在编译出的/opt/qt5.5.1/lib/下是没有fonts,在这里新建/opt/qt5.5.1/lib/fonts/命令,下载一个wqydkmh.ttf文库放到fonts下,

飞思卡尔I.MX6Q-QT5的移植相关推荐

  1. 飞思卡尔 S12 (X)串口下载移植

    1 参考文章  https://blog.csdn.net/hellolru/article/details/84939856 和 Serial Bootloader for S12(X).pdf 2 ...

  2. 飞思卡尔 I.MX6Q-vpu视频编解码

    专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示.         飞思卡尔I ...

  3. 飞思卡尔 I.MX6Q-高分辨率(1080P)视频采集编码

    专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示.         飞思卡尔I ...

  4. 飞思卡尔I.MX6Q-LTIB安装配置

    专栏说明 本专栏针对飞思卡尔I.MX6Q芯片产品开发,主要为视频的采集(V4L2).视频编解码(VPU).视频格式转化(IPU).H264封装为MP4.QT5的移植和显示.         飞思卡尔I ...

  5. 飞思卡尔 k60/k64 移植FreeRTOS+USB

            每年七八月份是智能车大赛的比赛时间,前段时间,学校车队的学弟问我嵌入式系统的问题,于是笔者拿起多年未碰的K60/K64芯片,搭建了一个FreeRTOS+USB的系统框架.文章结尾提供源 ...

  6. 天嵌TQ_E9卡片电脑移植飞思卡尔yocto L4.1.15_1.0.0_ga 第一篇 yocto项目建立

    本移植过程参考飞思卡尔的Freescale_Yocto_Project_User's_Guide.pdf文档,请自行到飞思卡尔下载fsl-yocto-L4.1.15_1.0.0-ga.zip文件夹. ...

  7. 3g android4 移植 飞思卡尔i.MX 6Quad Android 4.2.2的中兴和Ublox 3G驱动移植 Android——4.2 - 3G移植之路

    点击打开链接 3g android4 移植 点击打开链接 飞思卡尔i.MX 6Quad Android 4.2.2的中兴和Ublox 3G驱动移植 点击打开链接  Android--4.2 - 3G移 ...

  8. 飞思卡尔烧写工具mfgtools的使用

    注意:当时遇到烧录之后各种重启问题,还有system.img 文件同步不过去的原因,都是因为没有加flash刷新 <CMD state="Updater" type=&quo ...

  9. 恩智浦 飞思卡尔Freescale Kinetis KEA128学习笔记4——ADC

    KEA128的ADC有8个寄存器 ADC编程基本步骤: 1.打开ADC模块时钟 2.开启ADC_APCTL1引脚控制寄存器相应引脚的AD功能(即关闭这些引脚的IO功能) 3.配置ADC_SC3寄存器的 ...

最新文章

  1. C语言N台服务器通信,使用socket的Linux上的C语言文件传输顺序服务器和客户端示例程序 ....
  2. 面试问烂的 MySQL 四种隔离级别,看完吊打面试官!
  3. Cognos8.3权限体系[转]
  4. 【机器学习基础】朴素贝叶斯的算法实现
  5. 下载mysql镜像教程_docker下安装mysql镜像
  6. 在php里面怎么做日期范围,如何在php中获得上周的日期范围?
  7. lua实现多继承-方式2
  8. 解决:The ‘Access-Control-Allow-Origin‘ header contains multiple values‘x, *‘, but only one is allowed.
  9. 怎样清除手机中的html文件夹,怎么彻底清除手机APP卸载后的残留文件夹 能删与不能删文件名...
  10. linux查看当前igb的版本信息,Linux下查看网卡驱动和版本信息
  11. 工具箱锁打不开了怎么办_木门门锁坏了怎么办?维修小技巧在手不发愁
  12. C# Unity依赖注入
  13. 深度学习自学(二十八):Altas人脸SDK实现之-回调函数
  14. ARKit何以从同类技术中胜出?
  15. 冒泡排序(C语言代码介绍)
  16. 硬盘的IDE、AHCI和NVMe模式区别
  17. Python编程-让繁琐的工作自动化(十一)从Web爬取信息
  18. 『递推』[AGC043D] Merge Triplets
  19. JAVAEE 实训日志 一
  20. 将 MobaXterm 的高亮/突出显示集功能(HighLight sets)移植到 Xshell 中使用

热门文章

  1. 【雷达与对抗】【2018.06】CReSIS高频-甚高频探测仪与超高频累积雷达的改进
  2. 世界IP数量分布 (IPv4)
  3. IT人员的核心竞争力是什么?
  4. 计算机体系结构“圣经”新版,图灵奖得主扛鼎之作,影响无数技术人
  5. 平层、错层、跃层、复式、loft的区别是什么?
  6. 订单收入超7亿元,百分点为什么能够爆发式增长?
  7. ESG中国区总经理王丛简历
  8. EndNote更改同步位置
  9. 阿里巴巴蝉联“最受赞赏的中国公司”冠军
  10. 人体温度、心率和性别数据分析