感谢 muyuzhu同学(大三很有潜力乐于助人)在他多日的帮助下,终于有了一定的进展,qt文件系统终于制作成功。在此分享一下。
我的平台fl2440 256M nandflash
linux内核为linux2.6.12 (使用原厂修改的自带源码编译得)
busybox-1.17.2 (http://blog.csdn.net/huihui1988/archive/2010/09/06/5867067.aspx )
在etc下在上面基础上添加passwd文件内容为
/etc # cat passwd// 很重要,权限分配有问题
root::0:0:root:/:/bin/sh
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/sbin:
ftp::95:95::/ftp:
nobody:*:99:99:Nobody:/:
#/etc/inittab
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:/sbin/reboot
::shutdown:/bin/umount -a –r
/etc # cat fstab
proc /proc proc defaults 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /dev tmpfs defaults 0 0
cat rcS
#!/bin/sh
ifconfig eth0 192.168.1.15
mount -t tmpfs mdev /dev
mount -t devpts devpts /dev/pts
mount -t sysfs sysfs /sys
mount -a
echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s /dev
编译tslib1.4( http://github.com/kergoth/tslib/downloads )
#./autogen.sh
#./configure –prefix=/home/tslib/ –host=arm-linux ac_cv_func_malloc_0_nonnull=yes
#make
#make install
修改 /tslib/etc/ts.conf
网上很多使用的module_raw input但我的不行
出现错误
xres = 320, yres = 240
selected device is not a touchscreen I understand
。。。。。。
我选用的是
module_raw h3600
我在我的平台上已经没有错误
我直接编译qt-embedded-4.4.3
#./configure -prefix /home/qt4arm -release -shared -fast -pch -no-qt3support -qt-sql-sqlite -no-libtiff -no-libmng -qt-libjpeg -qt-zlib -qt-libpng -qt-freetype -no-openssl -nomake examples -nomake demos -nomake tools -optimized-qmake -no-phonon -no-nis -no-opengl -no-cups -no-xcursor -no-xfixes -no-xrandr -no-xrender -no-xkb -no-sm -no-xinerama -no-xshape -no-separate-debug-info -xplatform qws/linux-arm-g++ -embedded arm -depths 16 -no-qvfb -qt-gfx-linuxfb -no-gfx-qvfb -no-kbd-qvfb -no-mouse-qvfb -qt-kbd-usb -confirm-license -qt-mouse-tslib -qconfig nocursor -I/home/tslib/include -L/home/tslib/lib
#make
#make install
选择你要的库房入文件系统对应文件夹下(最好是和你在host上的文件位置相对应-我一开始没有对应出现很多问题)
设置/etc/profile 文件(听挺重要)
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
export TSLIB_ROOT=/home/tslib
export TSLIB_TSDEVICE=/dev/touchscreen/0raw
export TSLIB_CALIBFILE=/etc/pointercal
export TSLIB_CONFFILE=//home/tslib/etc/ts.conf
export TSLIB_PLUGINDIR=/home/tslib/lib/ts/
export TSLIB_CONSOLEDEVICE=none
export QTDIR=/home/qt4arm
export LD_LIBRARY_PATH=/home/tslib/lib:/lib:/home/qt4arm/lib
export QWS_MOUSE_PROTO=Tslib:/dev/touchscreen/0raw
export TERM=vt102
export SHELL=/bin/sh
export devfs=mount
export USER=root
export PWD=/
export HOME=/usr
最后我在板子里面运行我的qt程序时一开始不接收触屏响应我做了两处的改变
其中一个我在变量里已经改正但另一个是我在制作文件系统是增加了tmp目录里面没有他所要的文件目录(有的话会出权限错误)
我认为是我的变量设置的问题导致了触屏信息不能被qt程序所接受。
最后再次感谢那些版主过我的人如XU同志和日月同光同志。当然muyuzhu同学。
本人语言比较凌乱希望大家谅解。如果有转帖的同志希望不要把我的鸣谢去掉,我的地址无所谓。希望那些帮助过别人的人能得到他该有的回报。