13

我在 Ubuntu 12.04 上安装了gcc-arm-linux-gnueabihf交叉编译器,现在我可以为嵌入式设备构建程序了。我在哪里可以找到用于调试的交叉 gdb?

gcc-arm-linux-gnueabihf 参考在相关软件包列表中包含 gdb-arm-linux-gnueabihf,这似乎是我正在寻找的调试器。但是这个包不可用。

4

2 回答 2

15

我建议从Linaro 工具链而不是 Ubuntu 存储库中获取gdb 。从这里下载 gcc-linaro-arm-linux-gnueabihf-4.7-2012.10-20121022_linux.tar.bz2你会发现:

  • bin/arm-linux-gnueabihf-gdb
  • arm-linux-gnueabihf/debug-root/usr/bin/gdbserver

后者是静态链接的,当然是为 ARM Linux 构建的。

假设您已经为目标板设置了网络,复制gdbserver到它并运行:

$ gdbserver --multi :2345

在您的开发机器上,运行:

$ arm-linux-gnueabihf-gdb
(gdb) target extended BOARD-IP-ADDR:2345
(gdb) set remote exec-file /bin/true
(gdb) run

并且您已启动并运行远程交叉调试。

Linaro 错误跟踪器、邮件列表和网络论坛的链接在这里。从他们的发行说明中可以看出,他们在 ARM Linux 工具链、内核、QEMU 开发中非常活跃。

于 2012-11-07T18:29:24.027 回答
7

您需要安装 gdb-multiarch 软件包,然后运行 ​​gdb-multiarch 命令来远程调试您的目标。

于 2013-02-24T11:24:28.667 回答