查看: 680|回复: 0
打印 上一主题 下一主题

SOM-TL138F基于GDB和GDBServer的远程调试方法 [复制链接]

zhiwing (离线)
积分
1590
帖子
96
跳转到指定楼层
楼主
发表于 2019-8-12 15:11:24 |只看该作者 |倒序浏览
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.jpg

如果开发板还没安装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 <stdio.h>

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.jpg

执行如下命令编译程序,使用”-g”参数进行GDB编译:

Host#        arm-linux-gnueabihf-gcc test.c -o test -g  

图片3.jpg

将编译后可执行程序test拷贝到开发板任意路径下



送彩金500的网站大白菜帮助

销售邮箱:www.tronlong.com

技术论坛:www.51ele.net

线上商城:https://tronlong.taobao.com


百度搜索创龙DSP培训班
您需要登录后才可以发表评论 登录 | 立即注册

关于我们  -  服务条款  -  使用指南  -  站点地图  -  友情链接  -  联系我们
电子工程网 © 版权所有   京ICP备16069177号 | 京公网安备11010502021702
回顶部
博聚网