qt5.7交叉编译开发板开机运行程序

来源:互联网 发布:数据库原理填空选择题 编辑:程序博客网 时间:2024/05/16 19:49

在上一篇 qt5.7交叉编译安装到arm 中,为了使得开发板能够开机运行程序,可以这样做:

1.在开发板的/bin目录中新建qt5.shell ,在最下面添加执行程序的命令,如下所显示:

#!/bin/shexport TSLIB_ROOT=/opt/tslib1.4export TSLIB_TSDEVICE=/dev/input/event2export TSLIB_TSEVENTTYPE=inputexport TSLIB_CONFFILE=/opt/tslib1.4/etc/ts.confexport TSLIB_PLUGINDIR=/opt/tslib1.4/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport TSLIB_PLUGINDIR=$TSLIB_ROOT/lib/tsexport TSLIB_CONSOLEDEVICE=noneexport TSLIB_FBDEVICE=/dev/fb0export QTDIR=/opt/qt-5.7.0/export LD_LIBRARY_PATH=$QTDIR/plugins/qtopialmigrate/:$QTDIR/qt_plugins/imageformats/:$QTDIR/lib:/root/tslib/build/lib:$LD_LIBRARY_PATHexport PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/root/tslib/build/binif [ -c /dev/input/event2 ]; then    export QWS_MOUSE_PROTO='MouseMan:/dev/input/mice Tslib:/dev/input/event2'        #if [ -e /etc/pointercal -a ! -s /etc/pointercal ] ; then    if [ -e /etc/pointercal ] ; then        fsize=$(/bin/ls -al /etc/pointercal | cut -d' ' -f 23)        echo $fsize        #if [ -s /etc/pointercal ]; then        if [ $fsize -ge "1" ]; then            echo "/etc/pointercal is exit"        else            echo "/etc/pointercal is empty"                    rm /etc/pointercal                    /opt/tslib1.4/bin/ts_calibrate        fi    else        echo "/etc/pointercal not found"        /opt/tslib1.4/bin/ts_calibrate        fielse        export QWS_MOUSE_PROTO="MouseMan:/dev/input/mice"        #>/etc/pointercalfi#export QWS_MOUSE_PROTO="Tslib:${TSLIB_TSDEVICE}"#/usr/local/tslib/bin/ts_calibrate#export QWS_KEYBOARD=TTY:/dev/tty1FB_SIZE=$(cat /sys/class/graphics/fb0/virtual_size)#export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1"case "$FB_SIZE" in800,480)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;480,272)export QWS_DISPLAY="LinuxFb:mmWidth76:mmHeight44:1";;*)export QWS_DISPLAY="LinuxFb:mmWidth91:mmHeight53:1";;esac#export QWS_DISPLAY=:1export QWS_DISPLAY=Transformed:Rot0export HOME=/rootcd /bin ./untitled

2.编辑修改/etc/init.d/rcS文件

[root@iTOP-4412]# vi etc/init.d/rcS 

显示如下,在后面添加一行/bin/qt5.shell &,该文件内容如下所示:

#! /bin/shPATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/topeet/bin:runlevel=Sprevlevel=Numask 022export PATH runlevel prevlevel##   Trap CTRL-C &c only in this shell so we can interrupt subprocesses.#trap ":" INT QUIT TSTP/bin/hostname iTOP-4412#/bin/mount -n -t proc none /proc#/bin/mount -n -t sysfs none /sys#/bin/mount -n -t usbfs none /proc/bus/usb#/bin/mount -t ramfs none /dev[ -e /proc/1 ]    || /bin/mount -n -t proc  none /proc[ -e /sys/class ] || /bin/mount -n -t sysfs none /sys[ -e /dev/tty ]   || /bin/mount    -t ramfs none /devecho /sbin/mdev > /proc/sys/kernel/hotplug/sbin/mdev -s/bin/hotplug# mounting file system specified in /etc/fstabmkdir -p /dev/ptsmkdir -p /dev/shm/bin/mount -n -t devpts none /dev/pts -o mode=0622/bin/mount -n -t tmpfs tmpfs /dev/shm/bin/mount -n -t ramfs none /tmp/bin/mount -n -t ramfs none /varmkdir -p /var/emptymkdir -p /var/logmkdir -p /var/log/boamkdir -p /var/lockmkdir -p /var/runmkdir -p /var/tmpln -sf /dev/ttyS2 /dev/tty2ln -sf /dev/ttyS2 /dev/tty3ln -sf /dev/ttyS2 /dev/tty4amixer cset numid=5 127amixer cset numid=6 1amixer cset numid=30 8,0amixer cset numid=40 1amixer cset numid=43 1amixer cset numid=47 1/sbin/hwclock -s -f /dev/rtcsyslogd/etc/rc.d/init.d/netd startecho "                        " > /dev/ttySAC2echo "Starting networking..." > /dev/ttySAC2#sleep 1#/etc/rc.d/init.d/httpd start#echo "                        " > /dev/ttySAC2#echo "Starting web server..." > /dev/ttySAC2#sleep 1#/etc/rc.d/init.d/leds start#echo "                        " > /dev/ttySAC2#echo "Starting leds service..." > /dev/ttySAC2#echo "                        "#sleep 1echo "*************************************" > /dev/ttySAC2echo "     http://www.topeetboard.com      " > /dev/ttySAC2echo "*************************************" > /dev/ttySAC2sleep 2/etc/firmware/load_firmware#mkdir /mnt/disk#mount -t yaffs2 /dev/mtdblock3 /mnt/disk/sbin/ifconfig lo 127.0.0.1/etc/init.d/ifconfig-eth0####### #wifi setting ########/etc/init.d/ath6kl#/etc/init.d/mt6620echo 0 > /proc/sys/kernel/hung_task_timeout_secs#echo "                                  " > /dev/ttySAC2#echo "Starting Qtopia, please waiting..." > /dev/ttySAC2#echo "                                  " > /dev/ttySAC2echo "Starting Qtopia4, please waiting..." > /dev/ttySAC2#/bin/qtopia &source /etc/profile /bin/qt5.shell &#must run this shell/bin/sh

然后执行

[root@iTOP-4412]# reboot

重启开发板后,首先是校正触摸屏,校正完毕之后就可以运行untitled,下次开机就直接运行untitled了。
这里写图片描述

0 0
原创粉丝点击