完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
基本思路
采用这种的方式进行远程调试,目标系统必须包括gdbserver程序,宿主机也必须安装gdb程序。一般linux发行版中都有一个可以运行的gdb,但我们不能直接使用该发行版中的gdb来做远程调试,而要获取gdb的源代码包,针对arm平台作一个简单配置,重新编译得到相应gdb,如armv4。 接下来,大家跟着法师的思路,一起来搭建这个调试环境。在任意ARM板,都可以搭建。 iTOP4412搭建环境 |
|
|
|
搭建步骤
第一步:下载gdb压缩包 下载地址:http://ftp.gnu.org/gnu/gdb/ 这里我们下载的是gdb-7.8.1.tar.gz这个版本。 第二步:编译并安装gdb 把gdb压缩包放到ubuntu之后,我们进入到解压生成的文件,如下图示: 生成Makefile,输入以下命令:target为目标平台,prefix为安装路径。 /configure -target=arm-none-linux-gnueabi --prefix=/home/arm-linux-gdb/arm-linux-gdb 如下图所示: 编译gdb,输入make,编译成功如下图所示: 安装gdb,输入命令make install,一会我们在ubuntu上启动的就是这个gdb,安装成功如下图所示: 进入gdb源码下的gdb/gdbserver目录,如下图所示: 生成Makefile,输入以下命令:target为目标平台,prefix为安装路径。 。/configure -target=arm-none-linux-gnueabi --prefix=/home/arm-linux-gdb/arm-linux-gdbserver 然后执行make命令,注意,这里交叉编译器一定要写绝对路径。如下图所示: make CC=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc 编译过程中会出现以下错误: 我们打开当前路径下的config.h文件,如下图所示: 注释掉196行左右的HAVE_SYS_REG_H这个宏定义,如下图所示: 注释掉116行#include头文件,如下图所示: 保存退出,然后再次编译。编译成功如下图所示: 编译完成后,使用make install 命令安装,安装完成后会在安装路径生成一个文件夹,如下图所示: 第三步,在ARM板上搭建远程调试环境 把gdb/gdbserver下的gdbserver 拷贝到开发板的bin文件夹下。 拷贝完成如下图所示: |
|
|
|
测试
测试代码: 编译测试程序,编译的时候要加-g参数,编译完成之后,我们把测试代码通过NFS放在开发板上,然后在测试代码所在的路径下输入以下命令启动服务器,其中192.168.2.230为ubuntu的IP,5000为端口号。 gdbserver 192.168.2.230:5000 。/test启动成功如下图所示: 在测试程序test所在目录启动ubuntu上的gdb,这里启动的gdb为我们刚刚安装的gdb,我们输入以下命令: /home/arm-linux-gdb/arm-linux-gdb/bin/arm-none-linux-gnueabi-gdb test 启动成功后如下图所示: 连接开发板,输入以下命令,192.168.2.23为开发板的IP,5000为端口号。 target remote 192.168.2.23:5000连接成功后开发板会打印以下信息,如下图所示: 接下来,我们就可以在ubuntu上使用命令来设置断点,单步调试开发板上的程序了 |
|
|
|
只有小组成员才能发言,加入小组>>
692 浏览 0 评论
1106 浏览 1 评论
2473 浏览 5 评论
2808 浏览 9 评论
移植了freeRTOS到STMf103之后显示没有定义的原因?
2646 浏览 6 评论
使用eim外接fpga可是端口一点反应都没有有没有大哥指点一下啊
653浏览 9评论
649浏览 7评论
请教大神怎样去解决iMX6Q在linux3.0.35内核上做AP失败的问题呢
781浏览 6评论
628浏览 5评论
668浏览 5评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 04:58 , Processed in 0.932465 second(s), Total 82, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号