Redhat-Enterprise5下配置QT-ARM-Linux交叉编译环境(Tiny6410).docx_第1页
Redhat-Enterprise5下配置QT-ARM-Linux交叉编译环境(Tiny6410).docx_第2页
Redhat-Enterprise5下配置QT-ARM-Linux交叉编译环境(Tiny6410).docx_第3页
Redhat-Enterprise5下配置QT-ARM-Linux交叉编译环境(Tiny6410).docx_第4页
Redhat-Enterprise5下配置QT-ARM-Linux交叉编译环境(Tiny6410).docx_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Redhat-Enterprise5下配置QT-ARM-Linux交叉编译环境(Tiny6410) 目录Redhat-Enterprise5下配置QT-ARM-Linux1一、tiny6410开发板安装linux系统(简略说明)2二、虚拟机下安装redhat-enterprise5(简略说明)2三、建立局域网通信下载环境2四、建立交叉编译环境arm-linux-gcc3五、安装QTE和QT-SDK4六、x86下开发QT小程序演示6七、交叉编译QT小程序8八、移植到Tiny6410开发板上10九、编写配置环境变量shell文件,移植到Tiny6410开发板上13十、把触屏库tslib移植到Tiny6410开发板上15一、 tiny6410开发板安装linux系统(简略说明)1. 准备工作:硬件:tiny6410开发板,usb下载线,串口线和usb转串口线,交叉网线一根, SD卡和读卡器软件:二、 虚拟机下安装redhat-enterprise5(简略说明)安装时注意:把KDE选上,网络选择桥接,所需要的服务选上。三、 建立局域网通信下载环境1. 给开发板安装linux操作系统(略)。2. 虚拟机网络选择了与windows7桥接,目的是使虚拟机的redhat linux与windows7同一个网络。开发板只需要通过一根交叉网线,与PC及相连,并且pc机的有线网卡设置一个与开发板同一个网络的IP,然后让虚拟机下的linux系统自动获取IP。3. 文件传输:虚拟机linux与windows:(1) 在linux下建立samba服务器,windows访问;(2) 在windows下建立iis服务器,linux下放分windows的FTP服务器虚拟机/windows访问开发板:(1) 在超级终端下通过串口传输/下载。(2) 在linux下通过建立nfs服务器进行文件传。(3) 通过FTP服务器进行访问。 在开发板已经下载好系统的情况下,可以不再使用串口,因为串口很多时候导致PC机蓝屏,所以建议在控制开发板的时候不使用串口线+超级终端,使用网线建立局域网,用telnet访问开发板;下载到开发板的时候使用ftp。(在04- Tiny6410 Linux开发指南-20110809有详细介绍)。四、 建立交叉编译环境arm-linux-gcc1. 将arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz复制到red hat某个目录下如tmp/,然后进入到该目录,执行解压命令:#cd /tmp #tar xvzf arm-linux-gcc-4.5.1-v6-vfp-20101103.tgz C / 注意:C后面有个空格,并且C是大写的,它是英文单词“Change”的第一个字母,在此是改变目录的意思。执行该命令,将把arm-linux-gcc安装到/opt/FriendlyARM/toolschain/4.5.1目录。2.#gedit /root/.bashrc 编辑/root/.bashrc 文件,注意“bashrc”前面有一个“.”,修改最后一行为 export PATH=$PATH: /opt/FriendlyARM/toolschain/4.5.1/bin,注意路径一定要写对,否则将不会有效。重新登录系统(不必重启机器,开始-logout 即可),使以上设置生效,在命令行输入arm-linux-gcc v,会出现如下信息,这说明交叉编译环境已经成功安装。五、 安装QTE和QT-SDK1.#tar -zxvf arm-qte-4.7.0-20101105.tar.gz 先解压到/opt/FriendlyARM/Tiny6410/linux/下#cd /opt/FriendlyARM/Tiny6410/linux/arm-qte-4.7.0# ./build-all 这个过程将十分漫长,根据机器配置不同,会有不同的编译时间,请耐心等待。当顺利执行完毕,再运行mktarget脚本,将会从编译好的目标文件目录中,提取出必要的QtE-4.7.0库文件和可执行二进制示例,并打包为target-qte-4.7.0.tgz,把它在开发板的根目录下解压,就可以使用了,如下命令#tar xvzf target-qte-4.7.0.tgz C /这样,就会在/usr/local/目录下创建生成Trolltech目录,它里面包含了运行所需要的所有库文件和可执行程序。2. 给redhat linux安装QT-SDK(QT-creator)#tar -zxvf x86-qte-4.6.1-20100201.tar.gz 先解压到/opt/FriendlyARM/Tiny6410/linux/下然后:把qt-sdk-linux-x86-opensource-2010.01.bin拷贝到/opt目录下。然后再终端里执行:# chmod u+x qt-sdk-linux-x86-opensource-2010.05.1.bin# ./qt-sdk-linux-x86-opensource-2010.05.1.bin直到QT-creator安装完毕,则桌面显示:u 但是,这样就能完成所有的工作了吗?答案是否定。当你建立了一个简单的工程后,点击:你会发现编译失败:/opt/qtsdk-2010.02/qt/lib/libQtGui.so: undefined reference to FcFreeTypeQueryFace或者是显示返回 1失败如果是这样情况,先别急,打个补丁就OK.在文件夹中找到执行以下命令:#tar -zxf fontconfig-2.10.93.tar.gz#cd fontconfig-2.10.93# ./configure -prefix=/usr# make# make install最后在终端中直接运行这条语句:LIBS+=-L/opt/fontconfig-2.7.0/lib然后再回到工程编译:成功编译六、 x86下开发QT小程序演示1. 先打开QT-creator,建立一个新QT-gui工程需要注意的是:建立好工程后,设计如下界面:选中“ = ”按键,点击“右键”,选择:go to slot添加如下代码:void Widget:on_pushButton_clicked() ui-txt_sum-setText(); if(ui-txt_add1-text().isEmpty()|ui-txt_add2-text().isEmpty() return; bool ok =false; int x = ui-txt_add1-text().toInt(&ok); if(!ok) ui-txt_add1-setText(); return; ok=false; int y =ui-txt_add2-text().toInt(&ok); if(!ok) return; ui-txt_sum-setText(QString:number(x+y);“关闭”按钮同样操作。最后一步是编译:在x86平台上运行成功七、 交叉编译QT小程序1. 配置交叉编译步骤1:点击“+”号,把/usr/local/Trolltech/QtEmbedded-4.7.0-arm/bin/qmake选上点击“OK”。使用QTE的qmake步骤2:Projects把红色选项选择好。点击编译,其实这次是交叉编译,与上一次的编译已经不同我们可以利用file来看看我们交叉编译好的工程。已经是ARM上的可执行文件了。八、 移植到Tiny6410开发板上使用telnet访问远程开发板,并且控制开发板(代替串口+超级终端),使用ftp把程序下载到开发板。步骤1:telnet 30回车然后输入root,回车。(开发板登陆名为root,默认没有密码)登陆后:可以ls步骤2:在redhat linux下启动FTP注意:如果你需要把某个文件目录下的文件进行传输,就必须进入到那个目录下,在使用FTP,否则传输时候又麻烦地选择目录。可以看到pwd的目录是:/opt/project/Hello#ftp 30 回车开发板上的ftp服务器账号为plg,密码也是plg,开发板上的ftp绑定目录为/home/plg/,就是说我们下载到开发板上的文件在/home/plg/下登陆ftp后ftpbin 回车ftpput Hello (Hello是你所需要传输的文件,是刚才编译好的可执行文件)我们可以再telnet终端上看到:我们可以看到开发板上已经有Hello文件,改变Hello的权限,然后看到Hello的颜色改变了,证明已经成功改变权限然后拷贝到/bin/目录下但是现在还不能运行九、 编写配置环境变量shell文件,移植到Tiny6410开发板上编写以下shell代码:#!/bin/shif -e /etc/friendlyarm-ts-input.conf ; then. /etc/friendlyarm-ts-input.conffitrue $TSLIB_TSDEVICE:=/dev/touchscreenTSLIB_CONFFILE=/etc/ts.confexport TSLIB_TSDEVICEexport TSLIB_CONFFILEexport TSLIB_PLUGINDIR=/usr/lib/tsexport TSLIB_CALIBFILE=/etc/pointercalexport QWS_DISPLAY=:1export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATHexport PATH=/bin:/sbin:/usr/bin/:/usr/sbin:/usr/local/binif -c /dev/touchscreen ; thenexport QWS_MOUSE_PROTO=Tslib MouseMan:/dev/input/miceif ! -s /etc/pointercal ; thenrm /etc/pointercal/usr/bin/ts_calibratefielseexport QWS_MOUSE_PROTO=MouseMan:/dev/input/micefiexport QWS_KEYBOARD=TTY:/dev/tty1 export HOME=/root此代码在文件夹下文件的env 没有扩展名。# chmod +x /bin/env 改变以下权限#. env (注意. 与env是有一个空格)如果运行没有出错,则可以移植到开发板上的/bin/目录下注意:env需要移植到开发板上的,开发板上的操作系统是linux,如果以上代码是在windows上编写,然后复制到linux下的,运行. env则会出错,因为windows与linux的换行符不一致问题,使用#doc2unix env转换命令就OK了。Hello和env都移植到开发板/bin/目录下,现在可以在开发板上运行了。第一次运行:#. env#Hello -qws在开发板上我们可以看到已经跑起来了。可是不能点击啊,因为没有给开发板移植触屏库十、 把触屏库tslib移植到Tiny6410开发板上在问价夹了可以找到步骤1:安装先解压:#tar -zxvf tslib-1.4.tar.gz# ./autogen.sh 生成配置文件# CC= $ARM_TOOL_PATH/arm-linux-gcc# X= $ARM_TOOL_PATH/arm-linux-g+# ./configure -prefix=/usr/local/tslib-1.4 -host=arm-linux ac_cv_func_malloc

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论