下载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.gz2.cd qt-everywhere-opensource-src-5.6.03.指定开发板架构和交叉编译器/---+/#
# 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)
# 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
这是我的配置脚本
-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:
错误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
上一篇:S5PV210简单介绍
下一篇:S5PV210裸板驱动:启动
推荐阅读最新更新时间:2026-03-25 10:37
- 用于 7VIN 至 16VIN、1.5V 和 1.2V 输出的 LTM4628EV DC/DC 模块稳压器的典型应用电路
- 使用 Analog Devices 的 LTC3728LIGN 的参考设计
- DER-406 - 适用于 A19 灯的 5.76 W 高 PF 非隔离降压-升压型 TRIAC 调光 LED 驱动器
- ADR5045B 5V 输出精密微功率并联模式电压基准的典型应用
- LT3970EDDB-3.42 2.5V 降压转换器的典型应用
- MC78M08BDTG 8V 电流调节器的典型应用
- LT1021DCN8-5 精密电压基准的典型应用
- DER-282 - 100W, 扁平(11 mm), LLC DC-DC转换器
- REF193 低压差开尔文连接电压基准的典型应用电路
- LT3088EM 线性稳压器用于添加软启动的典型应用



【Follow me 第三季第四期】PSoC6 任务代码
英飞凌PSoC 6 电位器控制LED闪烁状态并水墨屏显示——源码
现代雷达系统的信号设计
5962-89541022A
BFR340T






京公网安备 11010802033920号