• 7955阅读
  • 4回复

关于qvfb框图大小设置的问题 [复制链接]

上一主题 下一主题
离线smalltiancai
 
只看楼主 正序阅读 楼主  发表于: 2009-05-22
弄了半个月终于把qvfb和qt-embedded装好了 但是在运行qvfb的时候 界面框图是240*320  我想在开发板上运行320*240的 ~~请问在哪里设置啊??

是在内核配置的时候吗??  在开发板上有没有影响啊?

毕业设计要交了 急啊~~~请大家指导  谢谢了~~~~·  
离线jwqacqy
只看该作者 4楼 发表于: 2012-08-11
QTE在linux下使用qvfb方式显示APP。这样的方式使用USB或串口触摸屏要在触摸屏驱动、linux系统环境变量设置、tslib校准等方面做修改,tslib官网的驱动不能直接校准。这个开发过程需要对整个架构都非常熟悉才能调出来,而且触摸屏驱动要触摸屏控制器厂家支持才行,而且支持这种非X11方式的驱动厂家很少。touchqvfb@163.com 有一家的控制器支持,提供完整linux驱动和校准方案,直接安装即可,无需自己开发;支持fedora、ubuntu、debian等常用系统。在工控领域qte图形界面比X-windows下显示图形界面APP要稳定的多,因为多次非法关机后会使linux系统文件损坏导致x11启动不起来,gnome或KDE桌面非常脆弱的,它太庞大了,若是一些环境变量文件损坏了界面就崩溃,而使用QVFB framebuffer方式显示不依赖于系统配置,所以在高可靠领域一般都是使用这种方式显示。
离线bhwbj
只看该作者 3楼 发表于: 2009-05-27
1         制作 qtopia 的运行库
1.1      配置源程序

echo yes | ./configure -release -no-qvfb -embedded arm -no-stl -no-qt3support -no-nis -no-cups -no-iconv -no-qdbus -no-freetype -qt-mouse-linuxtp
1.2      编译源程序

make

之后,在lib目录下可以拿到Qtopia的运行库,在lib/fonts下可以拿到Qtopia需要的字库
2         建立开发板运行环境

原则上,需要将以下库文件复制到开发板:

1)        lib/libQtGui.so.*            à           /lib/

2)        lib/libQtNetwork.so.*     à           /lib/

3)        lib/libQtCore.so.*          à           /lib/

4)        lib/fonts/*                     à           /usr/local/Trolltech/QtopiaCore-4.3.5-arm/lib/fonts



建议,在开发板上使用下面的脚本完成库的拷贝(在拷贝之前,先在开发板上设定$QTOPIA环境变量指向PC上的Qtopia的路径;设定$QT_INSTALL指向开发板上需要放置qt库的地方):

cp $QTOPIA/lib/libQtGui.so.4.3.5 $QT_INSTALL/

ln -s $QT_INSTALL/libQtGui.so.4.3.5 $QT_INSTALL/libQtGui.so.4.3

ln -s $QT_INSTALL/libQtGui.so.4.3.5 $QT_INSTALL/libQtGui.so.4

ln -s $QT_INSTALL/libQtGui.so.4.3.5 $QT_INSTALL/libQtGui.so



cp $QTOPIA/lib/libQtNetwork.so.4.3.5 $QT_INSTALL/

ln -s $QT_INSTALL/libQtNetwork.so.4.3.5 $QT_INSTALL/libQtNetwork.so.4.3

ln -s $QT_INSTALL/libQtNetwork.so.4.3.5 $QT_INSTALL/libQtNetwork.so.4

ln -s $QT_INSTALL/libQtNetwork.so.4.3.5 $QT_INSTALL/libQtNetwork.so



cp $QTOPIA/lib/libQtCore.so.4.3.5 $QT_INSTALL/

ln -s $QT_INSTALL/libQtCore.so.4.3.5 $QT_INSTALL/libQtCore.so.4.3

ln -s $QT_INSTALL/libQtCore.so.4.3.5 $QT_INSTALL/libQtCore.so.4

ln -s $QT_INSTALL/libQtCore.so.4.3.5 $QT_INSTALL/libQtCore.so



另外,Qtopia的运行需要开发板的/tmp目录可写。

Qtopia默认使用/dev/fb0设备作为显示设备,使用/dev/ts设备作为触摸屏输入设备,所以,需要保证这两个设备存在(至少/dev/fb0需要存在)。



可以通过重新制作根文件系统来达到上述目的。

或者,在不改变根文件系统的情况下,可以利用/mnt/yaffs目录达到目的,方法如下:

1)        复制/usr目录到/mnt/yaffs/

2)        在/mnt/yaffs/下建立lib目录,并复制1)、2)、3)所示的库文件到该目录

3)        在/mnt/yaffs/usr下建立local/Trolltech/QtopiaCore-4.3.5-arm/lib/fonts目录结构,并复制/lib/fonts下的字库文件到这里

4)        在/mnt/yaffs/目录下建立.profile脚本文件,内容如下:

mount -t ram fs ramfs /tmp

mount /mnt/yaffs/usr /usr

export LD_LIBRARY_PATH=/lib:/mnt/yaffs/lib

export QWS_MOUSE_PROTO=linuxtp:/dev/ts0

#export QWS_KEYBOARD=tty:/dev/ttyS0

ln -s /dev/fb/0 /dev/fb0

ln -s /dev/touchscreen/0raw /dev/ts

5)        复制测试程序(qt/examples或qt/demos)到开发板

6)        运行程序时在程序后一定要加上-qws参数





1,  可以修改 用户目录下 .bash_profile 文件中的PATH路径来修改gcc的版本和qmake的版本,必须将这两个编译器换成刚刚编译好的,且放在PATH路径的前面,可以被优先搜到



2,  如果库太大可以使NFS挂载,将qt4.3.5源码目录的lib文件加,挂载到/mnt/yaffs/lib,文件夹下,在用上面的方法指定LD_LIBRARY_PATH即可



3,  编译好的历程、GCC、qmake、qt库都是一一对应的,它们之间的不同很可能导致一些错误。如 bus error
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线bhwbj
只看该作者 2楼 发表于: 2009-05-27
Qt-Embedded 4 install
 
1、安装Qt-Embedded-linux

安装Qt-Embedded-linux有两种方法,一种是从源码安装,一种是直接安装。如果不需要在PC机上进行Qt-Embedded程序调试,可以不需要安装Qt-x11和Qt-Embedded for x86

(1) 源码安装
首先从 ftp://ftp.trolltech.com/qt/source/ 下载以下源码包:
qt-x11-opensource-src-4.5.0.tar
qt-embedded-linux-opensource-src-4.5.0.tar

安装Qt-x11
# tar jxvf qt-x11-opensource-src-4.5.0.tar
# cd qt-x11-opensource-src-4.5.0
# echo "yes" | ./configure –qvfb  –no-openssl –no-webkit
# make && make install

安装Qt-Embedded for x86
# tar jxvf qt-embedded-linux-opensource-src-4.5.0.tar
# cd qt-embedded-linux-opensource-src-4.5.0
# echo "yes" | ./configure \
-release \
-shared \
-no-qt3support \
-no-xmlpatterns \
-no-svg \
-no-webkit \
-system-zlib \
-qt-gif \
-system-libtiff \
-system-libpng \
-qt-libmng \
-system-libjpeg \
-make libs \
-make tools \
-nomake examples \
-nomake docs \
-nomake demo \
-no-nis \
-no-cups \
-no-iconv \
-no-dbus \
-no-openssl \
-xplatform qws/linux-x86-g++ \
-embedded x86 \
-qt-freetype \
-depths 16,18 \
-qt-gfx-qvfb \
-no-gfx-transformed \
-no-gfx-multiscreen \
-no-gfx-vnc \
-no-gfx-linuxfb \
-qt-kbd-tty \
-qt-kbd-usb \
-qt-kbd-qvfb \
-qt-mouse-pc \
-qt-mouse-qvfb \
-no-glib \
-silent

# make && make install

安装Qt-Embedded for ARM
# tar jxvf qt-embedded-linux-opensource-src-4.5.0.tar
# cd qt-embedded-linux-opensource-src-4.5.0
# echo "yes" | ./configure \
-release \
-shared \
-no-qt3support \
-no-xmlpatterns \
-no-svg \
-no-webkit \
-system-zlib \
-qt-gif \
-system-libtiff \
-system-libpng \
-qt-libmng \
-system-libjpeg \
-make libs \
-make tools \
-nomake examples \
-nomake docs \
-nomake demo \
-no-nis \
-no-cups \
-no-iconv \
-no-dbus \
-no-openssl \
-xplatform qws/linux-arm-g++ \
-embedded arm \
-little-endian \
-qt-freetype \
-depths 16,18 \
-qt-gfx-linuxfb \
-no-gfx-transformed \
-no-gfx-multiscreen \
-no-gfx-vnc \
-no-gfx-qvfb \
-qt-kbd-tty \
-qt-kbd-usb \
-qt-mouse-tslib \
-qt-mouse-pc \
-no-glib \
-silent

# make && make install

2.设置环境变量,例如:
仅当前用户有效(其他用户无效):修改$HOME/.bash_profile,加入:
PATH=/usr/local/Trolltech/Qt-4.3.5/bin:$PATH

所有用户有效(包括root和普通用户):
       修改/etc/profile,加入以下两行(一般在最后一行添加):
export PATH=/usr/local/Trolltech/Qt-4.5.0/bin:$PATH

2、程序调试和帮助

在PC机上调试Qt-Embedded程序的方法为,使用Qt-Embedded for x86的Qt库来编译Qt-Embedded程序,然后使用Qt-x11的qvfb工具仿真调试。下面以demo程序为例:
# tar jxvf demo.tar.bz2
# cd demo
# /usr/local/Trolltech/QtEmbedded-4.5.0/bin/qmake -project
# /usr/local/Trolltech/QtEmbedded-4.5.0/bin/qmake
# make
# /usr/local/Trolltech/Qt-4.5.0/bin/qvfb &
# ./demo -qws

运行以下程序可以查看Qt编程,调试,应用,布署等各方面的帮助。
# /usr/local/Trolltech/Qt-4.5.0/bin/assistant


3、将Qt-Embedded程序运行在目标板上

用Qt-Embedded for ARM编译Qt-Embedded应用程序,以demo为例:
# tar jxvf demo.tar.bz2
# cd demo
# /opt/Trolltech/QtEmbedded-4.5.0/bin/qmake -project
# /opt/Trolltech/QtEmbedded-4.5.0/bin/qmake
# make

将demo程序下载到目标板上,然后就可以运行demo程序。在运行程序前以下环境变量必须已经设置。

export QTDIR=/opt/QtEmbedded-4.5.0
export PATH=$QTDIR/bin:$PATH
export QWS_DISPLAY=LinuxFb:/dev/fb0
export QWS_SIZE=640x480
export QWS_SW_CURSOR=1
export QWS_MOUSE_PROTO=Tslib:/dev/ep93xx_ts
export QWS_KEYBOARD=TTY:/dev/ttyS0
export QT_ONSCREEN_PAINT=0
export PONTERCAL_FILE=/etc/pointercal

export LD_LIBRARY_PATH=$QTDIR/lib:/lib:/usr/lib:$LD_LIBRARY_PATH

export TSLIB_TSDEVICE=/dev/ep93xx_ts
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=/etc/ts.conf
export TSLIB_PLUGINDIR=/lib/ts
export TSLIB_CONSOLEDEVICE=/dev/tty
export TSLIB_FBDEVICE=/dev/fb0
I'm Back!!
当加班已成为习惯
msn:bhwshx@hotmail.com

欢迎交流,人妖除外!!
离线smalltiancai
只看该作者 1楼 发表于: 2009-05-22
解决了 在qvfb的界面设置里面可以改~~~不知道移植到开发板上还需要什么步骤啊 需要移植什么库到开发板上呢??
快速回复
限100 字节
 
上一个 下一个