imx6q yocto增加tslib支持

imx6q yocto增加tslib支持

yocto修改

修改sources/meta-qt5/recipes-qt/qt5/qtbase_git.bb

PACKAGECONFIG_DEFAULT ?= "dbus udev evdev widgets tools libs freetype tests sql-sqlite

修改为

PACKAGECONFIG_DEFAULT ?= "dbus udev evdev tslib widgets tools libs freetype tests sql-sqlite

增加tslib支持,这时只有tslib库没有校准程序,还需要增加tslib-calibrate
修改yocto根目录下编译脚本

#!/bin/bash
#imx yocto project L4.14.98_2.0.0_ga
DISTRO=fsl-imx-fb
BUILD_DIR=build-fb
#fsl-imx-xwayland
MACHINE=imx6qsabresd
TOP=`pwd`
BUILD_ALL=true
BUILD_UBOOT=false
BUILD_KERNEL=false
BUILD_MODULE=false
BUILD_SYSTEM=false
BUILD_TOOLCHAIN=false
CLEAN_BUILD=false
BUILD_SDK=false
UBOOT_MOD=u-boot-with-spl.bin
KERNEL_MOD=uImage

CPU_NUM=$(cat /proc/cpuinfo |grep processor|wc -l)
CPU_NUM=$((CPU_NUM+1))
IMAGE_DIR=build-fb/tmp/deploy/images/imx6qsabresd


function parse_args()
{
    TEMP=`getopt -o "b:t:c" -- "$@"`
    eval set -- "$TEMP"

    while true; do
        case "$1" in
			-b ) DISTRO=fsl-imx-$2; BUILD_DIR=build-$2; IMAGE_DIR=build-$2/tmp/deploy/images/imx6qsabresd; shift 2 ;;
            -c ) CLEAN_BUILD=true; BUILD_ALL=false; shift 1 ;;
            -t ) case "$2" in
                    u-boot  ) BUILD_ALL=false; BUILD_UBOOT=true ;;
                    kernel  ) BUILD_ALL=false; BUILD_KERNEL=true ;;
                    module  ) BUILD_ALL=false; BUILD_MODULE=true ;;
					system 	) BUILD_ALL=false; BUILD_SYSTEM=true ;;
					clean 	) BUILD_ALL=false; CLEAN_BUILD=true ;;
					sdk 	) BUILD_ALL=false; BUILD_SDK=true ;;
					toolchain ) BUILD_ALL=false; BUILD_TOOLCHAIN=true ;;
                    none    ) BUILD_ALL=false ;;
                 esac
				 shift 2 ;;
            -- ) break ;;
            *  ) echo "invalid option $1"; usage; exit 1 ;;
        esac
    done
}

function build_uboot()
{
    if [ ${BUILD_UBOOT} == "true" ]; then
		bitbake -c compile -f -v u-boot-imx
		bitbake -c deploy -f -v u-boot-imx
	fi
}

function build_kernel()
{
    if [ ${BUILD_KERNEL} == "true" ]; then
		bitbake -c menuconfig -v linux-imx
		#bitbake -c compile -f -v linux-imx
		#bitbake -c compile_kernelmodules -f -v linux-imx
		#bitbake -c deploy -f -v linux-imx
	fi
}

function build_system()
{
    if [ ${BUILD_SYSTEM} == "true" ]; then
		#bitbake fsl-image-gui
		#bitbake core-image-minimal
		bitbake fsl-image-mfgtool-initramfs
	fi
}

function build_gui()
{
    if [ ${BUILD_ALL} == "true" ]; then
		#bitbake fsl-image-gui
		bitbake fsl-image-validation-imx
	fi
}

function build_qt5()
{
    if [ ${BUILD_ALL} == "true" ]; then
		#bitbake fsl-image-gui
		#bitbake core-image-minimal
		bitbake fsl-image-qt5-validation-imx
	fi
	#cp ./$IMAGE_DIR/core-image-minimal-imx6qsabresd.tar.bz2 ./
	#cp ./$IMAGE_DIR/fsl-image-qt5-validation-imx-imx6qsabresd.tar.bz2 ./
	#chmod 777 ./core-image-minimal-imx6qsabresd.tar.bz2
	#chmod 777 ./fsl-image-qt5-validation-imx-imx6qsabresd.tar.bz2
	#echo "image path $IMAGE_DIR"
}

function build_toolchain()
{
    if [ ${BUILD_TOOLCHAIN} == "true" ] ; then
		#gcc toolchain
		bitbake meta-toolchain
		#qt5 toolchain
		bitbake meta-toolchain-qt5
	fi
}

function build_sdk()
{
    if [ ${BUILD_SDK} == "true" ]; then
		bitbake fsl-image-qt5-validation-imx -c populate_sdk
		#bitbake meta-toolchain
		#bitbake meta-toolchain-qt5
	fi
}

function clean_build()
{
    if [ ${CLEAN_BUILD} == "true" ]; then
		echo "start clean"
		bitbake -c cleanall core-image-minimal
		bitbake -c cleanall fsl-image-qt5-validation-imx
		#bitbake -c cleanall meta-toolchain
		#bitbake -c cleanall meta-toolchain-qt5
	fi
}

parse_args $@
echo "DISTRO:$DISTRO BUILD_DIR:$BUILD_DIR "
CONF_DIR=$BUILD_DIR
source ./fsl-setup-release.sh -b $BUILD_DIR
echo "conf:$TOP/$CONF_DIR/conf/local.conf"
echo "IMAGE_INSTALL_append= \"qtvirtualkeyboard \"" >> $TOP/$CONF_DIR/conf/local.conf
echo "IMAGE_INSTALL_append= \"ppp \"" >> $TOP/$CONF_DIR/conf/local.conf
echo "IMAGE_INSTALL_append= \"tslib-calibrate \"" >> $TOP/$CONF_DIR/conf/local.conf
# Remove connman
#echo "IMAGE_INSTALL_remove = \"connman\"" >> $TOP/$CONF_DIR/conf/local.conf
#echo "IMAGE_INSTALL_remove = \"connman-client\"" >> $TOP/$CONF_DIR/conf/local.conf
#echo "IMAGE_INSTALL_remove = \"connman-gnome\"" >> $TOP/$CONF_DIR/conf/local.conf
# Add NetworkManager
#echo "IMAGE_INSTALL_append = \"networkmanager\"" >> $TOP/$CONF_DIR/conf/local.conf
#echo "IMAGE_INSTALL_append = \"modemmanager\"" >> $TOP/$CONF_DIR/conf/local.conf

clean_build
build_uboot
build_kernel
build_system
build_sdk
build_qt5
#build_gui

增加了

echo "IMAGE_INSTALL_append= \"tslib-calibrate \"" >> $TOP/$CONF_DIR/conf/local.conf

执行./build.sh -b fb
使用时增加环境变量

export QT_QPA_EGLFS_TSLIB=1
export TSLIB_TSDEVICE=/dev/input/touchscreen0

这里QT_QPA_EGLFS_TSLIB环境变量一定要在TSLIB_TSDEVICE之前,要不然ts_calibrate点击会没反应
在增加自动校准,功能

if [ -c ${TSLIB_TSDEVICE} ]; then
	if [ ! -f /etc/pointercal ] ; then
		ts_calibrate
	fi
fi

最后启动默认demo
/usr/share/qt5everywheredemo-1.0/QtDemo
触摸正常

======================================
作者:hclydao
http://blog.csdn.net/hclydao
版权没有,但是转载请保留此段声明

===========================================

参考链接

https://blog.csdn.net/swikon/article/details/78788419?utm_source=blogxgwz9

https://www.toradex.com/community/questions/12391/ts-calibrate-in-latest-imx6-apalis.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值