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开发板进行讲解。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/246005.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

N通道沟槽电源 场效应管 FMB30H100SL

亿胜盈科FMB30H100SL是一款N通道沟槽电源的场效应管(MOS管),FMB30H100SL封装为:TOLL4-6R。

风速预测(二)基于Pytorch的EMD-LSTM模型

目录 前言 1 风速数据EMD分解与可视化 1.1 导入数据 1.2 EMD分解 2 数据集制作与预处理 2.1 先划分数据集,按照8:2划分训练集和测试集 2.2 设置滑动窗口大小为7,制作数据集 3 基于Pytorch的EMD-LSTM模型预测 3.1 数据加载&#xff0…

Jenkins 添加节点报错

报错日志 Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.UnsupportedClassVersionError: hudson/remoting/Launcher has been compiled by a more recent version of the Java Runtime (cl…

飞天使-docker知识点5-资源限制与容器的不同状态

文章目录 cpu和内存的限制内存限制的部分参数容器的不同状态docker images 的分层docker registry制作镜像 cpu和内存的限制 默认情况下,容器没有资源限制,可以使用主机内核调度程序允许的尽可能多的 给定资源,Docker 提供了控制容器可以限制…

app分发平台哪个好点?手机app应用内测分发平台支持负载均衡的重要性

随着互联网的快速发展,内测分发平台扮演着越来越重要的角色。而在现代应用程序的开发和运营过程中,负载均衡技术是不可或缺的一部分。内测分发平台支持负载均衡对于提高系统的稳定性、可靠性和性能至关重要。那么什么是负载均衡又有哪些重要性。 图片来源…

通俗理解什么是 LSTM 神经网络

大家好啊,我是董董灿。 刚开始做程序开发时,在公司提交代码前,都需要让大佬们 review(评审),大佬们看完,总会在评论区打出一串"LGTM"。 当时作为小白的我,天真地以为大佬觉得我提交的代码还不错…

Stable Diffusion 源码解析(1)

参考1:https://blog.csdn.net/Eric_1993/article/details/129393890 参考2:https://zhuanlan.zhihu.com/p/613337342 1.StableDiffusion基本原理1.1 UNetModel、FrozenCLIP 模型1.2 DDPM、DDIM、PLMS算法 2. Runwayml SD 源码2.1 Img2Img Pipeline2.2 DD…

论文笔记:详解图注意力网络(GAT)

整理了GAT( ICLR2018 Graph Attention Network)论文的阅读笔记 背景图注意力网络的构建模块与其他模型对比实验 背景 图神经网络的任务可以分为直推式(Transductive)学习与归纳(Inductive)学习: Inductive learning,翻译成中文可以…

C++项目引入依赖_例jsoncpp(MAC/CLion)

1、git clone jsoncpp到本地 jsoncpp github地址:https://github.com/open-source-parsers/jsoncpp/tree/master 2、编译生成 lib 文件 进入jsoncpp文件目录 # 进入 jsoncpp 目录,创建一个新的子目录来存放编译输出: mkdir build &&a…

试以单链表为存储结构实现简单选择排序的算法

简单选择排序,就是每趟把剩余元素最小或者最大的选出来排到前面 这道题值得推敲的是,p作为一个链表结点也是可以作为for循环的初始条件和判断条件的,至于查找到最小值之后,可以把两者的数值进行一个交换,就不用删结点…

SAP ABAP 面试题交流

1.列举AT事件并说明其作用,AT事件中的工作区有何不同? AT FIRST 循环loop中执行第一条数据 AT LAST 循环loop中执行最后一条数据 AT NEW 循环loop中指定字段(包含指定字段)记录与上一条记录不一致数据执行 AT END OF 循环loo…

计算机网络:物理层(奈氏准则和香农定理,含例题)

带你速通计算机网络期末 文章目录 一、码元和带宽 1、什么是码元 2、数字通信系统数据传输速率的两种表示方法 2.1、码元传输速率 2.2、信息传输速率 3、例题 3.1、例题1 3.2、例题2 4、带宽 二、奈氏准则(奈奎斯特定理) 1、奈氏准则简介 2、…

基于亚马逊云科技新功能:Amazon SageMaker Canvas无代码机器学习—以构建货物的交付状态检测模型实战为例深度剖析以突显其特性

授权说明:本篇文章授权活动官方亚马逊云科技文章转发、改写权,包括不限于在亚马逊云科技开发者社区、 知乎、自媒体平台、第三方开发者媒体等亚马逊云科技官方渠道。 目录 🚀一. Amazon SageMaker 🔎1.1 新功能发布:A…

使用GAN进行异常检测

自从基于Stable Diffusion的生成模型大火以后,基于GAN的研究越来越少了,但是这并不能说明他就没有用了。异常检测是多个研究领域面临的重要问题,包括金融、医疗保健和网络安全。检测和正确分类未见的异常是一个具有挑战性的问题,多…

Electron 跨平台打包

最近利用 Electron 制作跨平台安装包,记录步骤,踩坑多多。 首先,一步步搭建项目 一、搭建环境 初始化 package.json,这里要求 node 版本不低于14.16,我用的 v14.16.0,16版本在 Linux 下容易出现安装依赖…

Java架构师系统架构高性能维度分析

目录 1 导语2 性能维度概述和定义3 高性能流程4 高性能实现方案-缓存为王5 高性能实现方案-异步为帅、分布式为将6 高性能高并发架构案例分析7 总结想学习架构师构建流程请跳转:Java架构师系统架构设计 1 导语 Java架构师在构建高性能系统架构时,需要关注以下几个关键维度:…

Spark环境搭建和使用方法

目录 一、安装Spark (一)基础环境 (二)安装Python3版本 (三)下载安装Spark (四)配置相关文件 二、在pyspark中运行代码 (一)pyspark命令 &#xff08…

软件测试前景怎么样?寒冬季?

怎么说呢? 正所谓说360行,行行出状元。 各个行业都有金字塔,站在金字塔的只有一部分的人。 所以我的答案是,有前景,但是要努力往测试开发方向走到塔尖。 我从三个方面来说吧。 一、测试、运维、开发,我…

世界第一个语言不通的人是如何沟通的?

引言:语言是人类交流的重要工具,但在人类历史的某个时刻,肯定会有这样一位勇敢的先驱,他成为了世界上第一个语言不通的人。那么在他面临交流难题时,他是如何与他人沟通的呢?本文将对此进行探索。主体&#…

开源IPad Pro应用IDE:使用SSH远程连接服务器进行云端编程开发

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《Linux》《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,…