HPM5300系列--第二篇 Visual Studio Code开发环境以及多种调试器调试模式

一、目的

        在博文《HPM5300系列--第一篇 命令行开发调试环境搭建》、《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》中我们介绍了命令行方式开发环境,也介绍了HPM6750evkmini开发板如何使用Visual Studio Code进行开发调试(其中调试方式使用openocd + ft2232的组合方式)。

        本篇我们主要介绍HPM5300evk开发板在vscode如何开发调试,其中关于编译环境的构建请参考 《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》(必须要看)。

        

二、介绍

        必须查看 《HPM6750系列--第四篇 搭建Visual Studio Code开发调试环境》章节创建工程目录并拷贝示例工程之前的内容。

        1.打开工程
cd ~/workspace/work/hpm/hpm5300evk/hello_world
code .

        由于HPM5300evk开发板有FT2232芯片,故可以使用openocd进行调试;另外板载有JTAG接口,可以配合Jlink调试器进行调试。

        

        2.配置调试器启动文件

        使用openocd + ft2232模式

        

         

        使用openocd + jlink模式(板子上的跳线帽需要都取消掉)

         

        使用jlink调试器模式(板子上的跳线帽需要都取消掉)

 

 

        完整的launch.json文件内容

{"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": "HPM5361","configFiles": ["probes/ft2232.cfg","soc/hpm5361.cfg","boards/hpm5300evk.cfg"],"interface": "jtag",//"svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml","runToEntryPoint": "main",// Work around for stopping at main on restart"postRestartCommands": ["break main","continue"]},{"name": "HPM Debug OpenOCD JLINK","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}","${env:HPM_OPENOCD_PATH}/tcl"],"device": "HPM5361","configFiles": ["probes/jlink.cfg","soc/hpm5361.cfg","boards/hpm5300evk.cfg"],"interface": "jtag","svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml","runToEntryPoint": "main",// Work around for stopping at main on restart"postRestartCommands": ["break main","continue"]},{"name": "HPM Debug Jlink","cwd": "${workspaceRoot}","executable": "${command:cmake.launchTargetPath}","request": "launch","type": "cortex-debug","servertype": "jlink","gdbPath" : "${env:GNURISCV_TOOLCHAIN_PATH}/bin/riscv32-unknown-elf-gdb","device": "HPM5361xCBx","interface": "jtag","svdFile":"${env:HPM_SDK_BASE}/soc/HPM5361/HPM5361_svd.xml","runToEntryPoint": "main",// Work around for stopping at main on restart"postRestartCommands": ["break main","continue"]}]
}

        有了以上的配置后,三种方式都可以根据需要自行选择。

        如果你觉得有用,麻烦关注一下公众号哈。 

         

 

        

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ASF-YOLO开源 | SSFF融合+TPE编码+CPAM注意力,精度提升!

目录 摘要 1 Introduction 2 Related work 2.1 Cell instance segmentation 2.2 Improved YOLO for instance segmentation 3 The proposed ASF-YOLO model 3.1 Overall architecture 3.2 Scale sequence feature fusion module 3.3 Triple feature encoding module …

3小时快速入门自动化测试 —— Selenium测试工具

自动化测试 自动化测试简单来说就是利用自动化测试工具和自动化测试脚本来完成指定的测试任务,测试启动过程无需人工参与,但自动化测试之前的准备工作需要人工手动配置好。它是一种将重复性、繁琐的测试任务交给计算机自动执行的方法,能够显…

VUE中如果让全局组件在某一页面不显示

目录 前言 方法一 1.在全局组件中添加一个变量用于控制显示与隐藏。 2.在全局组件的模板中使用 v-if 条件来决定是否显示该组件 3.在不需要显示全局组件的页面中,修改 showGlobalComponent 变量的值为 false,以隐藏全局组件。 4.在需要隐藏全局组…

21、状态模式(State Pattern)

状态模式指给对象定义不同的状态,并为不同的状态定义不同的行为,在对象的状态发生变换时自动切换状态的行为。 状态模式是一种对象行为型模式,它将对象的不同行为封装到不同的状态中,遵循了“单一职责”原则。同时,状…

Linux概述

文章目录 LinuxLinux可以做什么Linux概述Linux的发行版Linux和Windows的区别 Linux Linux可以做什么 谁可以学习: 所有程序员大数据工程师运维工程师 Linux概述 Linux是一个操作系统(OS),我们比较熟悉的操作系统有Windows、苹…

智能冶钢厂环境监控与设备控制系统(边缘物联网网关)

目录 1、项目背景 2、项目功能介绍 3、模块框架 3.1 架构框图 3.2 架构介绍 4、系统组成与工作原理 4.1 数据采集 4.2 指令控制 4.3 其他模块 4.3.1 网页、qt视频流 4.3.2 qt搜索进程 5、成果呈现 6、问题解决 7、项目总结 1、项目背景 这个项目的背景是钢铁行业的…

ES分词查询

全文检索介绍 全文检索的发展过程: 数据库使用SQL语句:select * from table where data like “%检索内容%”出现lucene全文检索工具(缺点:暴露的接口相对复杂,且没有效率)出现分布式检索服务框架solr&am…

Qt之Ui样式表不影响子类的配置

Qt之Ui样式表不影响子类的配置 问题 在ui界面上布局时,当对容器进行样试设计时,会对容器内其它成员对象也进行了修改 分析 对应*.ui文件内容 从这个写法来看,它的样式属性会影响其成员对象样式属性。 解决方法 在容器的样式表中写时适…

C语言之文件操作

目录 一、文件是什么 1.1 程序文件 1.2 数据文件 1.3 文件名 二、文件的作用 三、二进制文件和文本文件 四、文件的打开和关闭 4.1 流和标准流 (1)流 (2)标准流 4.2 文件指针 4.3 文件的打开和关闭 (1&a…

LinuxC中进程通信

LinuxC中进程通信 信号(Signals):Linux 提供了信号机制,允许一个进程向另一个进程发送信号以通知特定事件的发生。这是一种轻量级的通信机制,通常用于处理异步事件。您可以使用 kill 命令或 kill 函数来发送信号&…

CleanMyMac2024绿色免费激活码序列号

2024CleanMyMac免费mac下载版是一款简单实用的PC清洁管理工具,电脑刚装完系统的时候运行速度超级快,随着时间的推移,你会发现越来越慢,经常会反应卡顿,越来越多的垃圾文件占用了你的磁盘空间,各种过时的日志…

EM的理论基础

1 EM定义​ 电迁移(Electro-Migration)是指在外加电场下,电子和金属原子之间的动量转移导致材料的运动。这种动量传递导致金属原子(比如Cu原子)从其原始位置移位,如图7-1。这种效应随着导线中电流密度的增加而增加,并且在更高的温度下,动量传递变得更加严重。因此,在先…

浮动的魅力与挑战:如何在前端设计中巧妙运用浮动(下)

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

TikTok与虚拟现实的完美交融:全新娱乐时代的开启

TikTok,这个风靡全球的短视频平台,与虚拟现实(VR)技术的深度结合,为用户呈现了一场全新的娱乐盛宴。虚拟现实技术为TikTok带来了更丰富、更沉浸的用户体验,标志着全新娱乐时代的开启。本文将深入探讨TikTok…

多线程------ThreadLocal详解

目录 1. 什么是 ThreadLocal? 2. 如何使用 ThreadLocal? 3. ThreadLocal 的作用 4. ThreadLocal 的应用场景 5. ThreadLocal 的注意事项 我的其他博客 ThreadLocal 是 Java 中一个很有用的类,它提供了线程局部变量的支持。线程局部变量…

docker的资源控制

对容器使用宿主机的资源进行限制。例如:cpu、内容、磁盘I/O docker使用Linux自带的功能Cgroup功能进行控制 Cgroup是什么? Cgroup:Control grouos是Linux内核系统提供的一种可以限制、记录、隔离进程组所使用的物理资源机制。 docker借助…

鸿蒙(HarmonyOS)北向开发项目编译问题汇总

运行Hello World Hello World 工程可以运行在模拟器中,或者运行在真机设备中。本示例先以选择将 Hello World 工程运行在模拟器中进行说明,如果选择运行在真机设备中,需要先对工程进行签名,然后才能运行在真机设备中。 DevEco S…

el-table自定义表格数据

如上所示: 表格内的数据是:当前班级所在名次段的人数 / 当前班级1至n名的累计人数 5/12 也就是 5/75 需要变更为: 截至到当前名次段总人数(上次考试) / 截至到当前名次段总人数(本次考试&#xff09…

排序的简单理解(上)

1. 排序的概念及引用 1.1 排序的概念 排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作(按照我们的需求能够有序的将数据信息排列起来)。 稳定性:假…

工业级路由器在货运物流仓储管理中的应用

工业级路由器在货运物流仓储管理中扮演着重要的角色,为整个物流系统提供了稳定可靠的网络连接和数据传输支持。下面将从以下几个方面介绍工业级路由器在货运物流仓储管理中的应用。 实时监控和追踪:工业级路由器通过与各种传感器、监控设备和物联网设备的…