【技术支持】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)添加软件键盘,添加动态链接库

推荐阅读最新更新时间:2024-11-02 16:05

Microchip推出全新8位单片机开发板,可连接5G LTE-M窄带物联网网络
A- 蜂窝迷你开发板是 AVR®系列的产品,为开发人员提供了构建设备的简易蓝图   物联网网络开发人员希望在设计应用中便捷地实现安全蜂窝连接,但却面临着复杂的设计和高昂的部署成本。为了给那些对位置灵活性、低功耗和部署简单性有严格要求的网络设计人员提供解决方案,crochip chnology Inc.(美国微芯科技)今日宣布推出基于AVR128DB48 8位()的AVR-IoT 蜂窝迷你开发板。该解决方案为在窄带物联网网络上构建和执行器节点提供了强大的平台。   AVR-IoT 蜂窝迷你开发板是一款小尺寸(SFF)板,是希望将物联网设备连接到现有5G网络的开发人员的理想解决方案。这对于移动中的设备或位于偏远地
[机器人]
Xpedition再进击 明导触角延伸至系统开发板
明导国际自去年发布了Xpedition PCB后,不论是哪一位高阶主管,都对该工具抱持相当高度的信心与期待,理由在于此一工具对于贯通设计流程有相当的助益,在这边,我们提的设计流程指的是,晶片设计、封装到系统层级布局。 此次明导国际所推出的Xpedition Package Integrator,继承了先前产品诸多的特色与优点,同时也能读取其他竞争对手设计工具的档案格式。此次特地来台介绍产品的高阶主管,除了去年就已经见过的明导国际系统设计事业部业务开发总监David Wiens外,还有同部门的理论架构师John Park。 John Park开宗明义就提到,针对晶片设计、封装再到系统布局,Xpedition Package
[单片机]
44b0x 开发板上的RTC调试经验
当你在调试一块板子时,如果那个家伙对你的努力无动于衷时,你会怎么样。 说实在的,我会经常认为应该把这家伙好好安葬了,不该再在这家伙身上浪费时间了。心里这么想着,行动上却不这么做,因为这些家伙可都是用钱买来的,其能说下葬就下葬。 从昨天下午到今天早上3点多,我花了将近12个小时才把这个板子上的RTC程序调试完成,现在想把我的调试经验 跟大家谈一谈,希望对那些刚起步的人有点帮助。但请那些高手们不要笑我这么长时间才调一个RTC。 我在这里简单地介绍一下44b0x内部集成的RTC的功能: 1、支持闰年; 2、解决了2000; 3、独立的供电功能; 4、支持毫秒滴答(TICK)时间中断作为RTOS核的时间滴答; 5、报警功能。
[单片机]
OK6410A 开发板 (八) 2 linux-5.11 OK6410A linux开发环境搭建
代码 : https://github.com/lisider/linux/tree/ok6410a-linux-5.11 提交id : 4459e78a4d845f08286623b98546bcefbb45ddb9 defconfig : arch/arm/configs/ok6410A_sdboot_mini_net_defconfig 要实现 u-boot tftp uImage uImage 网络挂载 根文件系统 1 TFTP服务器与客户端的安装 2 NFS服务器的安装 3 内核的配置 $ cat arch/arm/configs/ok6410A_sdboot_mini_defconfig
[单片机]
基于ARM9和μC/OSII的多频道数据采集系统的智能化设计
引言 随着IT技术、电子技术、通信技术、以及自动控制技术的飞速发展,对工业现场数据的高速实时采集就成为电子产品和工业控制技术发展不可避免的一个环节。 本文针对高速实时多任务数据采集中的多任务实现算法以及实时性、实效性和高速性的要求,提出了基于ARM9和μC/OSII操作系统的智能化设计方案,实现了任务优先级动态调度、系统工作参数动态设定、系统内部软件智能化设计,针对低速外围设备进行了系统优化,并提高了系统可靠性改善了内部任务同步性。 1 整体电路设计 整个采集系统的硬件电路如图1所示。首先利用多路调制电路对12路信号进行调制,这部分包含相应的信号转换、抗干扰、以及初步的信号处理等,使得各路采集信号能够达到ARM9内核对信号采集的要求
[单片机]
基于<font color='red'>ARM9</font>和μC/OSII的多频道数据采集系统的智能化设计
STM32开发板实验箱8位独立按键测试学习
1、畅学STM32核心板 2、 配套STM32主芯片 F103C8T6 3、 畅学系列STM32实验箱 EESKILL畅学系列多功能开发学习板功能底板,加上配套畅学STM32核心板,再配上专用的超大铝箱即构成了EESKILL畅学STM32开发学习实验箱。 整个开发板由功能主板和扩展核心板组成,扩展核心板可以通过铜柱、螺母固定到底板,组合成为一个多功能开发学习板。功能底板和扩展核心板可以一起使用,也可以分开单独使用,灵活性、扩展性极强。 除STM32核心板之外,畅学系列多功能开发学习板/实验箱还支持以下核心板:  畅学51单片机核心板  畅学PIC单片机核心板  畅学MSP430单片机核心板 (2种)
[单片机]
STM32<font color='red'>开发板</font>实验箱8位独立按键测试学习
Arduino和Atmel发布Arduino Zero开发板
Arduino Zero开发板由Atmel和Arduino联合开发,并由Arduino发布;该板是一个32位演进版本,可促进新一代物联网设备的发展。 中国,北京,2014年5月16日---- 在创客及教育领域领先的开源硬件平台提供商Arduino有限公司和全球微控制器(MCU)及触摸技术解决方案领域的领导者Atmel公司日前联合发布最新款开发板-Arduino Zero。 Arduino Zero是一个由Arduino UNO开发板平台而来的简约大方且功能强大的32位扩展版本。Zero开发板旨在让那些富有创造力的人们为智能物联网设备、可穿戴技术、高科技自动化、机器人技术以及众多尚在酝酿中的项目提供实现创意的平台。该
[嵌入式]
Arduino和Atmel发布Arduino Zero<font color='red'>开发板</font>
STM32开发板电容触摸屏驱动,单点有效
STM32开发板电容触摸屏驱动,单点有效 头文件touch.h: u8 ft5x0x_read_data(void); void ft5x0x_i2c_init(void); struct _ts_event { u16 x1; u16 y1; u16 x2; u16 y2; u16 x3; u16 y3; u16 x4; u16 y4; u16 x5; u16 y5; u8 touch_point; }; extern struct _ts_event ts_event; 源文件cap_touch.c #include stm32f10x_m
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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