前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >蜂鸟E203系列——Linux调试(GDB+Openocd)

蜂鸟E203系列——Linux调试(GDB+Openocd)

作者头像
瓜大三哥
发布2020-07-14 16:20:14
1.7K0
发布2020-07-14 16:20:14
举报
文章被收录于专栏:瓜大三哥瓜大三哥

本文基于文章《蜂鸟E203系列——Linux下运行hello world例程》

GDB 简介

GDB(GNU Project Debugger),是 GNU 工具链中的调试软件。GDB 是一款应用非常广泛的调试工具,能够用于调试 C、 C++、 Ada 等等各种语言编写的程序,它提供如下功能:

  1. 下载或者启动程序
  2. 通过设定各种特定条件来停止程序
  3. 查看处理器的运行状态,包括通用寄存器的值,内存地址的值等
  4. 查看程序的状态,包括变量的值,函数的状态等
  5. 改变处理器的运行状态,包括通用寄存器的值,内存地址的值等
  6. 改变程序的状态,包括变量的值,函数的状态等

GDB 可以用于在主机 PC 的 Linux 系统中调试运行的程序,同时也能用于调试嵌入式硬件,在嵌入式硬件的环境中,由于资源有限,一般的嵌入式目标硬件上无法直接构建 GDB 的调试环境(譬如显示屏和 Linux 系统等),这时可以通过 GDB + GdbServer 的方式进行远程 (remote) 调试,通常而言 GdbServer在目标硬件上运行,而 GDB 则在主机 PC 上运行。

GDB 常用指令表

命令

描述

load file

动态连接file

jump

使当前程序跳转到某一行或某个地址

info br

查看断点信息

break function

在指定的函数或行号设置断点

step

进入函数内部

next

执行下一行代码,但是不进入函数内部

continue

恢复程序运行,直到碰到下一个断点

常用命令参考链接

https://www.cnblogs.com/jasonLiu2018/p/11494214.html https://www.cnblogs.com/lsgxeva/p/8024867.html

OpenOCD 简介

为了能够支持 GDB 对其进行调试, 蜂鸟 E203 使用 OpenOCD 作为其 GdbServer 与 GDB 进行配合。OpenOCD (Open On-Chip Debugger) 是一款开源的免费调试软件,由社区共同维护,由于其开放开源的特点,众多的公司和个人使用其作为调试软件,支持大多数主流的 MCU 和硬件开发板。

GDB 调试

在hbird-e-sdk目录下执行

1 编译目标文件

代码语言:javascript
复制
make dasm  PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOAT=0

2 下载运行

代码语言:javascript
复制
make upload  PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=flash USE_NANO=1 NANO_PFLOAT=0

3 打开OpenOCD,与开发板进行连接

代码语言:javascript
复制
make run_openocd PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm

3 重新打开一个终端并打开GDB

代码语言:javascript
复制
make run_gdb PROGRAM=helloworld BOARD=hbird-e200 CORE=e203 DOWNLOAD=itcm

4 在 GDB 界面进行调试:main函数设置断点

代码语言:javascript
复制
break main

5 查看断点信息

代码语言:javascript
复制
info break

6 从程序main入口执行,程序停在第一个断点处

代码语言:javascript
复制
jump main

7 从断点处单步调试

代码语言:javascript
复制
n
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-07-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GDB 简介
    • GDB 常用指令表
      • 常用命令参考链接
      • OpenOCD 简介
      • GDB 调试
        • 1 编译目标文件
          • 2 下载运行
            • 3 打开OpenOCD,与开发板进行连接
              • 3 重新打开一个终端并打开GDB
                • 4 在 GDB 界面进行调试:main函数设置断点
                  • 5 查看断点信息
                    • 6 从程序main入口执行,程序停在第一个断点处
                      • 7 从断点处单步调试
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档