zoukankan      html  css  js  c++  java
  • Eclipse-cdt 配合 gdbserver 进行 arm 程序远程调试 上

    做嵌入式Linux开发也不用再羡慕windows程序员VS集成开发环境的强大,我们同样能够搭建出给力的IDE。

    今天在这里记录一下我使用Eclipse-cdt,gdb,gdbserver搭建远程arm调试的过程。

    首先介绍下,嵌入式Linux的GDB调试环境由Host和Target两部分组成,Host端可以理解为本机,Target端为嵌入式设备。
    Host端使用arm-linux-gdb,Target 端使用gdbserver。
    调试时,应用程序在嵌入式目标系统上通过运行,而gdb调试在Host端。

      1. 编译gdb
        在GNU官网下载最新版GDB ,我这里下载的是7.2版本gdb-7.2.tar.gz
    $ tar xvf gdb-7.2.tar.gz
    $ cd gdb-7.2
    $ ./configure --target=arm-linux --prefix=/home/aliang/arm-gdb
    $ make -j2
    $ make install

    可以通过export命令将/home/aliang/arm-gdb/bin目录加入PATH,使arm-linux-gdb可以直接使用,也可以直接拷贝到/usr/bin 或arm-linux-gcc同目录

      1. 编译gdbserver
    $ cd gdb/gdbserver
    $ ./configure --host=arm-linux
    $ make -j2
    这里没有定义安装目录,因为gdbserver是运行在嵌入式设备端的。
    make之后,gdbserver程序就在当前目录下,拷贝到tftpd目录后在设备端通过tftp命令下载
    1. 调试程序
      通过加-g参数 交叉编译带调试信息的程序
      $ arm-linux-gcc -g ipcam.c -o ipcam

      拷贝到设备端后,使用gdbserver打开程序

      $gdbserver <host-ip>:10000 ipcam

      主机使用arm-linux-gdb调试程序

      $ arm-linux-gdb ipcam

      输入gdb远程调试指令

      (gdb) target remote <target-ip>:10000

      这时,设备端打印

      Remote debugging from host 192.168.1.102

      说明远程调试已经建立起,可以开始在host端调试

    2. gdb指令可真多,我不是牛人,自认没那技术通过指令就能调试出想要的结果,结合eclipse的图形调试界面快速寻找答案才是我想要的。具体设置,请看下篇
  • 相关阅读:
    排序算法
    顺序表与链表
    二叉树
    查找算法
    15 Django 离线脚本
    poj 1330 Nearest Common Ancestors(LCA 基于二分搜索+st&rmq的LCA)
    hdu 6158 The Designer( 反演圆)
    圆的反演性质
    HDU 6153 A Secret(扩展kmp)
    kmp&扩展kmp
  • 原文地址:https://www.cnblogs.com/lidabo/p/4517021.html
Copyright © 2011-2022 走看看