【技术支持】ARM9开发板Qt环境的搭建

发布者:SparklingMelody最新更新时间:2024-08-02 来源: cnblogs关键字: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、解压安装触摸屏驱动


 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开发板Qt环境的搭建

上一篇:ARM9无线遥控视频实时监控小车(二)--------摄像头舵机控制模块
下一篇:【嵌入式】用Qt给ARM9(mini2440)添加软件键盘,添加动态链接库

推荐阅读最新更新时间:2026-03-13 10:55

迅为IMX6ULL开发板Qt for Android搭建开发环境
搭建开发环境 1.安装 JDK,选择默认路径,一路点击下一步即可。 安装完成后进入相应的路径查看: 需要注意的问题: (1)建议使用我们提供的版本,如果自己下载可能会出现问题。 (2)建议大家安装到 C 盘下面,不要有中文路径。 2.安装 sdk 和 ndk,直接解压即可,解压的路径不要有中文路径。我这里是解压到了 JDK 的安装路径, 如果 C 盘空间不够可以解压到其他盘,但要记住位置,下面需要用到。 3.配置环境 打开 QTCreator,打开工具- 选项,选择如下图内容: 设置 JDK,SDK.NDK 的路径,如下图: 设置完成以后,我们点击 apply 和 ok 即可。
[单片机]
迅为IMX6ULL<font color='red'>开发板</font><font color='red'>Qt</font> for Android搭建开发<font color='red'>环境</font>
搭建Tiny4412的Qt交叉开发调试环境
前言 最近在学习Tiny4412下的Qt编程。第一步,首先得搭建好交叉开发调试环境。几经折腾之后,总算基本完成。兹整理一下期间的笔记,发到博客上,作为总结。也希望我入过的坑,其他人避免再入 。 另外提一点(也是事后查网才了解到的),目前业界流行Yocto/OpenEmbedded框架,很多厂商使用这个框架来构建分发开发板的BSP(包括kernel,rootfs,toolchain、gdb、库以及qt的库等),用户可以直接基于该BSP来搭建Qt交叉开发环境,从而免去自己搭建环境时所遇到的诸如依赖库缺失、toolchain版本不匹配等问题,节约了不必要的时间成本。相关案例非常多,“参考资料2~5”里列了几个例子(都未经验证,仅供参考)
[单片机]
搭建Tiny4412的<font color='red'>Qt</font>交叉开发调试<font color='red'>环境</font>
【嵌入式】用QtARM9(mini2440)添加软件键盘,添加动态链接库
    以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载     其他的动态添加链接库的方法是一样的     账号:sharefromfox@163.com 密码:3.1415926     以下四个文件可以到快盘中嵌入式的文件夹KeyPad中下载     其他的动态添加链接库的方法是一样的     账号:sharefromfox@163.com 密码:3.1415926     第一步:     先修改五个文件的使用权限,最好都是777     (sudo)Chomd 777 +(文件名)     将libQSoftKeypad.so.1.0.0库文件拷贝到/usr/local/lib
[单片机]
【嵌入式】用<font color='red'>Qt</font>给<font color='red'>ARM9</font>(mini2440)添加软件键盘,添加动态链接库
linux 2.6.32 在arm9(s3c2440)平台的移植 - 标题要长(2)
(1) s3c2440平台关于nand flash部分的代码, 在你弄清楚移植代码的每一个步骤是为什么之前,不要去做所谓的移植,那是毫无意义的 *****/arch/arm/plat-s3c24xx/common-smdk.c***** static struct mtd_partition smdk_default_nand_part = { = { .name = supervivi , .size = 0x00040000, .offset = 0, }, = { .name =
[单片机]
ARM9 S3C2440 定时器中断
在讲解之前,先介绍一下s3c2440时钟系统。一般来说,MCU的主时钟源主要是外部晶振或外部时钟,而用的最多的是外部晶振。在正确情况下,系统内所使用的时钟都是外部时钟源经过一定的处理得到的。由于外部时钟源的频率一般不能满足系统所需要的高频条件,所以往往需要PLL(锁相环)进行倍频处理。在s3c2440中,有2个不同的PLL,一个是MPLL,另一个是UPLL。UPLL是给USB提供48MHz。在这里,我们主要介绍MPLL。外部时钟源经过MPLL处理后能够得到三个不同的系统时钟:FCLK、HCLK和PCLK。FCLK是主频时钟,用于ARM920T内核;HCLK用于AHB总线设备,如ARM920T,内存控制,中断控制,LCD控制,DMA
[单片机]
ARM9芯片和S3C2440嵌入式系统为核心的以太网接口电路设计
1.引言 随着微电子技术和计算机技术的发展,嵌入式技术得到广阔的发展,已成为现代工业控制、通信类和消费类产品发展的方向。以太网在实时操作、可靠传输、标准统一等方面的卓越性能及其便于安装、维护简单、不受通信距离限制等优点,已经被国内外很多监控、控制领域的研究人员广泛关注,并在实际应用中展露出显着的优势。本文提出了一种基于DM9000AE网络接口芯片和32位三星ARM9处理器S3C2440嵌入式系统的以太网接口的设计方案,并在Windows CE操作系统上开发移植了网络驱动程序实现网络的接入。 2. DM9000AE工作原理 2.1 DM9000的主要特性和总体结构 DM9000AE是DEVICOM(台湾联杰国际)研发的一款10/
[单片机]
以<font color='red'>ARM9</font>芯片和S3C2440嵌入式系统为核心的以太网接口电路设计
基于ARM9芯片的S3C2440和Linux操作系统设计SPI驱动程序
  在嵌入式开发过程中,许多系统通常使用串口驱动来满足通信要求,但在实际应用中,使用SPI通信方式会更加高效和快捷[2]。SPI接口是一种高速、高效的串行接口技术,因而SPI设备在数据通信应用中十分方便[3]。本文基于ARM9芯片的S3C2440和Linux操作系统,设计了一种SPI驱动程序,该驱动程序功能可靠灵活、易于移植,可应用于多种嵌入式平台,实现ARM与设备之间的通信。   1 硬件说明   1.1 S3C2440开发平台   采用三星公司的SoC芯片S3C2440[4]作为核心处理器,主频为400 MHz,并与64 MB SDRAM和64 MB NAND Flash共同组成核心部分。此外,该平台也为用户提供了大量的通
[单片机]
基于<font color='red'>ARM9</font>芯片的S3C2440和Linux操作系统设计SPI驱动程序
小广播
最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

厂商技术中心

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2026 EEWORLD.com.cn, Inc. All rights reserved