感谢支持
我们一直在努力

ARM9开发板Qt环境的搭建

注意:不要使用自带或使用apt-get 安装的 QT,如有,则删除。开发板须能挂载NFS。本文采用了别人的教材,只是自己稍加上修改,因为刚开始找文件做的时候发现很多容易出错的,这里都加以说明了


所需原文件:


a. arm-linux-gcc-3.4.1.tar.bz2


 b. Qt-4.6.3-arm.tar.bz2


c. Qt-4.6.3-x86.tar.bz2


d. Qt-4.7.0.tar.bz2


e. Qt-sdk-linux-x86-opensource_2010.02.bin


f. tslib-1.4.tar.gz


操作步骤:


1、检查电脑上有没有g++ : g++ –version,


如果没有,请使用下面命令安装: sudo apt-get install g++


2、检查有没有arm-linux-gcc: arm-linux-gcc –version,


  如果没有,请使用步骤4 进行安装,如果有,则跳 过步骤4、


4、解压arm-linux-gcc-3.4.1.tar.bz2


sudo tar jxvf arm-linux-gcc-3.4.1.tar.bz2 -C / 自动解压到usr/local


进入/usr/local/arm/3.4.1/bin/ 输入pwd


设置到环境变量:sudo gedit /etc/environment


在其中按照格式添加::/usr/local/arm/3.4.1/bin (arm-linux-gcc 路径)



保存后source /etc/environment (使刚才的环境变量生效)


arm-linux-gcc 检查是否命令是否存在


5、解压安装触摸屏驱动


 # sudo apt-get install libtool
 # sudo apt-get install autoconf
 #sudo apt-get install automake
 #tar xzvf tslib-1.4.tar.gz
 #cd tslib
 # ./autogen.sh
 # CC=arm-linux-gcc
 # echo “ac_cv_func_malloc_0_nonnull=yes” > arm-linux.cache
 # ./configure –prefix=/opt/ts/ –host=arm-linux –cache-file=arm-linux.cache
 # make
 # sudo make install


可能有参数错误在文件下/tests/calibrate.c 文件的227、229 行参数后面补0 再重新


make


6、把编译好的触摸屏驱动加到板子上


6.1、将交叉编译好的ts 文件cp 到开发板中对应的目录下,其中的include


目录和lib 下的pkgconfig 目录可以不拷贝。


cp -rf /opt/ts /home/zrx/s3c2440_recover/opt/ts ?注意这个路径


你的主机NFS 文件地址


6.2、检查ts/etc/ts.conf 内容:


1 module_raw input #把第二行前面的“# ”去掉
2 module pthres pmin=1
3 module variance delta=30
4 module dejitter delta=100
5 module linear

注意去掉“#”号时,前面的空格一定要去掉,否则后面会出段错误。

7、ARM 板上配置环境: (板子和电脑之间)


编辑目标环境下(/home/zrx/s3c2440_recover/etc)的/etc/profile, 在文件后面添加如


下内容:


 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=320×240


5、拷贝QT 库文件


在目标环境中(/home/zrx/s3c2440_recover)


建立与编译QT-arm 一样的路径:


mkdir /usr/local/Trolltech/Qt-4.6.3-arm/lib /fonts/


上面要逐级建立目录


cp -rf /usr/local/Trolltech/Qt-4.6.3-arm/lib/fonts


/home/zrx/s3c2440_recover/usr/local/Trolltech/Qt-4.6.3-arm/lib ??注意这个路径


主机NFS


把以下的库文件从编译主机中的lib (/usr/local/Trolltech/Qt-4.6.3-arm/lib)复制目录中


的四个库文件复制到


目标板的lib (/home/zrx/s3c2440_recover/usr/local/Trolltech/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 *.so.4.6.3,可以使用如下命令:


ln –s libQtCore.so.4.6.3 libQtCore.so.4.6
ln –s libQtCore.so.4.6.3 libQtCore.so.4
ln –s libQtCore.so.4.6.3 libQtCore.so


ln –s libQtCore.so.4.6.3 libQtGui.so.4.6
ln –s libQtCore.so.4.6.3 libQtGui.so.4
ln –s libQtCore.so.4.6.3 libQtGui.so


ln –s libQtCore.so.4.6.3 libQtNetwork.so.4.6
ln –s libQtCore.so.4.6.3 libQtNetwork.so.4
ln –s libQtCore.so.4.6.3 libQtNetwork.so


ln –s libQtCore.so.4.6.3 libQtSql.so.4.6
ln –s libQtCore.so.4.6.3 libQtSql.so.4
ln –s libQtCore.so.4.6.3 libQtSql.so


这些命令一定要用手写才能运行正确


其他几个文件操作相同


常用字库文件wenquanyi_120_50.qpf 复制到NFS 目标板共享目录下的的


usr/local/Qt-4.6.3/lib/fonts/


 


6、启动开发板,并且使用刚才配置的NFS 的共享目录作为开发板的文件系统,


进入bootloader 后,设置启动参数:


1 setenv bootargs console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.200:/home/fox/utuLinux2.6.24/s3c2440_recover_nogui ip=192.168.1.168:192.168.1.200:192.168.1.1:255.255.255.0:www.huiwen.com:eth0:off 

楼上的命令行主要,他是一句,中间有空格没有回车


注意:/home/(用户自己)/utuLinux2.6.24/s3c2440_recover_nogui
其中192.168.1.200是开发板服务的地址,可能是你的电脑或者是虚拟机的ip


保存启动参数:saveenv


boot 启动后可以看看env 命令输出的内容中有没有前面设置的环境变量,还可以启


动后对tslib 进行校准,输入命令:ts_calibrate,也可以使用命令ts_test 对tslib 进


行测试。

7、测试运行


编写一个简单的helloQT.cpp


#include <QApplication>
 #include <QLabel>
 int main(int argc, char *argv[])
 {
 QApplication app(argc,argv);
 QLabel label(“Hello World !”);
 label.show();
 return app.exec();
 }


7.1、然后重新打开终端窗口,依次输入如下命令:


1 ~$ source /usr/local/Trolltech/Qt-4.7.0/setenv.sh
2 ~$ qmake –project
3 ~$ qmake
4 ~$ make
5 ~$ ./helloQT

 


这些命令要用手动敲入,并且一个.cpp文件只能由一个文件夹匹配否则编译的时候会出错,会出现好几个main编译


最后会看到helloQT 的运行结果。


7.2、如果是要进行x86 环境下的helloQT 的测试,则要使用如下的命令:


1 ~$ source /usr/local/Trolltech/Qt-4.6.3-x86/setenv.sh
2 ~$ qmake –project
3 ~$ qmake
4 ~$ make
5 ~$ qvfb –width 320 –height 240 &
6 ~$ ./helloQT -qws

 


7.3、如果要在arm 环境下执行helloQT


1 ~$ source /usr/local/Trolltech/Qt-4.6.3-arm/setenv.sh
2 ~$ qmake –project
3 ~$ qmake
4 ~$ make
5 ~$ cp helloQT /home/zrx/s3c2440_recover/home

 


注意这个路径


启动开发板,并/home/zrx/s3c2440_recover 作为工作文件系统,启


动后在开发板的Linux 中运行如下命令:


1 ~$ ./home/helloQT -qws

 


8 安装Qt-sdk-linux-x86-opensource_2010.02.bin UI 开发环境


1 sudo ./Qt-sdk-linux-x86-opensource_2010.02.bin

 


*注意:


*1. 如果在make 时提示缺少libts.so,这时可以在经过qmake 自动生成的


Makefile 后,打开Makefile,在LFLAGS 中加入-lts


1 LFLAGS = -Wl -lts -Wl,-O1 -Wl,-rpath,/usr/local/Trolltech/Qt-4.6.3-arm/lib

 


*2. 如果在运行的时候提示无法创建/tmp/xxxx, 有在开发板上运行:


mkdir /tmp


*3. 如果在运行时提示缺少libstdc++.so.4,这时可以在开发板Linux 上运


行:


1 ln –s /lib/libstdc++.so.60.0.3 /lib/libstdc++.so.4

赞(0) 打赏
转载请注明出处:服务器评测 » ARM9开发板Qt环境的搭建
分享到: 更多 (0)

听说打赏我的人,都进福布斯排行榜啦!

支付宝扫一扫打赏

微信扫一扫打赏