嵌入式交叉调试与工具软件幻灯片.ppt

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式交叉调试与工具软件幻灯片

* 北华航天工业学院 房好帅 fanghaoshuai@ 主要内容: (1)使用交叉gdb调试嵌入式ARM-Linux程序; (2)使用vim+ctags、Kscope阅读源代码; 第1部分 嵌入式交叉开发环境的搭建(2) 初步掌握交叉调试C语言程序的操作 能力目标: 1.5 使用交叉版本的gdb调试ARM-Linux程序 因为要调试嵌入式系统运行的程序,就需要要安装交叉版本的gdb,首先下载gdb源代码/gnu/gdb/ ,选择下载版本如7.6.1,在Linux下进行解压缩后进行编译。 北华航天工业学院 房好帅 fanghaoshuai@ 1、编译安装arm-linux-gdb (1)cd XXXX/gdb-7.6.1,切换到源代码目录; (3)make 执行makefile默认目标进行编译生成二进制文件 (2)./configure --prefix=/usr/local/arm/gdb-arm9 --target=arm-linux (4)make install 安装在/usr/local/arm/gdb-arm9目录 配置编译选项, --prefix为在Linux下的安装目录, --target=arm-linux表示要调试的目标为arm-linux平台 北华航天工业学院 房好帅 fanghaoshuai@ 这样就可以直接使用arm-linux-gdb命令,比如 arm-linux-gdb -v 显示其版本号及其他信息如下: 北华航天工业学院 房好帅 fanghaoshuai@ 在/etc/bash.bashrc文件中将arm-linux-gdb加入PATH: export PATH=$PATH:/usr/local/arm/gdb-arm9/bin 2、编译生成在ARM-Linux平台运行的gdbserver 北华航天工业学院 房好帅 fanghaoshuai@ (1)cd XXXX/gdb-7.6.1/gdb/gdbserver/,切换到源代码目录; (3)make 执行makefile默认目标生成gdbserver可执行文件; (2) ./configure --host=arm-linux --target=arm-linux (4)把gdbserver可执行文件拷贝到嵌入式开发板文件系统的在/usr/local目录。 配置编译选项, --host=arm-linux为生成的二进制代码在arm-linux平台运行,采用arm-linux-gcc进行编译 , --target=arm-linux表示要调试的目标为arm-linux平台 3、使用交叉gdb调试程序 使用arm-linux-gdb调试程序的命令与gdb一样,开发板与PC之间需要连接串口、网线,比如设置开发板的IP地址为03,虚拟机的Linux 01 调试一个简单的C语言程序,mytest.c,首先使用交叉编译器进行编译: arm-linux-gcc -g -o mytest mytest.c 加上-g选项,生成的二进制文件带有调试信息,把其拷贝到ARM开发板的文件系统中,或是开发板挂载的PC机的nfs分享目录中。 北华航天工业学院 房好帅 fanghaoshuai@ mytest.c 1 #include stdio.h 2 3 int add2num(int arg0, int arg1) 4 { 5 return arg0 + arg1; 6 } 7 8 int avg3num(int arg0, int arg1, int arg2) 9 { 10 int tmp = add2num(arg0, arg1); 11 tmp = add2num(tmp, arg2); 12 return tmp/3; 13 } 14 北华航天工业学院 房好帅 fanghaoshuai@ mytest.c 15 int main() 16 { 17 int a = 5; 18 int b = 10; 19 int c = 15; 20 int avg = 0; 21 printf(three number is:%d, %d, %d, a, b, c); 22 avg = avg3num(a, b, c); 23 printf(average is:%d, avg); 24 return 0; 25 } 北华航天工业学院 房好帅 fanghaoshuai@ 连接开发板与串口、网线,启动超级终端,设置开发板的IP地址,之后对开发板执行命令: (1)cd XX目录 切换到程序mytest所在目录 以2001端口启动,如成功则显示处于监听连接状态 北华航天工业学院 房好帅 fanghaoshua

文档评论(0)

wnqwwy20 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档