因为有很多小伙伴是从单片机转过来的,用惯了单片机使用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示:
输入以下命令:
./configure -target=arm-none-linux-gnueabi --prefix=/home/topee