HPM6750系列--第七篇 Visual Studio Code使用openocd调试查看外设信息

一、目的

        在《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》我们已经手把手指导大家如何在visual studio code中进行开发,包括编译调试等步骤以及相关配置文件。

        但是在实际调试时发现找不到芯片寄存器实时显示的窗口,本篇主要讲解如何实现这个功能,关于如何配置visual studio code开发环境,本篇不再介绍,请务必先按照第四篇内容操作一遍。

        注意:本篇调试工具仍然是openocd + ft2232

二、实战

        1.打开工程
cd ~/workspace/work/hpm/hello_world
code .
        2.配置launch.js

        

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "HPM Debug OpenOCD FT2232",
            "cwd": "${workspaceRoot}",
            "executable": "${command:cmake.launchTargetPath}",
            "request": "launch",
            "type": "cortex-debug",
            "servertype": "openocd",
            "gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb",
            "searchDir": ["${env:OPENOCD_SCRIPTS}"],
            "device": "HPM6750",
            "configFiles": [
                "probes/ft2232.cfg",
                "soc/hpm6750-single-core.cfg",
                "boards/hpm6750evkmini.cfg"
            ],
            "interface": "jtag",
            "svdFile":"${env:HPM_SDK_BASE}/soc/HPM6750/HPM6750_svd.xml",
            "runToEntryPoint": "main",
            // Work around for stopping at main on restart
            "postRestartCommands": [
                "break main",
                "continue"
            ]
        }
    ]
}

        注意svdFile这个配置项,其他配置项在之前的博客中已经讲解。

        svdFile用于描述设备硬件信息,包括CPU、外设信息等等。hpm-sdk根目录下的soc目录包含先楫MCU的SVD文件描述。


        具体SVD文件格式可以参考一下文档

        SVD Description (*.svd) Formaticon-default.png?t=N7T8https://www.keil.com/pack/doc/CMSIS/SVD/html/svd_Format_pg.html 

        3.开始调试

        进入调试界面后如下图显示

 

        观察左侧变量,依次可以看到栈上变量、全局变量、静态变量、CPU寄存器、外设寄存器信息(地址以及当前值) 

        4.查看寄存器的值

         

 

        至此,本篇内容介绍完毕。

        关于VS CODE如何配合Jlink进行调试会在HPM5300evk开发板进行讲解。

 

相关推荐

  1. Android下使用OpenOCD

    2023-12-15 16:04:02       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-15 16:04:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-15 16:04:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-15 16:04:02       82 阅读
  4. Python语言-面向对象

    2023-12-15 16:04:02       91 阅读

热门阅读

  1. 某60内网渗透之DNS隧道通信初探-dnscat2与C&C

    2023-12-15 16:04:02       57 阅读
  2. 【Linux】多线程相关问题

    2023-12-15 16:04:02       57 阅读
  3. 鸿蒙arkTs Toast抽取 及使用

    2023-12-15 16:04:02       67 阅读
  4. 常用的调试方法(段错误产生原因)

    2023-12-15 16:04:02       56 阅读
  5. Linux常见面试题30题详细答案解析(二)

    2023-12-15 16:04:02       56 阅读
  6. Spring Boot中Web类型

    2023-12-15 16:04:02       58 阅读
  7. 取火柴游戏

    2023-12-15 16:04:02       57 阅读
  8. C语言:实现字符串连接

    2023-12-15 16:04:02       62 阅读
  9. 二建自学资料

    2023-12-15 16:04:02       62 阅读