因为有很多小伙伴是从单片机转过来的,用惯了单片机使用JLINk来调试程序,换到Linux非常不习惯。确实是如此,如果能在Linux上能设置断点,单步调试,查看变量,那就再好不过了。那么接下来将教大家怎么在arm板上调试应用代码的方法。
首先,了解下基本的思路:
采用这种方式进行远程调试,目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。一般Linux发行版中都有一个可以运行的gdb,但我们不能直接使用该发行版中的gdb来做远程调试,而要获取gdb的源代码包,针对arm平台做一个简单的配置,重新编译得到相应的gdb,如armv4.
搭建环境
UBuntu版本:Ubuntu 12.04
交叉编译器:arm-2009q3.tar.bz2
gdb版本:gdb-7.8.1.tar.gz
开发板硬件:i.MX6ULL 终结者
开发板系统:支持ssh的busybox
注意事项:如果大家下载的gdb版本比较高,那么Ubuntu的GCC就必须用4.8以上的版本。交叉编译器要选择和自己编译的文件系统一致的编译器,因为busybox的根文件系统用的是arm-2009q3,所以这里编译gdb也使用这个编译
搭建步骤
(1)第一步:下载gdb压缩包
下载地址:http://ftp.gnu.org/gnu/gdb/ 这里我们下载的是gdb-7.8.1.tar.gz这个版本。
(2)第二步:编译并安装gdb
把gdb压缩包放到ubuntu之后,我们进入到解压生成的文件,如图 1示:

本文介绍了如何在Linux系统中使用Gdb和Gdbserver进行远程调试ARM板上的应用程序。详细步骤包括:1) 下载和编译针对ARM平台的Gdb;2) 在ARM板上安装gdbserver;3) 编写和烧录测试程序;4) 使用Gdb进行远程连接和调试。通过这种方法,开发者可以在Linux主机上实现类似单片机JLink的调试体验。
最低0.47元/天 解锁文章
125

被折叠的 条评论
为什么被折叠?



