感謝 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同學。
本人語言比較凌亂希望大家諒解。如果有轉帖的同志希望不要把我的鳴謝去掉,我的地址無所謂。希望那些幫助過別人的人能得到他該有的回報。