一、概述
1、调试ARM应用程序的软硬件组成
- 硬件JTAG/SWD仿真器
- Eclipse调试插件
- GDB调试客户端
- GDB服务器端
- JTAG/SWD需要的硬件驱动
2、GNU ARM Eclipse推荐的两种调试方案
- SEGGER J-Link仿真器 & GDB server是一种非常高效的解决方案,支持 JTAG and SWD(加上SWO的跟踪输出)
- OpenOCD应用程序是一种通用的工具,支持便宜的JATG仿真器,但是它只能支持JTAG而不支持SWD,而且速度比较慢、 配置经常是模糊的,在windows上很容易出现驱动不兼容的情况。
二、Eclipse的调试插件
如果你已经安装了GNU ARM Eclipse plug-ins (version 2.x 或者更高的版本),你很有可能已经安装了调试插件。
三、GDB客户端
GDB客户端(GNU调试器的GDB监测终端)是GNU工具链的组成部分,和工具链的其他组成部分(编译器、连接器)位于同一个目录中。如果要核查GDB是否已经安装到你的计算机上,可以使用如下命令(根据你的系统调整这个路径):
$ /usr/local/gcc-arm-none-eabi-4_7-2013q3/bin/arm-none-eabi-gdb --version
GNU gdb (GNU Tools for ARM Embedded Processors) 7.4.1.20130913-cvs
四、GDB服务器和驱动
对于GDB服务器,有两种解决方案: J-Link GDB Server 和 OpenOCD。详细的安装可以点击如下链接:
通常,如果你有了J-Link调试器就没有必要安装OpenOCD,但是如果你想比较这两种调试服务器的区别,可以将这两种服务器都安装上。如果你的开发板上集成了有JTAG接口,而且你现在已经不是新手想去使用更加先进的调试工具,例如SWO跟踪,推荐使用SEGGER J-Link。