分享

arm-linux-gdb gdbserver双串口目标机调试心得

 xrzs 2010-04-07
1.下载gdb源码:
 
http://ftp./gnu/gdb/
2.编译arm-linux-gbd
  解压后进入gdb-XX目录下:
  ./configure --target=arm-linux
  make(生成gdb)
  make install(生成arm-linux-gdb,并存入/usr/local/bin/)
3.编译gdbserver
  进入gdb-XX/gdb/gdbserver/目录下:
  ./configure --target=arm-linux --host=arm-linux
  修改config.h:注释掉//#define HAVA_SYS_REG_H这行
  修改Makefile:找到“CC = gcc”这行,改为“CC =/usr/local/arm/2.95.3/bin/arm-linux-gcc”(交叉编译器所在路径)
  make(生成gdbserver在当前目录下)
  检查编译完的gdbserver是否是for arm平台:执行file gdbserver是否看到“ELF 32-bit LSB executable, ARM, version 1, dynamically linked (uses shared libs), for GNU/Linux 2.0.0, not stripped”
4.把gdbserver烧到arm板上
  运行minicom在shell下执行:./gdbserver /dev/ttyS1 app -display :0 &
  PC机shell下执行:./arm-linux-gdb -b 38400 app
  握手:target remote /dev/ttyS0
  握手成功后c,开始调试。

注:ttyS1为目标机上的gdbserver和pc机上的arm-linux-gdb通讯端口;ttyS0为控制台端口。


问题收集:
1.出现“No symbol table is loaded.  Use the "file" command.”表示编译app应用程序时没加-g调试信息选项导致无法load符号表。
2.出现”cannot execute binary file“表示编译gdbserver时平台交叉编译器配置不对,提示无法执行二进制文件,可用“file gdbserver”查看执行平台信息。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多