基于GDB和GDBServer的远程调试方法

发布时间:2019-7-30 15:22    发布者:Tronlong818

1 前言
1
开发板型号
是否支持本实验
TL437x-EVM
支持
TL437x-EasyEVM
支持
TL437x-IDK
支持
TL437xF-EVM
支持
操作环境:
Ø Ubuntu 14.04.3 64bit
GDBServer远程调试是应用程序在开发板上运行,然后在PC上对开发板上应用程序进行调试,PC运行GDB,开发板运行GDBServer。在应用程序调试的时候,PCGDB向开发板上的GDBServer发出命令,而开发板上的GDBServer就会向应用程序发出信号使应用程序停下来或者完成其他一些工作。
2 开发板安装GDBServer
一般情况下,开发板均已安装GDBServer,位于开发板”/usr/bin”目录下。可以在开发板输入”ls /usr/bin/gdbserver”检查现象类似如下图,则说明开发板已安装GDBServer
1
如果开发板还没安装GDBServer,可在对应开发板的SDK安装目录中找到GDBServer可执行程序。
AM437x平台V01.00.00.03版本Linux Processor-SDK开发包,GDBServer可执行程序位于SDK安装目录的如下路径:
linux-devkit/sysroots/cortexa9t2hf-vfp-neon-linux-gnueabi/usr/bin/gdbserver
AM437x平台V03.03.00.04版本Linux Processor-SDK开发包,GDBServer可执行程序位于SDK安装目录的如下路径:
linux-devkit/sysroots/armv7ahf-neon-linux-gnueabi/usr/bin/gdbserver
将其拷贝到开发板文件系统"/usr/bin"目录即可。
3 新建测试程序
Ubuntu上新建测试程序test.c用于演示GDB调试,输入如下代码:
#include
int main() {
    int a = 1;
    float b = 2.0;
    char s[16] = "tronlong";
    int hoge_a = a*2;
    float hoge_b = b*2;
    printf("s is :%s\n", s);
    printf("hoge_a is : %d\n", hoge_a);
    printf("hoge_b is : %f\n", hoge_b);
    return 0;
}
2
执行如下命令编译程序,使用”-g”参数进行GDB编译:
Host#        arm-linux-gnueabihf-gcc test.c -o test -g  
3
将编译后可执行程序test拷贝到开发板任意路径下。


后续详细帮助在官网
销售邮箱:sales@tronlong.com       
技术邮箱:support@tronlong.com
创龙总机:020-8998-6280
技术热线:020-3893-9734
创龙官网:www.tronlong.com
技术论坛:www.51ele.net
本文地址:https://www.eechina.com/thread-566572-1-1.html     【打印本页】

本站部分文章为转载或网友发布,目的在于传递和分享信息,并不代表本网赞同其观点和对其真实性负责;文章版权归原作者及原出处所有,如涉及作品内容、版权和其它问题,我们将根据著作权人的要求,第一时间更正或删除。
您需要登录后才可以发表评论 登录 | 立即注册

厂商推荐

  • Microchip视频专区
  • 想要避免发生灾难,就用MPLAB® SiC电源仿真器!
  • 基于CEC1712实现的处理器SPI FLASH固件安全弹性方案培训教程
  • 无线充电基础知识及应用培训教程2
  • 安静高效的电机控制——这才是正确的方向!
  • 贸泽电子(Mouser)专区
关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
快速回复 返回顶部 返回列表