您的位置:首页 > 编程语言 > Java开发

eclipse下使用gdb+j-link调试总结

2013-02-22 10:55 190 查看
使用J-Link Command工具装载程序并运行的方法:

首先将J-LINK与目标机连接好并运行J-Link Command可见到如下信息:



然后输入h命令查看目前目标机的CPU处于何种模式(看到处于SVC Mode表示连接成功):



然后设置J-LINK的速度,输入:speed 2000(表示设置为2000KHZ即2MHZ):



然后就可以load程序到目标机器了,命令:loadbin xxx.bin 189860(其中189860为16进制的要装载目标机器的地址):



成功装载入目标机器后,设置PC指针的当前值,命令:setpc 189860(其中189860为16进制地址),则PC将会指向189860地址去取第一条指令运行:



设置好PC后,最后运行,命令:g,此时PC将会指向189860地址去取第一条指令并运行:



在ECILPSE中可以支持GDB调试来进行linux内核或者应用调试并且非常方便,需要前提:JTAG口线引出,J-LINK调试工具以及在ECILPSE中安装一个叫 Zylin
Embedded CDT 4.18.1 com.zylin.cdt.feature.feature.group工具即可进行调试了。

关于Zylin Embedded CDT安装方法如下:

在ECILPSE的help->about
eclipse->installation details,界面如下:




进入后可见如下界面则表明已经安装了Zylin Embedded CDT工具:



最后一个显示的Zylin Embedded CDT;

准备工作都OK后则可以新建一个工程进行调试了:

以一个makefile工程为例,如下图:



当安装好Zylin Embedded CDT后会在ECLIPSE界面出现一个虫子的图标,点击这个图标->Debug
Configurations如下图:




然后进入后如下图,自己编写一个调试名字stage_debug,在project(optional)下选框中选择需要调试的工程stageii,在C/C++
Application下选框选择本工程编译生成的ELF文件:




再选择Ddbugger选项,入下图,在Debugger中选择Embedded
GDB,在STOP ON STARTUP AT选择你期望第一个断点停留的函数(一般为main函数或者汇编的_start函数),在GDB
debugger中选择工具链中的gdb工具(这里使用的是arm-unknow-linux-gun-gdb工具):




再点击Commands选项,如下图,initalize
commands中写的是GDB工具能识别的舒适化命令,包括设置远程目标板代理服务器IP地址,CPU格式,J-LINK运行速度,装载后PC指针指向地址等命令,Run
commands中写运行时断点位置,断点执行后的行为:




至此ECLIPSE中的GDB调试环境已经配置好了,由于是远端的目标机,所以需要使用J-LINK服务代理,架构为在目标机所在主机上开启J-LINK
GDB Server服务并保证J-LINK GDB Server与目标板已经通过J-LINK连接成功了,如果连接成功则如下图,由于是远程调试,故Localhosr
only选项一定不能勾选,此时能检测到Target为ARM11.Code
ld:0x07b3617f:




至此就可以进行调试了!

另外如果出现"${workspace_loc:/libwireless/include}"

表现为windows下的目录格式如:e:\xxx\xxx,则出现src/mg323.d:1: *** multiple target patterns. Stop.

make: *** [libmg323.so] Error 2错误

解决办法是将E:/XXX/XXX改为/cygdrive/e/xxx/xxx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: