Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序

Part1 环境搭建和工具安装

1.1 设置交叉编译环境

安装相关的编译工具:

<span>sudo apt-get <span>install  build-essential gcc-arm-linux-gnueabi

这里我使用的是ubuntu系统源中含有的gcc-arm-linux-gnueabi系列工具,安装完成后具有如下工具:

Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序
arm-linux-gnueabi-addr2line       arm-linux-gnueabi-<span>gcc             arm-linux-gnueabi-gprof           arm-linux-gnueabi-<span>ranlib
arm-linux-gnueabi-<span>ar              arm-linux-gnueabi-<span>gcc-<span>4.7         arm-linux-gnueabi-<span>ld              arm-linux-gnueabi-<span>readelf
arm-linux-gnueabi-as              arm-linux-gnueabi-<span>gcc-<span>ar-<span>4.7      arm-linux-gnueabi-<span>ld.bfd          arm-linux-gnueabi-<span>size
arm-linux-gnueabi-c++filt         arm-linux-gnueabi-<span>gcc-nm-<span>4.7      arm-linux-gnueabi-<span>ld.gold         arm-linux-gnueabi-<span>strings
arm-linux-gnueabi-<span>cpp             arm-linux-gnueabi-<span>gcc-ranlib-<span>4.7  arm-linux-gnueabi-nm              arm-linux-gnueabi-<span>strip
arm-linux-gnueabi-<span>cpp-<span>4.7         arm-linux-gnueabi-gcov            arm-linux-gnueabi-<span>objcopy         
arm-linux-gnueabi-elfedit         arm-linux-gnueabi-gcov-<span>4.7        arm-linux-gnueabi-objdump
Ubuntu12.10 使用JLink连接开发板用arm-gdb调试ARM程序

注意在使用make进行编译源码的时候,设置CROSS_COMPILE参数为:arm-linux-gnueabi-

<span>make CROSS_COMPILE=arm-linux-gnueabi-

1.2 安装针对arm的gdb

1.2.1 到gdb官网下载源码

由于ubuntu下没有编译好的针对arm平台的gdb,故可以去官网下载:http://ftp.gnu.org/gnu/gdb/, 可以先通过gdb -v 查看系统合适的版本;

$gdb -v
GNU gdb (GDB) 7.5-ubuntu
Copyright (C)  Free Software Foundation, Inc.
License GPLv3+: GNU GPL version  or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
$wget http://ftp.gnu.org/gnu/gdb/gdb-7.5.tar.bz2

1.2.2 编译和安装

编译和安装gdb,注意设置目标平台为arm-linux, 另外注意下面红色参数:“--program-prefix=arm-linux-”,该参数使安装后的程序名字为arm-linux-gdb, 防止与系统已经安装的gdb重名;

$tar xjf gdb-7.5.tar.bz2
$cd gdb-7.5/
$./configure --target=arm-linux --program-prefix=arm-linux-
$sudo make install

后续可以直接通过命令行 arm-linux-gdb来调用该调试器;

1.3 下载和使用linux版JLink

可以使用JLINK上的序列号进行下载,网址如下:

http://www.segger.com/cms/jlink-software.html

http://www.segger.com/cms/jlink-software.html?step=2&file=JLinkLinux_450i

解压后,连接好开发板,运行Jlink目录中的start脚本或者JLinkExe程序,就可以看到连接成功的消息:

usb为jlink支持的命令,表示从usb连接,更多命令可以通过输入 ? 获得。

J-Link>usb
Connecting to J-Link via USB (Port: 0)
Updating firmware:  J-Link ARM V8 compiled Jun 19 2012 11:29:30
Replacing firmware: J-Link ARM V8 compiled Jan 31 2011 18:34:52
Waiting for new firmware to boot
New firmware booted successfully
DLL version V4.50i, compiled Jun 22 2012 19:00:36
Firmware: J-Link ARM V8 compiled Jun 19 2012 11:29:30
Hardware: V8.00
S/N: 17892859 
Feature(s): RDI,FlashDL,FlashBP,JFlash 
VTarget = 0.000V
J-Link>

相关推荐