嵌入式实验2
作者:互联网
实验2 嵌入式系统开发环境实验
实验日期: 年 月 日
实验目的 |
1.了解交叉编译的概念、交叉编译工具; 2.掌握宿主PC机端的开发环境的建立。 |
实验仪器 |
PC机、嵌入式系统实验箱、网线、串口线。 |
实验原理 |
1.GCC编译器 GCC编译器能将C、C++语言源程序、汇编语言源程序和目标程序编译、连接成可执行文件,如果没有给出可执行文件的名字,GCC将自动生成一个名为a.out的文件。 2.GCC的执行过程 预处理(也称预编译,Preprocessing)、编译(Compilation)、汇编(Assembly)和连接(Linking)。 |
实验内容及步骤 |
实验内容: 在Fedora中下载、配置minicom、用NFS挂载网络文件系统、下载并安装java、valgrind、arm-linux-gcc-4.2.2等交叉编译软件 实验步骤: 1.准备工作 在联网的情况下,在终端输入相应的命令安装gedit插件,利用相应的命令配置minicom 2.安装arm-none-linux-gcc交叉编译器: (1)打开虚拟机,拖动arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2文件到虚拟机里面,右键解压到桌面或者打开终端输入解压命令“tar zvxf 压缩包全名”解压,输入 sudo su 切换为超级用户后,通过输入cp -r arm-2014.05 /opt,把解压文件移动到opt/arm-2014.05/目录下,该目录的bin目录下有很多工具,其中就有arm-none-linux-gcc,想要在任何目录下使用这个工具,就得对环境变量进行配置,具体配置方法如下: 修改/etc/profile文件: # vim /etc/profile 增加路径设置,在末尾添加如下,保存/etc/profile文件: export PATH=$PATH:/opt/arm-2014.05/bin 蓝色部分是你的工具路径,根据各人的情况而定。 接下让修改的环境变量生效而不用重启就的输入以下命令 $ source /etc/profile 检查是否将路径加入到PATH: # echo $PATH 显示的内容中有/usr/local/FriendlyARM/toolschain/4.4.3/bin,说明已经将交叉编译器的路径加入PATH。至此,交叉编译环境安装完成。 测试是否安装成功 # arm-none-linux-gcc -v 出来版本信息代表成功 (!!注意:如果是64位系统,编译文件时提示出错: No such file object file,输入以下命令:sudo apt-get install lib32stdc++6安装32位的包即可) 3.安装Qt 把Qt的安装文件qt-opensource-linux-x64-5.9.3.run拖到虚拟机的桌面,*.run文件是可以直接在虚拟机中双击安装运行的,双击运行,弹出对话框点击Next。
安装都是选择路径一直下一步就完成了,完成后的界面如下: 这个是Qt Creator,包含了Qt库文件,拥有更加人性化的界面,桌面上没有图标,在电脑上的左下角点击搜索按钮输入一个Q就可以出来。 4.交叉编译QT源码 下载好了qt-everywhere-opensource-src-5.7.0.tar.gz拖到虚拟机中的/home/pier/now下,输入tar -vxf qt-everywhere-opensource-src-5.7.0.tar.gz解压Qt源码的压缩包文件,然后输入cd qt-everywhere-opensource-src-5.7.0进入该文件夹目录,修改交叉编译架构用到的信息: 输入gedit qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf 出来如下的文本信息,修改下方的红色部分文件路径为自己的对应工具路径,其中的o2是字母o而不是数字0 # # qmake configuration for building with arm-linux-gnueabi-g++ # MAKEFILE_GENERATOR = UNIX CONFIG += incremental QMAKE_INCREMENTAL_STYLE = sublib QT_QPA_DEFAULT_PLATFORM = linux #eglfs QMAKE_CFLAGS_RELEASE += -o2 -march=armv7-a QMAKE_CXXFLAGS_RELEASE += -o2 -march=armv7-a include(../common/linux.conf) include(../common/gcc-base-unix.conf) include(../common/g++-unix.conf) # modifications to g++.conf QMAKE_CC = arm-none-linux-gnueabi-gcc QMAKE_CXX = arm-none-linux-gnueabi-g++ QMAKE_LINK = arm-none-linux-gnueabi-g++ QMAKE_LINK_SHLIB = arm-none-linux-gnueabi-g++ # modifications to linux.conf QMAKE_AR = arm-none-linux-gnueabi-ar cqs QMAKE_OBJCOPY = arm-none-linux-gnueabi-objcopy QMAKE_NM = arm-none-linux-gnueabi-nm -P QMAKE_STRIP = arm-none-linux-gnueabi-strip load(qt_config) 可参考电脑修改后的截图如下: 创建一个脚本文件,用于生成Makefile,执行命令 gedit autoConfigure.sh 内容如下: #!/bin/sh ./configure \ -v \ -prefix /opt/qt-570 \ -release \ -opensource \ -no-accessibility \ -make libs \ -xplatform linux-arm-gnueabi-g++ \ -optimized-qmake \ -pch \ -qt-sql-sqlite \ -qt-zlib \ -tslib \ -no-opengl \ -no-sse2 \ -no-openssl \ -no-nis \ -no-cups \ -no-glib \ -no-pkg-config \ -no-separate-debug-info \ -I/home/pier/yun/tslib/include -L/home/pier/yun/tslib/lib 相应的路径一定要正确。 执行命令: chmod 777 autoConfigure.sh ./autoConfigure.sh 弹出如下对话框,输入yes或者y 等待一段时间过后,出来如下窗口,提示你输入make,然后执行make install,这里选择先输入make -j4(表示四线程,速度更快,不到1小时) 然后等待直到完成make命令,接下来输入make install,开始交叉编译qt到/opt/qt-570目录下。 可能会出来如下提示错误,不用担心,其实并不影响,已经交叉编译了触摸屏tslib,虚拟键盘什么的不需要。 进入到/opt目录下看看有没有qt-570目录生成,有的话代表已经成功了。 接下来只需要配置好Qtcreator就可以开发了。打开Qtcreator,点击工具/选项/构建与运行/编译器,配置如下 到此,QT配置完成,可以写程序开发了。 |
数据处理及结论 |
|
实验心得体会 |
通过本次系统开发环境实验,让我知道了交叉编译的概念及相应的交叉编译工具,掌握宿主PC机端的开发环境的建立的流程,同时学会了安装Qt及如何配置QT相关的开发环境。 |
标签:none,qt,gnueabi,QMAKE,嵌入式,实验,linux,arm 来源: https://blog.csdn.net/qq_38639612/article/details/90264935