【嵌入式】树莓派3b+搭建gdb和gdbserver教程

(一)树莓派端配置gdbserver

a)下载

  1. 进入pi打开火狐搜索器,输入该下载链接:http://ftp.gnu.org/gnu/gdb/,我下载的版本是 gdb-8.2.tar.gz在这里插入图片描述
  2. 火狐浏览器下载目录:/home/pi/Downloads
    在这里插入图片描述
  3. 将压缩包copy到/home/pi目录下(进入文件夹copy就行)
    在这里插入图片描述
  4. 到(/home/pi目录)解压安装包:
tar xvzf gdb-8.2.tar.gz

b)配置gdb

  1. 进入解压后的安装包:
cd gdb-8.2
  1. 配置环境:
./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v

注意:如果你之前有配置过gdb,且环境和我这里设置不一样;
请删掉你之前解压过的包,重新解压一次,再配置.

在这里插入图片描述
完成如图:
在这里插入图片描述

  1. 编译:(1小时左右,耐心等待~)
make

在这里插入图片描述

完成如图:
在这里插入图片描述

  1. 执行命令:
sudo make install

在这里插入图片描述
完成:
在这里插入图片描述

  1. 如果配置成功:(生成arm-linux-gdb,并存入/usr/local/arm-gdb /bin/,查询确认下)
    在这里插入图片描述

  2. 将生成的arm-linux-gdb文件拷贝到系统/usr/bin/目录下,这样便可以在任何地方很方便的调用。

cd /usr/local/arm-gdb/bin
ls
sudo cp arm-linux-gdb /usr/bin/

在这里插入图片描述
gdb配置完成!

c)配置gdbserver

  1. 进入/home/pi/gdb-8.2/gdb/gdbserver文件夹:
cd /home/pi/gdb-8.2/gdb/gdbserver

在这里插入图片描述

export PATH=$PATH:/usr/local/arm-gdb/bin
  1. 环境
./configure --target=arm-linux --host=arm-linux

在这里插入图片描述
完成如图:
在这里插入图片描述

  1. 编译
make CC=arm-linux-gcc

前提:gcc已经配置在环境变量中了

在这里插入图片描述
编译gdbserver不需要执行make install命令,make之后在当前目录下会生成可执行程序gdbserver,将其拷贝到目标系统中。

(二)Win10安装arm-linux-gnueabihf-gdb

辅助工具下载链接:http://gnutoolchains.com/raspberry/
安装raspberry-gcc6.3.0-r3.exe,我的系统是Win10:
在这里插入图片描述
解压安装包,运行安装.exe文件:
在这里插入图片描述

可选择自定义安装路径,建议不要改包名;
最后安装到99.99%位置貌似卡住,忽略,直接Cancel

你将获得如下目录:(我们需要的arm-linux-gnueabihf-gdb.exe等包都在~\bin目录下)
在这里插入图片描述
在这里插入图片描述

(三)交叉编译test

树莓派端紫色标识

  • 登录树莓派pi(putty、teamviewer均可)
  • 新建 test.cpp测试程序
vim test.cpp
  • 拷贝 代码
#include <stdio.h>
int main()
{
    printf("Hello, world\n");
    return 0;
}
  • gcc编译可执行文件
gcc test.cpp -o test
  • 打开gdbserver ,以test文件作为
gdbserver :1234 test

在这里插入图片描述
PC端蓝色标识

  • 运行 arm-linux-gnueabihf-gdb.exe
  • gdb中输入以下命令以连接到Raspberry PI并开始调试你的程序:
target remote <Raspberry IP address>:1234

我的pi的ip地址为192.168.43.24;电脑端的ip地址为192.168.43.241
(gdb)target remote 192.168.43.24:1234
在这里插入图片描述

  • 现在可以在树莓派端看见pc端已成功连接gdbserver
    在这里插入图片描述
  • pc端调试
b main
c

树莓派端运行pc端的指令,输出hello,world:
在这里插入图片描述

  • 输入n退出
n

在这里插入图片描述


参考博客:http://gnutoolchains.com/raspberry/tutorial/

猜你喜欢

转载自blog.csdn.net/cungudafa/article/details/85128302