您的当前位置:首页GDBServer编译指南

GDBServer编译指南

来源:小侦探旅游网


Application Note GDBServer编译指南

基于EasyARM-i.MX287A开发套件

AN01010101 V1.00 Date: 2015/08/10 产品应用笔记

类别 关键词 摘 要 内容 EasyARM-i.MX287A,Linux,GDBServer 本文基于EasyARM-i.MX287A开发套件,介绍如何编译GDBServer软件以使用开发套件的远程调试功能

广州致远电子股份有限公司

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 修订历史

版本 V1.00 日期 2015/08/10 原因 创建文档

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

i

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 目 录

1. 适用范围 ................................................................................................................... 1 2. 开发环境 ................................................................................................................... 2 3. 技术实现 ................................................................................................................... 3

3.1

3.2 3.3

解压GDB源码包 .................................................................................................... 3 编译GDBServer软件 .............................................................................................. 3 运行gdbserver .......................................................................................................... 3

4. 免责声明 ................................................................................................................... 6

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

i

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 1. 适用范围

本文基于EasyARM-i.MX287A开发套件,主要介绍了如何编译GDBServer软件以使用开发套件的远程调试功能,其原理和操作方法也适用于EasyARM-i.MX280A、EasyARM-i.MX283A以及EasyARM-i.MX257开发套件。

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

1

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 2. 开发环境

1) 开发主机环境:

Ubuntu 12.04(64位)、arm-fsl-linux-gnueabi-gcc系列交叉工具链。

2) 硬件清单:

EasyARM-i.MX287A开发套件。

3) 软件资源:

产品光盘资料:EasyARM-i.MX280A_283A_287A_cd.zip; 根文件系统:rootfs.tar.bz2 GDB源码包:gdb-6.6.tar.gz。

注:对于EasyARM-i.MX257开发套件,其产品光盘资料为“EasyARM-iMX257_cd.zip”。另外,请将文档所使用的工具链由“arm-fsl-linux-gnueabi*”替换成“arm-none-linux-gnueabi*”。

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

2

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 3. 技术实现

注意:在开始进行下面的操作之前,请首先确认 ubuntu 主机的开发环境已经搭建好。如需了解这方面的内容,请参考产品光盘资料中的《Linux 开发指南》 。

3.1 解压GDB源码包

将附件gdb-6.6.tar.gz源码包复制到ubuntu系统的“~/”目录,然后将其解压后可得到gdb-6.6目录,参考命令如下:

vmuser@Linux-host:~$ tar zxvf gdb-6.6.tar.gz

3.2 编译GDBServer软件

进入gdb-6.6/gdb/gdbserver目录,设置环境变量CC为与开发套件相对应的gcc,参考命令如下:

vmuser@Linux-host:~$ cd gdb-6.6/gdb/gdbserver

vmuser@Linux_host:~/gdb-6.6/gdb/gdbserver$ export CC=arm-fsl-linux-gnueabi-gcc

然后通过configure文件对编译选项进行设置,参考命令如下:

vmuser@Linux_host:~/gdb-6.6/gdb/gdbserver$ ./configure –host=arm-fsl-linux-gneabi

最后执行make命令编译即可得到gdbserver文件,如图3.1所示:

图3.1 gdbserver软件

3.3 运行gdbserver

注意:进行远程调试之前请确保ubuntu主机和开发套件之间的网络是畅通的。在接下来的示例中,ubuntu系统的ip地址为192.168.1.83,而开发套件的ip地址为:192.168.1.84。

将gdbserver拷贝到开发套件的“/root”目录下,确保其拥有可执行权限:

root@EasyARM-iMX283 ~# chmod a+x gdbserver

在远程调试的时候,ubuntu主机上的gdb程序将无法正确地处理动态库的连接问题,因此需要将开发套件的根文件系统复制一份到ubuntu系统中。首先将附件中的rootfs.tar.bz2产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

3

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 压缩包复制到ubuntu系统的“/home/vmuser”目录中,然后创建“/home/vmuser/sysroot”目录,然后用tar工具将rootfs.tar.bz2解压到该目录中,参考命令如下:

vmuser@Linux-host:~$ mkdir sysroot

vmuser@Linux-host:~$ sudo tar jxvf rootfs.tar.bz2 –C sysroot

至此,gdbserver已经准备就绪可以运行了。下面将以附件bugging程序为例,简要地介绍gdbserver的使用方法。如果要调试别的应用程序,请确保该程序在编译时保留了调试信息。

将bugging文件分别复制到开发套件的“/root”目录以及ubuntu系统的“/home/vmuser”目录,并在开发套件上执行下面的命令运行gdbserver:

root@EasyARM-iMX283 ~# ./gdbserver :2000 bugging

此条命令将设置gdbserver监听2000端口,如图3.2所示。

图3.2 监听2000端口

然后在ubuntu系统中运行与开发套件对应的gdb程序:

vmuser@Linux-host:~$ arm-fsl-linux-gnueabi-gdb bugging

终端将进入gdb的命令行模式,此时需要用set子命令将gdb程序的sysroot指向刚才所创建的sysroot目录,如图3.3所示:

图3.3 指定sysroot

然后用target remote子命令指定开发套件的IP地址以及监听端口即可连接至gdbserver,如图3.4所示。

图3.4 连接到gdbserver

同时可以看到gdbserver打印出新的提示信息,如图3.5所示。

图3.5 调试主机已连接

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

4

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 该信息表明ubuntu系统已经成功连接了gdbserver程序,可以进行远程调试了。

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

5

广州致远电子股份有限公司

GDBServer编译指南

基于EasyARM-i.MX287A开发套件 4. 免责声明

广州致远电子股份有限公司所提供的所有服务内容旨在协助客户加速产品的研发进度,在服务过程中所提供的任何程序、文档、测试结果、方案、支持等资料和信息,都仅供参考,客户有权不使用或自行参考修改,本公司不提供任何的完整性、可靠性等保证,若在客户使用过程中因任何原因造成的特别的、偶然的或间接的损失,本公司不承担任何责任。

产品应用笔记 ©2015 Guangzhou ZHIYUAN Electronics Stock Co., Ltd.

6

因篇幅问题不能全部显示,请点此查看更多更全内容