我在Ubuntu 12.04上安装了gcc-arm-linux-gnueabihf交叉编译器,现在能够为嵌入式设备构建程序。在哪里可以找到用于调试的交叉gdb?
gcc-arm-linux-gnueabihf参考资料中包含了所需的调试器,但此软件包当前不可用。
我在Ubuntu 12.04上安装了gcc-arm-linux-gnueabihf交叉编译器,现在能够为嵌入式设备构建程序。在哪里可以找到用于调试的交叉gdb?
gcc-arm-linux-gnueabihf参考资料中包含了所需的调试器,但此软件包当前不可用。
我建议从Linaro工具链下载gdb,而不是从Ubuntu软件库中获取。从这里下载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 bug跟踪器、邮件列表和Web论坛的链接。从发布说明中可以看出,他们在ARM Linux工具链、内核和QEMU开发方面非常活跃。
gdbserver
和arm-linux-androideabi-gdb
做完全相同的事情。 - domen