欢迎来到天天文库
浏览记录
ID:13280737
大小:2.54 MB
页数:16页
时间:2018-07-21
《嵌入式系统——利用gdb进行远程调试》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、浙江大学实验报告课程名称:嵌入式系统实验类型:配置、调试实验项目名称:实验九利用GDB进行远程调试一、实验目的和要求(必填)利用GDB进行远程调试二、实验内容和原理(必填)1.使用GDB对程序进行本地调试,熟悉GDB的基本功能,如br(设置断点),br#if…(设置条件断点),clear#(清除#行断点),run(运行),step(stepinto),pvar(print),setvar(设置变量的值),cont(恢复执行),等2.编译GDBServer,编译GDBClient,利用Minicom将编
2、译好的GDBServer下载到XSBase255然后在目标机上运行GDBServer,(例如,$gdbserver192.168.100.216:1234使目标机(ip=192.168.100.50)监听端口:1234,为宿主机(192.168.100.216)服务),三、主要仪器设备1.XSBase255试验板一块2.PC机一台3.电源等四、操作方法与实验步骤l利用GDB进行本地调试(注意,本试验在本人自己电脑上完成)1.编写源程序bubble.c,使用命令$gcc–g–obubblebubble.
3、c对其进行编译,其中-g开关让编译的目标文件有调试信息。2.使用GDB将编译好的bubblebinary载入图1,载入bubblebinary1.使用list命令查看源代码图2,使用list命令查看源代码1.使用infosource命令查看程序名、目录、文件大小、语言等信息图3,infosource命令查看程序信息2.使用br命令设置断点、br#if…设置条件断点,infobr查看断点信息,clear#清除断点图4,断点设置及查看1.使用命令run(运行),step(stepinto),pvar(pr
4、int),setvar(设置变量的值),cont(恢复执行),等开始调试图5,record[j]和record[j-1]内容被交换图6,数次中断图7,条件中断l利用GDB进行远程调试1.应因为XSBase的芯片PXA255为ARM内核,所以需要使用arm-linux-gcc来编译GDB首先创建临时目录:$mkdir/XSBase/tempcopygdb-5.3.tar.gz到该目录并解压:$cpgdb-5.3.tar.gz/XBASE/temp$cd/XSBase/temp$tarxvzfgdb-5.
5、3.tar.gz运行configure创建makefile,然后make$cdgdb-5.3$./configure--target=arm-linux--prefix=/usr/local/arm-gdb–v$make$makeinstall其中,--target选择了arm-linux作为目标运行平台--prefix确定了makeinstall的安装路径图8,GDBServercompilationcompleted2.GDBClient编译,$cd/XSBase/temp/gdb-5.3$exp
6、ortPATH=$PATH:/usr/local/arm-gdb/bin$./configure--target=arm-linux--host=arm-linux--target和--host选arm-linux是因为XSbase为基于ARM的$cdgdb/gdbserver$makeCC=/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gcc中间会出现错误……Linux-arm-low.c:26:sys/reg.h:Nosuchfileordirecto
7、ry则修改gdb/gdbserver/config.h文件将#defineHAVE_SYS_REG_H1注释掉编译成功后gdbserver将在gdb/gdbserver目录下生成,此文件为客户端程序,在XSBase中运行图9,GDBClientcompilationfailed图10,修改gdb/gdbserver/config.h后GDBClient编译成功3.编写测试程序/XSBase/temp/test.c#includeMain(){inti;doublej;char*str
8、=NULL;for(i=0;i<5;i++){j=i/2+i;printf(“jis%f”,j);}strcpy(str,”helloworld”);printf(“stris%s”,str);return;}4.开始远程调试将test.c用arm-linux-gcc编译,$/usr/local/hybus-arm-linux-R1.1/bin/arm-linux-gcc–gtest.c–otest使用zmordem将test以及/XSbase/
此文档下载收益归作者所有