注意:不要使用自带或使用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、解压安装触摸屏驱动
1 # sudo apt-get install libtool
2 # sudo apt-get install autoconf
3 #sudo apt-get install automake
4 #tar xzvf tslib-1.4.tar.gz
5 #cd tslib
6 # ./autogen.sh
7 # CC=arm-linux-gcc
8 # echo 'ac_cv_func_malloc_0_nonnull=yes' > arm-linux.cache
9 # ./configure --prefix=/opt/ts/ --host=arm-linux --cache-file=arm-linux.cache
10 # make
11 # 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, 在文件后面添加如
下内容:
1 export LD_LIBRARY_PATH=/lib:$LD_LIBRARY_PATH
2 export QTDIR=/usr/local/Trolltech/Qt-4.6.3-arm //注意这个路径
3 export QPEDIR=$QTDIR
4 export T_ROOT=/opt/ts 注意这个路径
5 export PATH=$T_ROOT/bin:$PATH
6 export LD_LIBRARY_PATH=$T_ROOT/lib:$QTDIR/lib:$LD_LIBRARY_PATH
7 export TSLIB_CONSOLEDEVICE=none
8 export TSLIB_FBDEVICE=/dev/fb0
9 export TSLIB_TSDEVICE=/dev/event0
10 export TSLIB_PLUGINDIR=$T_ROOT/lib/ts
11 export TSLIB_CONFFILE=$T_ROOT/etc/ts.conf
12 export TSLIB_CALIBFILE=/etc/pointercal
13 export QWS_KEYBOARD=USB:/dev/input/event1
14 export QWS_MOUSE_PROTO=Tslib:/dev/event0
15 export QWS_DISPLAY=LinuxFb:mmWidth45:mmHeight60:0
16 export QWS_SIZE=320x240
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
1 #include 2 #include 3 int main(int argc, char *argv[]) 4 { 5 QApplication app(argc,argv); 6 QLabel label('Hello World !'); 7 label.show(); 8 return app.exec(); 9 } 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
上一篇:ARM9无线遥控视频实时监控小车(二)--------摄像头舵机控制模块
下一篇:【嵌入式】用Qt给ARM9(mini2440)添加软件键盘,添加动态链接库
推荐阅读最新更新时间:2024-11-02 16:05
设计资源 培训 开发板 精华推荐
- STEVAL-ILL058V1,基于 STAP08DP05 和 STM8AF 的评估板 具有汽车应用诊断功能的高亮度 LED 阵列驱动器
- LT3091EDE 负载共享无镇流器的典型应用(使用 IMONP)
- LTC3890HUH 高效双路 24V/5V 降压转换器的典型应用电路
- esp8266开发板v2.0
- NCV881930MW00-33GEVB:汽车低 Iq 410 kHz 同步降压控制器,3.3 V - 6A 评估板
- 显示 A8513 LED 驱动器的 SEPIC 配置的典型应用
- EVAL-AD7172-4SDZ,评估具有真正轨到轨缓冲器的 AD7172-4 低功耗、24 位、31.25 Ksps Sigma-Delta ADC
- 使用 Analog Devices 的 LT1107CS8-5 的参考设计
- UC3845B 升压电荷泵转换器的典型应用
- HV9930DB1,满足汽车要求的高亮度 LED 驱动器演示板