保证虚拟机linux桥接设好,ubuntu与板子可以相互ping通
1.mkdir /utulinux2.6.24 板子ip:192.168.1.168 主机linux:192.168.1.200
1.tar jxvf s3c2440_recover.20090303.tar.bz2 -C /utulinux2.6.24/
2.gedit /etc/exports
最后加入一行:
/utulinux2.6.24/s3c2440_recover *(rw,sync,no_root_squash)
3.板子超级终端启动设置如下
setenv bootargs 'console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.200:/utulinux2.6.24/s3c2440_recover ip=192.168.1.168:192.168.1.200:192.168.1.1:255.255.255.0:www.yctek.com:eth0:off'
保存修改 : saveenv
5.编辑目标环境下的/etc/profile(/utulinux2.6.24/s3c2440_recover), 在文件后面添加如下内容:
/etc
export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH
export QTDIR=/usr/local/Trolltech/Qt-4.6.3-arm
export QPEDIR=$QTDIR
export T_ROOT=/opt/ts
export PATH=$T_ROOT/bin:$PATH
export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export TSLIB_CONSOLEDEVICE=none
export TSLIB_FBDEVICE=/dev/fb0
export TSLIB_TSDEVICE=/dev/event0
export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
export TSLIB_CALIBFILE=/etc/pointercal
export QWS_KEYBOARD=USB:/dev/input/event1
export QWS_MOUSE_PROTO=Tslib:/dev/event0
export QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0
export QWS_SIZE=320x240
6.在目标环境中建立与编译QT-arm一样的路径: (/utulinux2.6.24/s3c2440_recover)
mkdir /usr/local/Trolltech/Qt-4.6.3-arm
cd /usr/local/Trolltech/Qt-4.6.3-arm
mkdir lib/
mkdir lib/fonts/
把以下的库文件从编译主机中的lib复制目录中的四个库文件复制到目标板的/usr/local/Qt-4.6.3-arm/lib
libQtCore.so.4.6.3
libQtGui.so.4.6.3
libQtNetwork.so.4.6.3
libQtSql.so.4.6.3
为每个库文件创建3个连接:*.so,*.so.4,*.so.4.6
常用字库文件从/usr/local/Trolltech/Qt-4.6.3-arm/lib/fonts/复制到目标板的
/utulinux2.6.24/s3c2440_recover/usr/local/Trolltech/Qt-4.6.3-arm/lib
/usr/local/Qt-4.6.3/lib/fonts/
7.
1:将/opt下交叉编译好的tslib文件cp到开发板中对应的同样目录下,其中的include目录和lib下的pkgconfig目录可以不拷贝。
进入到/opt 复制ts目录
cp -rf ts /utulinux2.6.24/s3c2440_recover/opt/
2:检查/utulinux2.6.24/s3c2440_recover/opt/
ts/etc/ts.conf内容加入 module_raw input:
module_raw input
module pthres pmin=1
module variance delta=30
module dejitter delta=100
module linear
8.cd /usr/local/Trolltech/Qt-4.6.3-arm/mkspecs/default
修改qmake配置文件:
gedit qmake.conf 打开文件中在QMAKE_LINK_SHLIB 此行下面加入一行:
QMAKE_LFLAGS += -Wl -lts 加入后如下:
# modifications to g++.conf
QMAKE_CC = arm-linux-gcc
QMAKE_CXX = arm-linux-g++
QMAKE_LINK = arm-linux-g++
QMAKE_LINK_SHLIB = arm-linux-g++
QMAKE_LFLAGS += -Wl -lts
# modifications to linux.conf
QMAKE_AR = arm-linux-ar cqs
QMAKE_OBJCOPY = arm-linux-objcopy
QMAKE_STRIP = arm-linux-strip
load(qt_config)
9.将例子hellowrld 拷贝到/utulinux2.6.24/s3c2440_recover/usr 下测试
在串口终端进入文件夹中 ./helloworld -qws
10.错误解决方法:
提示:./helloworld: error while loading shared libraries: libts-0.0.so.0: cannot open
shared object file: No such file or directory
Ts触摸屏驱动有问题,解决方法看路径是否对。
错误:
./helloworld: error while loading shared libraries: libstdc++.so.6: cannot open
shared object file: No such file or directory
对应文件拷贝链接:
进入目标系统lib目录下:
ln -s libstdc++.so.60.0.3 libstdc++.so.6
错误:
Cannot create Qt for Embedded Linux data directory: /tmp/qtembedded-0
Aborted
在目标板根目录下创建文件夹:
mkdir tmp
11.重启nfs服务:
/etc/init.d/nfs-kernel-server restart
重启板子 reboot
12.校准:(遇到错误提示如下)
Could not read calibration: "/etc/pointercal"
超级终端命令行输入: ts_calibrate 运行
在触摸屏上点击鼠标跟踪。
13.重新再运行helloworld
14.想要板子开机运行程序 要挂载电脑端的utulinux目录
首先启动utubootloader 运行: setenv bootargs
saveenv 启动后运行:
mount -t nfs 192.168.1.200:/utulinux2.6.24/s3c2440_recover /mnt
(挂载不了重启板子 reboot)
15.将对应的nfs目录的链接库 目录文件夹拷贝到linux下
cp hello /utulinux2.6.24/s3c2440_recover/usr/local/
source /usr/local/Trolltech/Qt-4.6.3-x86/setenv.sh
qvfb &
ln -s libstdc++.so.60.0.3 libstdc++.so.6
mkdir tmp