RISC-V IDE MRS使用笔记(八):实现局域网下的远程调试功能

news2024/11/18 7:50:20

RISC-V IDE MRS使用笔记(八):实现局域网下的远程调试功能

1.原理介绍

MRS调试时上位机与硬件的通信基于gdb客户端与服务端的连接。调试时,首先启动openocd以挂载gdbserver的服务到指定端口上。通信建立后,监听到界面操作后以gdb指令的形式发送给下位机,硬件响应后回传命令结果,MRS解析并更新视图,重复循环直至调试过程结束。
调试配置中指定服务端与本机客户端分离,即可适用于硬件与代码环境分离的调试场景。

2.前置准备

①两台已经安装MounRiver Studio最新版本的Windows电脑,且处于同一局域网下的同一网段
②CH32V307VCT6的开发板

3.搭建环境

①确保两台电脑处于同一局域网同一网段下,使用ipconfig命令分别获取两台电脑在局域网下的ip地址,分别关闭这两台电脑的防火墙,确保可以互相访问连接。

②启动调试服务端
在机器A插上CH32V307VCT6的开发板,检查设备管理器,外部接口正常显示,说明已经识别到设备。
在这里插入图片描述

切换到{MounRiver_Studio安装目录}\toolchain\OpenOCD\bin\ 下,修改OpenOCD的启动文件,CH32V307芯片对应的启动文件是wch-riscv.cfg,打开该文件后增加一行 “bindto 0.0.0.0”。
在这里插入图片描述

修改完成后,在该目录下使用“.\openocd.exe -f .\wch-riscv.cfg”命令启动OpenOCD,这样调试服务端就准备完成。
在这里插入图片描述

③ 启动调试客户端
在机器B上打开MounRiver Studio,打开CH32V307VCT6工程(如果没有就新建工程)。点击工具栏上调试配置,打开调试配置页面。
在这里插入图片描述

切换到Debugger 的Tab页
在这里插入图片描述

一般情况下此时底部的Remote Target为灰色,不可编辑修改。取消上方的勾选“Start OpenOCD locally”,这时底部的Remote Target处于可编辑状态。
输入调试服务端主机的局域网IP和gdbserver端口,点击Debug即可启动调试。等待几秒后就能进入熟悉的调试界面。
另外当连接建立后,服务端主机A的OpenOCD命令行界面,会显示建立连接的信息,如下图所示。
在这里插入图片描述

4.调试过程

①与本地环境的调试效果几乎一致。进入调试界面后,程序会自动在入口或者预设断点处暂停。用户可以在编辑器源码、反汇编窗口中打断点,通过工具栏按钮或快捷键执行单步、运行、停止等操作,在指定代码位置读取/修改变量值,或在指定内存地址、寄存器查看/修改字节内容, 实现代码调试。
在这里插入图片描述

②MRS结束调试,服务端主机A的OpenOCD命令行界面也会收到连接断开的信息,如下图所示。
在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Mapbox字体切片工具fontnik部署与使用

我们在使用Mapbox的时候,不同的图层可以配置不同的字体。Mapbox主要通过分片加载SDF格式字体的方式,将比较大的字体文件传输到前端渲染使用。fontnik可以将字体文件也制作成pbf切片文件,在访问的时候,图中大括号的位置,style中的glyphs,需要根据实际字体和切片索引进行替…

基于html+css的图展示101

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

硬件速攻-SG90舵机(180和360)

外观 180度和360度的区别 180度的舵机可以控制角度 360度的舵机只能控制正反转和速度 驱动逻辑 180度 t 0.5ms——————转动 0 t 1.0ms——————转动 45 t 1.5ms——————转动 90 t 2.0ms——————转动 135 t 2.5ms——————转动180 360度 t 0.5ms—…

微信小程序授权给第三方平台后,“消息与事件接收URL“接收不到客服消息

记录微信小程序授权第三方平台遇到的问题 问题表现为:微信小程序授权给第三方平台后,在小程序客服发送消息,消息与事件接收URL接收不到客服消息 小程序授权配置如下: 1、小程序已授权第三方平台“小程序客服管理”权限 2、小程…

韧性数据安全体系缘起与三个目标 |CEO专栏

今年4月,美创科技在数据安全领域的新探索——“韧性”数据安全防护体系框架正式发布亮相。 为帮您更深入了解“韧性数据安全”,我们特别推出专栏“构建适应性进化的韧性数据安全体系”,CEO柳遵梁亲自执笔,进行系列解读分享。 首期…

4.4. 对象序列化与反序列化

在本节中,我们将详细讨论Java中的对象序列化与反序列化概念、使用方法以及实例。对象序列化是将对象的状态信息转换为字节流的过程,而反序列化则相反,是将字节流恢复为对象的过程。 4.4.1 为什么需要对象序列化? 对象序列化的主…

SDN笔记

SDN是软件定义网络的简称,在SDN中,网络的控制面与数据面分离,并且通过中心控制器进行统一管理。SDN的主要目标是提高网络的灵活性、可编程性和智能化程度,从而更好地适应不断变化的业务需求。SDN可以通过控制器来管理网络设备&…

Day57【动态规划】647.回文子串、516.最长回文子序列

647.回文子串 力扣题目链接/文章讲解 视频讲解 1、确定 dp 数组下标及值含义 dp[i][j]:表示区间范围为 [i, j] 的子串是否为回文串(j > i) 这样定义才方便我们的递推!怎么想到的?回文串需要对比串的两端&#…

【大数据学习篇11】Spark项目实战~网站转化率统计

学习目标/Target 掌握广告点击流实时统计实现思路 掌握利用Kafka生产用户广告点击流数据 了解数据库设计 掌握如何创建Spark Streaming连接 掌握利用Spark Streaming读取业务数据 掌握利用Spark读取黑名单用户 掌握利用Spark Streaming过滤黑名单用户 掌握利用Spark St…

利用ArcGIS与CAD制作设计底图

准备工作: 1、需要用到的软件:ArcGIS软件、AutoCAD; 2、卫星图数据、矢量数据(因数据涉密,需要的同事请联系科技小组拷贝,并签署保密协议,严格履行保密责任)。 现在,保…

小程序开发逆势爆发,如此会无疾而终?

2019年,小程序迎来了爆发式的增长,一年时间,微信小程序的活跃用户达到了3.2亿,日活跃用户高达5.4亿,在这巨大的数据背后,是无数商家和企业的努力与付出。小程序开发的优势显而易见,不少商家和企…

for in和for of的区别

for in for in 使用于可枚举的数据 如 对象 数组 字符串 什么是可枚举的:属性的enumerable值为true,表示可枚举 可以通过es7新增的属性 Object.getOwnPropertyDescriptors()验证 查看 Object.getOwnPropertyDescriptor() 方法用于 返回 指定 对象 上一个…

kubernetes安装dashboard教程

kubernetes安装dashboard教程 前提: kubernetes集群安装完毕 安装: 1.到github获取配置文件 github下面给出方法说使用下面的直接执行就可以了,但是最近不知道为何找不到地址。 kubectl apply -f https://raw.githubusercontent.com/ku…

查看网页cookie的方法

方法一 进入目标网页后, 按F12,找到Console,在filter框内输入:document.cookie,然后回车 如果filter框内输入后下面没有显示,需要在2的位置输入document.cookie回车 其中红色的内容即为cookie内容 不过这…

如何使用OpenAI GPT-3进行自然语言生成?

自然语言生成是一项非常引人注目的技术,可以让计算机像人类一样理解、生成自然语言文本。最近,OpenAI发布了一种名为GPT-3的巨型语言模型,它是史上最强大的自然语言生成模型之一。在本文中,我将介绍如何使用GPT-3进行自然语言生成…

vue-admin-template后台管理模板在windows/linux/maxos使用

能用克隆与编译运行命令: # 克隆项目 git clone https://github.com/PanJiaChen/vue-admin-template.git# 进入项目目录 cd vue-admin-template# 安装依赖 npm install# 开发者模式运行 npm run dev 1. macos: 降级为NODEJS 16运行工程: export NODE_OPTIONS--openssl-legac…

【服务器】本地搭建PHP简单Imagewheel私人云图床

文章目录 1.前言2. Imagewheel网站搭建2.1. Imagewheel下载和安装2.2. Imagewheel网页测试2.3.cpolar的安装和注册 3.本地网页发布3.1.Cpolar临时数据隧道3.2.Cpolar稳定隧道(云端设置)3.3.Cpolar稳定隧道(本地设置) 4.公网访问测…

AndroidStudio Logcat中文乱码

1:Help-Edit Custom VM Options...,添加: -Dfile.encodingUTF-8 2:File-Settings....-Edittor-File Encodings,Global Encoding、Project Encoding设置为UTF-8 3:记得一定要重启AndroidStudio才会生效。

【Servlet编程】使用Smart Tomcat插件运行Servlet程序

前言: 大家好,我是良辰丫,在上一篇文章中我们已经学习了部署我们的第一个Servlet程序,想必大家对各个步骤已经有了一定的了解和认识,那么能不能优化一下各个步骤呢?每次打包部署有点麻烦哦!那么今天我们就来学习一个idea的插件,可以帮助我们简化我们的部署操作!!!&#x1f49e…

如何在Microsoft Excel中使用COUNTIF函数

COUNTIF 是一个 Excel 函数,用于对满足单个条件的区域中的单元格进行计数。COUNTIF可用于计算包含日期、数字和文本的单元格。COUNTIF 中使用的条件支持逻辑运算符(>、<、<>、=)和通配符(*、?)进行部分匹配。 例如,我们想计算包含 Google或 Facebook 的单元…