移植tslib和Qt5.6到三星s5pv210开发板

发布者:SparklingSoul最新更新时间:2024-12-18 来源: cnblogs关键字:移植  Qt5  6 手机看文章 扫描二维码
随时随地手机看文章

下载tslib1.4后
1.cp tslib-1.4.tar.bz2 /home/gec
2.tar jxvf tslib-1.4.tar.bz2
3.sudo -s
4.cd tslib-1.4/
5../configure --host=arm-linux --prefix=/usr/local/arm ac_cv_func_malloc_0_nonnull=yes
6.make
7.make install


修改tslib安装目录下的/etc/ts.conf文件去掉# module_raw input注释。

安装后把整个文件夹下载到开发板

在开发板/etc/profile 里配置环境变量,我的如下,要按你放的位置配置

export TSLIB_ROOT=/usr/local/tslib

export TSLIB_TSDEVICE=/dev/event0 
export POINTERCAL_FILE=/etc/pointercal
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=$TSLIB_ROOT/etc/ts.conf
export TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/ts    
export TSLIB_FBDEVICE=/dev/fb0               
export TSLIB_CONSOLEDEVICE=none              
export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:/lib:/usr/lib:$LD_LIBRARY


source /etc/profile 使配置生效或重启开发板

进入/usr/local/tslib/bin 目录执行ts_calibrate校准程序,进行5点触摸校准

生成的校准文件名为pointercal,位于/etc目录下。


 

这些网址都是介绍tslib的移植,可以参考下。

 

http://blog.sina.com.cn/s/blog_406127500101dsmy.html

http://blog.chinaunix.net/uid-12461657-id-2975918.html
http://www.ttfanwen.com/info_12/fw_2537170.html
http://www.embeddedlinux.org.cn/emb-linux/system-development/201603/28-5238.html

http://mojijs.com/2016/07/217478/index.html

qt-everywhere-opensource-src-5.6.0.tar.gz

1.tar zxvf qt-everywhere-opensource-src-5.6.0.tar.gz
2.cd qt-everywhere-opensource-src-5.6.0
3.指定开发板架构和交叉编译器/---+/#
# qmake configuration for building with arm-linux-gnueabi-g++
#


MAKEFILE_GENERATOR      = UNIX
CONFIG                 += incremental
QMAKE_INCREMENTAL_STYLE = sublib


QT_QPA_DEFAULT_PLATFORM =linuxfb                 #指定Qt运行平台 EGLFS, LinuxFB, KMS, DirectFB, Wayland                      
QMAKE_CFLAGS_RELEASE    += -O2 -march=armv7-a #O2为优化选项,march只处理器架构,s5pv210的架构是armv7
QMAKE_CXXFLAGS_RELEASE  += -O2 -march=armv7-a


include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)


QMAKE_INCDIR +=/usr/local/tslib/include #连接的tslib库位置
QMAKE_LIBDIR +=/usr/local/tslib/lib


# modifications to g++.conf
QMAKE_CC                = arm-si-linux-gnueabi-gcc #交叉编译器的名称(以下部分全换成自己的交叉编译器)
QMAKE_CXX               = arm-si-linux-gnueabi-g++
QMAKE_LINK              = arm-si-linux-gnueabi-g++
QMAKE_LINK_SHLIB        = arm-si-linux-gnueabi-g++


# modifications to linux.conf
QMAKE_AR                = arm-si-linux-gnueabi-ar cqs
QMAKE_OBJCOPY           = arm-si-linux-gnueabi-objcopy
QMAKE_NM                = arm-si-linux-gnueabi-nm -P
QMAKE_STRIP             = arm-si-linux-gnueabi-strip
load(qt_config)


4.根据需求配置Qt

./mkqt.sh

这是我的配置脚本

  1.     -L /usr/local/tslib/lib  


 Qt配置选项解释

  Qt4(解释更详细)

  http://www.360doc.com/content/10/0225/22/79031_16834764.shtml#

  Qt5(与以上网址对比看)

  http://www.cnblogs.com/chenfulin5/p/5798764.html


5.make  -j4 (4线程编译,长时间等待囧)

6.make install 


错误分析:

配置时遇到的错误

  错误1:

configurationWarning:Disabling pkg-configsincePKG_CONFIG_LIBDIRis not set.
Warning:Disabling pkg-configsincePKG_CONFIG_SYSROOT_DIRis not set.
 
Couldnotdeterminethetargetarchitecture!
Turnonverbose messaging (-v)toseethefinal report.
原因:没有指定自己交叉编译器
输入:arm-linux-gcc -v查看自己的交叉编译器名称
mkspecslinuxarmgnueabig+qmake.conf修改# modifications to g++.conf内容以下交叉编译器

  

  错误2:

  Project ERROR: Unknown module(s) in QT: quick         (quick说明已跳过该步骤,影响不大嘛)
  make[4]: *** [sub-textureandlight-make_first] 错误 3
  make[4]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d/examples/canvas3d/canvas3d'
  make[3]: *** [sub-canvas3d-make_first] 错误 2
  make[3]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d/examples/canvas3d'
  make[2]: *** [sub-canvas3d-make_first] 错误 2
  make[2]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d/examples'
  make[1]: *** [sub-examples-make_first] 错误 2
  make[1]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d'
  make: *** [module-qtcanvas3d-make_first] 错误 2
  make: *** 正在等待未完成的任务....

  原因:由于配置时加了-no-opengl影响了该例子的生成,对编译Qt影响不大不用管

  解决:找出s5pv210提供的opengl库和头文件,配置时加上-opengl并设置相应路径后编译通过

  

  安装时遇到的错误

  Project ERROR: Unknown module(s) in QT: quick      (已跳过该步)
  make[4]: *** [sub-textureandlight-install_subtargets] 错误 3
  make[4]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d/examples/canvas3d/canvas3d'
  make[3]: *** [sub-canvas3d-install_subtargets] 错误 2
  make[3]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d/examples/canvas3d'
  make[2]: *** [sub-canvas3d-install_subtargets] 错误 2
  make[2]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d/examples'
  make[1]: *** [sub-examples-install_subtargets] 错误 2
  make[1]:正在离开目录 `/home/sice/sources/qt/qt-everywhere-opensource-src-5.6.0/qtcanvas3d'
  make: *** [module-qtcanvas3d-install_subtargets] 错误 2

  原因:与上面对应,编译不通过,安装时也出错,不过影响不大,只是不嫩生成该例子而已


  7.安装完后把Qt所在文件夹下的lib、plugins文件夹打包下载到开发板,配置环境变量

  vi /etc/profile

  添加             (!具体配置要按你所放的目录位置)

  我的配置如下
  export QTEDIR=/usr/local/Qt5.6 

  export QT_QPA_GENERIC_PLUGINS=tslib:$TSLIB_TSDEVICE                                   
  export QT_QPA_FONTDIR=$QTEDIR/lib/fonts                                               
  export QT_QPA_PLATFORM_PLUGIN_PATH=$QTEDIR/plugins                                    
  export QT_QPA_PLATFORM=linuxfb:fb=/dev/fb0

  export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:/lib:/usr/lib:$QTDIR/lib:$QTEDIR/lib:$LD_LIBRAR

  export LD_PRELOAD=/lib/preloadable_libiconv.so              

  source /etc/profile 使配置生效


  8.运行example里的程序测试Qt是否移植成功

  出错

 QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

 QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

 This application failed to start because it could not find or load the Qt platform plugin 'linuxfb'.

 Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.


 解析:这里包含2个错误

 错误1:

  QIconvCodec::convertToUnicode: using Latin-1 for conversion, iconv_open failed

  QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv_open failed

  原因:配置时没有设置-no-iconv或-iconv。iconv是一个计算机程序以及一套应用程序编程接口的名称。它的作用是在多种国际编码格式之间进   行文本内码的转换。这对跨语言  Qt开发人员来说是很有用的   

  解决办法:网上下载libiconv,交叉编译 ,编译好后将 ./preload/preloadable_libiconv.so 拷贝到板子的 /lib 下面,设置环境变    量 export    LD_PRELOAD=/lib/preloadable_libiconv.so


 错误2:

    This application failed to start because it could not find or load the Qt platform plugin 'linuxfb'.

    Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, xcb.

    原因1:qmake.conf中QT_QPA_DEFAULT_PLATFORM =linuxfb没有设置为linuxfb。

 

解决:设置为linuxfb后重新编译

   

   原因2:

   环境变量重叠  LD_LIBRARY_PATH写了2个


  解决:把LD_LIBRARY_PATH合成一个,既包括tslib也包括Qt

  export LD_LIBRARY_PATH=$TSLIB_ROOT/lib:/lib:/usr/lib:$QTDIR/lib:$QTEDIR/lib:$LD_LIBRAR 

[1] [2]
关键字:移植  Qt5  6 引用地址:移植tslib和Qt5.6到三星s5pv210开发板

上一篇:S5PV210简单介绍
下一篇:S5PV210裸板驱动:启动

推荐阅读最新更新时间:2026-03-25 10:37

移植QtEmbedded 4.6.3 tslib1.4 到 S3C2440
1、下载源码包: 到QT官网下载最新版 QT FOR EMBEDDED 下载最新版 tslib1.4 2、配置交叉编译环境 下载交叉编译工具 arm-linux-gcc 4.3.2 (交叉编译工具的版本,请根据开发板中系统内核编译时使用的版本进行确定,我使用的mini2440内核采用此版本交叉编译器编译所以选用此编译器) 在命令行模式下执行 export PATH=/usr/local/arm/4.3.2/bin:$PATH 建议写成脚本setcrossenv.sh方便以后执行 3、交叉编译tslib1.4 A、安装编译过程需用到的程序 root@hrixin-desktop:/home/hrixin # apt
[单片机]
iTOP-iMX6ULL开发板-Qt5下使用UVC摄像头
本章节使用的资料已经放到了迅为IMX6ULL开发板网盘资料中,路径为:11_ Linux 系统开发进阶91_章节使用资料。 本章节介绍如何在 Qt5 文件系统测试 USB 免驱摄像头,例程中使用迅为 i.MX6ULL 终结者开发板,yocto 的 Qt5 文件系统和编译器,测试程序(Qt5Camera)在本章节同一目录下。 将 UVC 摄像头连接到开发板的 USB 接口上,查看多出的设备结点,例程中设备节点为“/dev/video2”, 修改测试程序,在 processimage.cpp 文件中修改设备结点, 帧的宽高可在 videodevice.h 里的宏定义设置,本例程以 640x480 为例: 交叉编
[单片机]
iTOP-iMX<font color='red'>6</font>ULL<font color='red'>开发板</font>-<font color='red'>Qt5</font>下使用UVC摄像头
天嵌TQ210编译tslib
总结《TQ210编译tslib》如下: ubuntu每次重启需要看下arm-linux-gcc-v, 没有的话需要source /etc/environment (1)tar xvzf tslib-1.4.tar.gz (2)第二步:进入tslib之后关键是要设置交叉编译环境(下面是根据我自己的实际情况所添加的)——如果不设置交叉编译环境,在移植到开发板时,执行./ts_calibrate程序时会出现以下错误: ./ts_calibrate:line 1: syntax error :”(” unexpected. $exportPATH=$PATH:/opt/tools/4.4.6/4.4.6/bin $exportCC=arm
[单片机]
移植5.4内核到迅为I.MX6ULL开发板
本篇推文会加到后续的文档里面,另外等QT视频录制完成以后,就开始更新终结者驱动和系统移植的视频,后续的驱动移植教程和视频也全部会在本次移植的5.4内核上进行讲解和录制。大家也可以趁着端午节亲手移植感受下。 获取Linux内核源码 NXP官方提供了I.MX6ULL的Linux内核源码,我们可以使用git来获取Linux 5.4.3的内核源码(为了大家学习方便我们给大家提供了下载好的核源码,后续会保存在光盘资料的“i.MX6UL终结者光盘资料5_uboot linux源码”目录下“i.MX6ULL_Kernel_5.4.3.tar.bz2”)。 下面我们通过git下载5.4.3内核源码。输入以下命令获取源码: git clon
[单片机]
<font color='red'>移植</font>5.4内核到迅为I.MX<font color='red'>6</font>ULL<font color='red'>开发板</font>
迅为imx6ull开发板移植Debian文件系统
本教程将带领大家移植 Debian 文件系统到 i.MX6ULL 终结者开发板上。 1 安装 Qemu 和 Debootstrap 由于我们是在 Ubuntu 上构建的 debian 的文件系统,所以安装这俩个工具我们直接使用 apt-get 命令即可。命令如下: apt-get install binfmt-support qemu qemu-user-static debootstrap如下图所示: 2 抽取 Debain 文件系统 抽取文件系统我们使用的是 debootstrap 命令,我们执行以下命令即可从 debian 下载源中获取到文件系统: debootstrap --arch=armhf --foreign bu
[单片机]
迅为imx<font color='red'>6</font>ull<font color='red'>开发板</font><font color='red'>移植</font>Debian文件系统
迅为imx6开发板QT系统移植FFmpeg-编译x264
FFmpeg(Fast Forward Mpeg)是一种可以用来记录、转换数字音频、视频,并能将其转化为流的多媒体视频处理工具,拥有视频采集功能、视频格式转换、视频抓图等功能。本文档介绍如何将 ffmpeg 移植到ARM 平台。相关的配套资料在网盘资料的“iTOP-i.MX6 开发板资料汇总(不含光盘资料)8_iTOP-i.MX6 开 发板 Linux 系统开发资料9-Linux 系统移植 FFmpeg”目录下。开发板使用迅为 i.MX6ULL 终结者和 USB 免驱摄像头,交叉编译工具为 arm-2009q3,开发板里面的系统是升级版 QT5.7 文件系统。 编译 x264 获取 x264 源码,可以从网站 h t t p :
[单片机]
迅为imx<font color='red'>6</font><font color='red'>开发板</font>QT系统<font color='red'>移植</font>FFmpeg-编译x264
迅为-i.MX6ULL开发板-Busybox移植DHCP(三)
我们想要开发板上面烧写 busybox 文件系统,我们首先将 busybox 镜像拷贝到 dhcp 目录下,busybox镜像在终结者 ULL 光盘资料i.MX6ULL 终结者光盘资料8_开发板系统镜像3_文件系统镜像1_Busybox文件系统可以找到,如图 89.4.1 所示: 然后执行命令:将其解压 将 client 目录下编译好的 dhclient 可执行文件拷贝到目标板系统的/bin 目录下,输入命令: cp /home/topeet/dhcp/dhcp-4.4.1/client/dhclient ./bin/ 如图 89.4.3 所示 查看./bin/目录下是否有 dhclient 将 client 目录下的 d
[单片机]
迅为-i.MX<font color='red'>6</font>ULL<font color='red'>开发板</font>-Busybox<font color='red'>移植</font>DHCP(三)
迅为-i.MX6ULL开发板-Busybox移植DHCP(一)
安装交叉编译工具链 本章节使用的资料已经放到了开发板网盘资料中,路径为:“11_ Linux 系统开发进阶89_章节_Busybox移植 DHCP 使用资料”。 我们学习的 i.MX6ULL 是 arm 架构的,所以我们需要使用支持 arm 的编译器并且该编译器在 X86 架构下运行,这个编译器我们通常称为交叉编译器。arm 交叉编译器有很多种,我们使用 Linaro 公司的 arm 交叉编译器,下载地址: 在上图中有多种 arm 交叉编译器,我们需要根据安装的 Ubuntu 系统来选择对应的版本下载:如果安装的是 Ubuntu 32 位的系统我们需要下载 gcc-linaro-4.9.4-2017.01-i686_arm-l
[单片机]
迅为-i.MX<font color='red'>6</font>ULL<font color='red'>开发板</font>-Busybox<font color='red'>移植</font>DHCP(一)
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved