交叉编译以及远程调试

交叉编译以及远程调试

ID:19668358

大小:89.50 KB

页数:6页

时间:2018-10-04

交叉编译以及远程调试_第1页
交叉编译以及远程调试_第2页
交叉编译以及远程调试_第3页
交叉编译以及远程调试_第4页
交叉编译以及远程调试_第5页
资源描述:

《交叉编译以及远程调试》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、五、交叉编译以及远程调试一、实验目的1.掌握交叉编译的概念2.学会使用远程调试工具调试实验平台上的程序二、实验内容比较交叉编译和以往本机编译的不同,通过使用gdbserver和arm-linux-gdb来远程调试实验平台上的应用程序三、预备知识1.有C语言基础2.掌握在Linux下常用编辑器的使用3.掌握Makefile的编写和使用4.掌握Linux下的程序编译过程四、实验设备及工具硬件:UP-TECHPXA270实验平台、PC机Pentium500以上,硬盘10G以上软件:PC机操作系统REDHATLINUX9.0+MINICOM+ARM-LINUX开发环境五、实验原理1.交叉编译很

2、多从事Windows下程序设计的工程师转到嵌入式的时候,都会对交叉编译这个概念比较糊涂。在写这个实验的时候就是为了让各位读者能够体会出交叉编译和本机上的编译有什么区别,对这个概念明确以后很多编译上的困惑可能都会迎刃而解。交叉编译这个概念很早就已经存在了,它指的是在一种体系结构的系统下编译出能够在另外一种体系结构的系统下运行的程序。对于UP-TECHPXA270实验平台而言,我们的开发环境是在基于X86结构的Linux系统下,而我们平台的运行环境是基于ARM的Linux系统。在我们X86的机器上编译出能在arm平台上跑的应用程序就需要一整套交叉编译工具,这套工具运行在X86的平台上,但它

3、编译出的程序却不能运行在X86的平台上,而只能运行在基于ARM的板子上。我们可以通过Linux下的file命令来查看一个文件究竟是运行在X86下的还是运行在arm上的。X86结构:[zxt@BC01_hello]$filehellohello:ELF32-bitLSBexecutable,Intel80386,version1(SYSV),forGNU/Linux2.2.5,dynamicallylinked(usessharedlibs),notstrippedARM结构:[zxt@BC01_hello]$filemystarmystar:ELF32-bitLSBexecutable

4、,ARM,version1(ARM),forGNU/Linux2.4.3,dynamicallylinked(usessharedlibs),notstripped常用的交叉编译工具一般都是以某一种体系结构为头进行表示的,下面列出一些常用的交叉编译工具名称的头:表4-1交叉编译工具头实际的目标板交叉编译工具头PowerPCpowerpc-linux-ARMarm-linux-MIPS(bigendian)mips-linux-MIPS(littleendian)mipsel-linux-以这些名称为头的交叉编译工具其实和我们常用的在PC机上的编译工具所做的工作都是一样的,只要我们能够明

5、白这其实也是一种编译工具即可。这些交叉编译工具的用法和PC上的编译工具的用法是一样的。2.远程调试要使用gdb的远程调试功能,我们需要对gdb源码进行编译,生成相应的调试工具,arm-linux-gdb和gdbserver。首先需要下载gdb的源码,目前gdb的最新版本是6.4版,可以在gnu的网站上下载,http://ftp.gnu.org/gun/gdb/下载最新的源码gdb-6.4.tar.gz后,需要建立一个编译该源码的目录结构,分别用来存放不同情况下生成的代码。创建一个gdb目录用来存放所有工程相关的代码,将下载下来的gdb压缩包也放在gdb目录下,解压缩后会生成一个gdb-

6、6.4的文件夹。[zxt@BCgdb]$tree.

7、--build-gdb

8、--build-gdbserver

9、--gdb-6.4

10、--gdb-install`--gdbserver-install在上面的各个文件夹中,build-gdb用来保存配置gdb-6.4的配置信息以及编译生成的文件;build-gdbserver用来保存配置gdbserver的配置信息以及编译生成文件;gdb-6.4为下载下来的源代码;gdb-install为生成的arm-linux-gdb等工具和库的安装路径;gdbserver-install为生成gdbserver的安装路径。下面介绍如何来编译生成arm

11、-linux-gdb和gdbserver1)建立arm-linux-gdb[zxt@BCgdb]$tarxzfgdb-6.4.tar.gz[zxt@BCgdb]$cdbuild-gdb[zxt@BCgdb]$../gdb-6.4/configure--target=arm-linux>--prefix=/home/zxt/up-netpxa270/gdb/gdb-install[zxt@BCgdb]$make&&makeinstall上面的p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。