2693|1

82

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

“intel SoC FPGA学习心得”+课时5中GDBServer我的实现方法 [复制链接]

本帖最后由 STM32F103 于 2019-5-18 18:59 编辑

我用的是DE10-Nano的板卡,并且所用的Quartus的版本为16.1,在学习课程的过程中,其中第5课时关于GDBServer的使用,发现和小梅哥视频中的操作不太一样,具体体现在没有Connection的选项,如下图所示:
然后我在测试的过程中没办法去测试,经过一番摸索,发现使用C/C++ Remote Application的方法可以完成小梅哥视频里面的教程。因此在此处跟大家分享一下,大部分的操作和视频是一样的,首先我也是 采用的板子和电脑通过网线直连的方法,那么这时候需要设置一下板子和电脑的IP,其中我的电脑设置的IP为192.168.2.100

然后通过命令“ifconfig eth0 192.168.2.101”临时设置板子的IP为192.168.2.101

为了验证连接上通不通,此处使用电脑端的CMD命令ping一下板子

可以发现通过ping的命令在连接上是正常的。

在视频中小梅哥使用的是WinSCP来实现文件的传输的,并且特别提到了需要设置root账号的密码,在此处笔者的电脑上,发现不用设置密码同样可以通过WinSCP连接到板子,连接的结果如下:

连接完成以后设置C/C++ Remote Application,其实这里和小梅哥视频中的设置一样,在此处非常感谢小梅哥,提供了一种新的调试方案,我记得以前学习SOC的时候,调试的步骤特别复杂,现在用的小梅哥提供的调试方案,简化了不少,并且效率也还行,调试的时候反应也很快。下面是电脑端DS-5中工程调试的设置:


在此处需要注意的是,IP地址的选择一定要对上。

本文所使用的测试代码很简单:
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main(void)
  4. {
  5.         int a=0,b=0,c=0;

  6.         printf("!!!Hello World!!!\n");
  7.         a=1;
  8.         b=2;
  9.         c=a+b;
  10.         b++;
  11.         c=c+b;

  12.         printf("c:%d\n",c);

  13.         return EXIT_SUCCESS;
  14. }
复制代码



接下来把上述代码编译生成的HelloLinux文件通过WinSCP复制到板子上:

同时在板子上更改运行的权限,先直接运行一下程序,看看结果对不对:

通过测试可以看到运行出来的结果还是正确的。

接下来可以进行调试,首先输入命令“gdbserver :10000 HelloLinux”等待调试:


然后在电脑端执行Debug操作,进行在线的调试工作,调试的过程如下:


调试过程中可以看到参数a,b,c的值发生了变化,同样输出的printf也跟着发生了改变,说明使用gdbserver的方法调试成功。

1_NoIP.png (90.48 KB, 下载次数: 0)

1_NoIP.png
此帖出自FPGA/CPLD论坛

最新回复

很赞,谢谢分享。  详情 回复 发表于 2019-5-21 11:10
点赞 关注
 

回复
举报

230

帖子

2

TA的资源

纯净的硅(初级)

沙发
 
很赞,谢谢分享。
此帖出自FPGA/CPLD论坛
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表