(一)树莓派端配置gdbserver
a)下载
- 进入pi打开火狐搜索器,输入该下载链接:http://ftp.gnu.org/gnu/gdb/,我下载的版本是
gdb-8.2.tar.gz
- 火狐浏览器下载目录:/home/pi/Downloads
- 将压缩包copy到/home/pi目录下(进入文件夹copy就行)
- 到(/home/pi目录)解压安装包:
tar xvzf gdb-8.2.tar.gz
b)配置gdb
- 进入解压后的安装包:
cd gdb-8.2
- 配置环境:
./configure --target=arm-linux --prefix=/usr/local/arm-gdb -v
注意:如果你之前有配置过gdb,且环境和我这里设置不一样;
请删掉你之前解压过的包,重新解压一次,
再配置.
完成如图:
- 编译:(1小时左右,耐心等待~)
make
完成如图:
- 执行命令:
sudo make install
完成:
-
如果配置成功:(生成arm-linux-gdb,并存入/usr/local/arm-gdb /bin/,查询确认下)
-
将生成的arm-linux-gdb文件拷贝到系统/usr/bin/目录下,这样便可以在任何地方很方便的调用。
cd /usr/local/arm-gdb/bin
ls
sudo cp arm-linux-gdb /usr/bin/
gdb配置完成!
c)配置gdbserver
- 进入/home/pi/gdb-8.2/gdb/gdbserver文件夹:
cd /home/pi/gdb-8.2/gdb/gdbserver
export PATH=$PATH:/usr/local/arm-gdb/bin
- 环境
./configure --target=arm-linux --host=arm-linux
完成如图:
- 编译
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