ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:89.50KB ,
资源ID:336906      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-336906.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(交叉编译以及远程调试.DOC)为本站会员(天***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

交叉编译以及远程调试.DOC

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

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

3、们 X86 的机器上编译出能在 arm 平台上跑的应用程序就需要一整套交叉编译工具,这套工具运行在 X86 的平台上,但它编译出的程序却不能运行在 X86 的平台上,而只能运行在基于 ARM 的板子上。我们可以通过 Linux 下的 file 命令来查看一个文件究竟是运行在X86 下的还是运行在 arm 上的。 X86 结构: zxtBC 01_hello$ file hello hello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (us

4、es shared libs), not stripped ARM 结构: zxtBC 01_hello$ file mystar mystar: ELF 32-bit LSB executable, ARM, version 1 (ARM), for GNU/Linux 2.4.3, dynamically linked (uses shared libs), not stripped 常用的交叉编译工具一般都是以某一种体系结构为头进行表示的,下面列出一些常用的交叉编译工具名称的头: 表 4-1 交叉编译工具头 实际的目标板 交叉编译工具头 PowerPC powerpc-linux- AR

5、M arm-linux- MIPS (big endian) mips-linux- MIPS (little endian) mipsel-linux- 以这些名称为头的交叉编译工具其实和我们常用的在 PC机上的编译工具所做的工作都是一样的,只要我们能够明白这其实也是一种编译工具即可。这些交叉编译工具的用法和PC 上的编译工具的用法是一样的。 2远程调试 要使用 gdb 的远程调试功能,我们需要对 gdb 源 码进行编译,生成相应的调试工具,arm-linux-gdb 和 gdbserver。首先需要下载 gdb 的源码,目前 gdb 的最新版本是 6.4 版,可以在 gnu 的网站上下载,

6、 http:/ftp.gnu.org/gun/gdb/ 下载最新的源码 gdb-6.4.tar.gz 后,需要建立一个编译该源码的目录结构,分别用来存放不同情况下生成的代码。创建一个 gdb 目录用来存放所有工程相关的代码,将下载下来的gdb 压缩包也放在 gdb 目 录下,解压缩后会生成一个 gdb-6.4 的文件夹。 zxtBC gdb$tree . |- build-gdb |- build-gdbserver |- gdb-6.4 |- gdb-install - gdbserver-install 在上面的各个文件夹中, build-gdb 用来保存配置 gdb-6.4 的配置信息以

7、及编译生成的文件; build-gdbserver 用来保存配置 gdbserver 的配置信息以及编译生成文件; gdb-6.4 为下载下来的源代码; gdb-install 为生成的 arm-linux-gdb 等工具和库的安装路径; gdbserver-install为生成 gdbserver 的安装路径。下面介绍如何来编译生成 arm-linux-gdb 和 gdbserver 1)建立 arm-linux-gdb zxtBC gdb$ tar xzf gdb-6.4.tar.gz zxtBC gdb$ cd build-gdb zxtBC gdb$ ./gdb-6.4/configu

8、re -target=arm-linux -prefix=/home/zxt/up-netpxa270/gdb/gdb-install zxtBC gdb$make 6 for ( i =0; i 2 3 int main () 4 5 int i; 6 for ( i =0; i 10; i+ ) 7 8 printf (“helloworld.NOM %dn“, i ); 9 10 return 0; (gdb) c Continuing. Breakpoint 1, main () at helloworld.c:6 6 for ( i =0; i 10; i+ ) gdb) 除了在终端下使用 arm-linux-gdb 以外,还以通过 ddd 工具调用 arm-linux-gdb 来启动DDD 的图形化调试界面。启动 DDD 图形调试界面只需要输入下面的命令: # ddd -debugger arm-linux-gdb helloworld 启动以后需要在命令栏中打开远程调试功能,如下图所示: 图 4-1 DDD 远程调试界面 七、实验要求 1掌握交叉编译的概念,会使用交叉编译工具对源代码进行编译 2会使用 gdb 源码编译出 arm-linux-gdb 和 gdbserver 3学会 gdb 的远程调试方法 4会使用 ddd 进行远程调试

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。