openocd的源码学习0-----利用gdb和openocd对riscv芯片进行debug的总体框图

如果想更好的理解gdb和openocd,我画了一张图。我把调试的过程主要分为三部分。
  1. pc端主要备有gdb和openocd (我是在linux环境下进行调试的,同样也可以在window下进行相关的配置)
  2. 调试器采用usb转jtag的sipeed调试器
  3. riscv芯片(内部含有DTM、DMI、DM),可以买市面上的riscv开发板,实在不行就通过qemu来搭建riscv芯片。
    在这里插入图片描述

使用的gdb的方式有很多,这里介绍一下我使用的gdb的版本。
下载链接如下:嵌入式交叉编译器链接包含gcc和gdb

我使用的是ubuntu20.04,所以安装红色箭头指向的文件就可以。大家可以根据自己的系统版本来选择需要安装的版本。(记得配置环境变量,这样我们就可以系统中的任何地方使用它)
在这里插入图片描述
同样,我们也可以根据需要调试的riscv芯片配置自己的交叉编译器,编译的时间很长,将近1个多小时。
下载链接如下:可定制的交叉编译器
这种配置方式对网络的要求很好,尤其是下载github里面的文件以及其子文件。后续我会写一篇文章教大家配置属于自己的交叉编译器。

同样,在riscv官方的调试手册中也可以看到下面的图。

在这里插入图片描述
当我们在gdb中输入一个设置断点指令,debug系统的内部是怎样工作的,这是我们需要关注的重点。
我觉得调试的核心在于对openocd的关键代码进行理解。在openocd中有上千个文件,但不是所有的文件我们都需要我们去看的,我们需要抓住其核心,这样才可以尽快的掌握。

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
你可以使用Cortex-DebugOpenOCD调试泰凌微(TCL)微控制器。首先,确保你已经安装了OpenOCD和Cortex-Debug插件。然后,按照以下步骤进行设置和调试: 1. 配置OpenOCD:创建一个OpenOCD配置文件,用于连接和调试泰凌微芯片。在该配置文件中,指定目标设备和连接接口。你可以参考OpenOCD的文档和泰凌微芯片的手册来设置正确的配置。 2. 配置Cortex-Debug:在VS Code中打开你的项目,并确保已经安装了Cortex-Debug插件。打开调试器视图(Ctrl+Shift+D),然后点击配置按钮。选择"Cortex Debug"配置,它会在你的项目中创建一个`.vscode/launch.json`文件。 3. 在`.vscode/launch.json`文件中,找到`configurations`部分,并添加一个新的调试配置。配置项中需要指定OpenOCD的路径和配置文件路径。例如: ```json { "version": "0.2.0", "configurations": [ { "name": "Debug with OpenOCD", "type": "cortex-debug", "request": "launch", "servertype": "openocd", "configFiles": [ "${workspaceRoot}/path/to/openocd.cfg" ], "executable": "${workspaceRoot}/path/to/your/executable.elf", "svdFile": "${workspaceRoot}/path/to/your/svdfile.svd" } ] } ``` 确保将路径替换为你自己的OpenOCD配置文件、可执行文件和SVD文件的路径。 4. 现在你可以在VS Code中使用Cortex-Debug调试泰凌微芯片了。点击调试视图中的绿色播放按钮,它将使用OpenOCD连接到目标设备,并开始调试你的代码。 这里只是一个简单的配置示例,你可以根据你的具体情况进行调整。确保你已经正确配置了OpenOCD和Cortex-Debug,并按照泰凌微芯片手册中的要求进行设置。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值