RISC-V IDE MRS无感远程协助模块详解

RISC-V IDE MRS无感远程协助模块详解

一、说明

1.1 概述

针对RISC-V/ARM等内核MCU的嵌入式集成开发环境MRS(MounRiver Studio)从V1.90版本开始内置无感远程协助模块(Sensorless Remote Assistant Module,以下简称SRA模块)。SRA模块是一款支持远程下载、调试、串口数据回显等功能的集成开发环境综合单元,提供了局域网、广域网环境下的专业嵌入式开发协助解决方案。

在实际的嵌入式项目推进过程中,经常会出现目标设备已经部署到工作环境但运行结果与预期不同的问题。由于涉密或代码管控的限制,往往无法直接将目标源码发送到设备端进行远程调试,所以只能将设备寄回或安排开发者奔赴现场进行问题排查。而MRSSRA模块则适用于该硬件设备与软件代码相互隔离的场景,在保证涉密代码安全的同时,减少了项目落地过程中的时间、人力成本。

1.1.1 软硬件连接

SRA模块进行无感远程协助时,两台不同主机上的MRS分别作为近端(调试方)与远端(被调试方)。根据网络环境的差异,也分为局域网以及广域网无感远程协助模式。
在这里插入图片描述

1.1.2 运行环境
MRS版本V1.90及以上。
WCH-LinkE固件版本V2.10及以上。
计算机系统Win7及以上。
1.1.3 功能特点

相较于目前已有的远程桌面工具或集成开发环境自带的远程软件,MRS SRA模块有以下功能特点:

  • 免网络设置:支持自适应网络模式,局域网、广域网下一键建立远程网络连接,无需网络配置。

在这里插入图片描述

  • 防代码泄漏:支持工程源码与目标硬件存在空间隔离的远程调试场景,涉密代码无需发送到目标硬件连接的主机。

在这里插入图片描述

  • 非独占操作:远程时不占用整个计算机操作权限,不影响被调试方使用MRS之外的其他软件。

在这里插入图片描述

  • 集多重加密:使用IoCHub[注1]建立各网络环境下的点对点加密通信,配合WCH-LinkE进行目标代码加密烧录。

在这里插入图片描述

  • 需操作授权:远端每次等待远程连接前,会实时生成唯一授权码,近端得到授权后才可以建立远程连接;远程下载、调试界面及操作与本地方式相同,兼容常规操作习惯。

在这里插入图片描述

注1: IoCHub是一种能自适应广域网、局域网的透明直传解决方案,仅需调用一套接口,就能让设备间实现高效、安全、稳定的点对点数据透传。MRS无感远程协助模块集成了IoCHub,通过其建立调试器软件的远程通信。在远程通信过程中IoCHub在远近端分别扮演调试器Client与调试器Server的角色。

1.1.4 应用场景

SRA模块支持远程下载、远程调试、远程IO信号控制、远程串口输出信息回显等功能,可应用于以下远程协助场景:
在这里插入图片描述

1.2 界面

SRA远程软件其整体界面如下,红框标记的分别为MRS中远程下载、远程调试以及SRA模块功能按钮。用户在远程协助时只用选择本机模式(调试方或被调试方),无需进行其他的网络配置。

在这里插入图片描述

未建立远程连接时,远程下载、远程调试按钮为灰化状态,此时只能进行本地下载、调试操作:
在这里插入图片描述

建立远程连接后,远程下载、远程调试按钮为使能状态,此时可以进行本地或远程下载、调试操作:
在这里插入图片描述

二、使用

2.1 建立SRA远程连接

在MRS的工具栏中点击无感远程协助按钮弹出远程软件界面,默认使用自适应网络模式,无需用户手动进行网络配置。远端用户只要点击开始远程调试按钮,将动态生成的远程授权码告知近端用户,等待近端与其建立远程连接即可。
在这里插入图片描述

2.2 执行SRA远程操作

2.2.1 远程下载

建立连接后,点击MRS界面的远程下载按钮,即可将近端编译生成的目标代码下载至远端设备,此时远端设备WCH-LinkE输出的信息将回显至MRS控制台。

在这里插入图片描述

在这里插入图片描述

2.2.2 远程调试

2.2.2.1 远程目标调试

SRA模块支持远程目标调试功能:近端用户将修改后编译生成的目标文件远程下载到目标芯片,然后根据远端回显的芯片运行时打印信息来调整近端源码,再重复上述下载、查看回显信息过程,直到确定最终的代码内容。
在这里插入图片描述

2.2.2.2 远程在线仿真

SRA模块也支持远程在线仿真功能:建立连接后,点击MRS界面的远程调试按钮,即可进行源码的远程在线仿真调试。整体操作与各项监控信息窗口与本地仿真调试无异,可以进行设断点、单步执行、全速执行、重新执行等操作。此时远端设备的调试信息仍会回显至近端。
在这里插入图片描述

2.2.3 远程IO控制

建立远程连接后,近端可以远程设置远端WCH-LinkE硬件的3.3v/5v引脚、RST引脚IO信号以及目标芯片的读保护状态。
在这里插入图片描述

2.2.4 远程串口回显

建立远程连接时,远端可以选择已连接的WCH-LinkE串口,将芯片串口TX引脚与WCH-LinkE RX引脚相连,再通过嵌入式代码将输出的打印信息流定向到该串口。

示例代码

__attribute__((used)) int _write(int fd, char *buf, int size)

{

  int i;

  for(i = 0; i < size; i++)

  {

    #if(DEBUG == DEBUG_UART1)

      while(USART_GetFlagStatus(USART1, USART_FLAG_TC) == RESET);

      USART_SendData(USART1, *buf++);

    #elif(DEBUG == DEBUG_UART2)

      while(USART_GetFlagStatus(USART2, USART_FLAG_TC) == RESET);

      USART_SendData(USART2, *buf++);

    #elif(DEBUG == DEBUG_UART3)

      while(USART_GetFlagStatus(USART3, USART_FLAG_TC) == RESET);

      USART_SendData(USART3, *buf++);

    #endif

   }

  return size;

}

远程协助时,近端调试者可以在MRS控制台和远程软件输出框中查看目标硬件的串口输出内容。
在这里插入图片描述

2.3 断开SRA远程连接

建立远程连接后,近端调试者和远端被调试者都可以主动断开SRA远程连接。

在这里插入图片描述

2.4 用户意见在线反馈

用户可以通过MRS用户意见在线反馈功能,将文字、图片、压缩包文件等反馈内容实时发送到MRS技术支持邮箱。
在这里插入图片描述

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

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

相关文章

Leetcode刷题详解——按摩师

1. 题目链接&#xff1a;面试题 17.16. 按摩师 2. 题目描述&#xff1a; 一个有名的按摩师会收到源源不断的预约请求&#xff0c;每个预约都可以选择接或不接。在每次预约服务之间要有休息时间&#xff0c;因此她不能接受相邻的预约。给定一个预约请求序列&#xff0c;替按摩师…

无线渗透|Wi-Fi渗透思路

对于WPA2 WPA3的一些渗透思路 0x00 进行渗透时需知晓的基础知识 1.WPA2:是WPA的升级版&#xff0c;是针对保护无线网络安全而设计的无线网络保护系统&#xff0c;引入了PSK&#xff08;预共享密钥模式&#xff09;秘钥&#xff0c;加强了WPA的不足之处&#xff0c;但是因为使…

技术栈 业务架构 插件库

大前端 技术栈 业务架构 插件库

yolov5 pt转成nccn_yolov5

一&#xff1a;转换环境准备 python版本为Python 3.8.0&#xff0c;需要安装对应的版本包&#xff0c;torch1.10.0 torchvision0.11.0 torchaudio0.10.0 pip3 install torch1.10.0 torchvision0.11.0 torchaudio0.10.0 -f https://download.pytorch.org/whl/torch_stable.html…

yum 命令

基本语法 yum [选项] [参数] 选项说明 -y 对所有提问都回答“yes” 参数说明 实操 yum list | grep firefox yum -y remove firefox yum -y install firefox

前端打印表格功能+单号生成条形码

第一种打印方法&#xff1a;不需要下载任何插件 浏览器自带打印功能&#xff08;不太推荐&#xff09;&#xff0c;原理是生成新的页面后被打印&#xff0c;当打印完成或者取消打印时&#xff0c;页面需要强制刷新&#xff0c;否则页面无法回显。 //打印功能 print() {var pr…

【EI会议征稿】第三届结构抗震与监测检测国际学术会议(SSRMD 2024)

第三届结构抗震与监测检测国际学术会议&#xff08;SSRMD 2024&#xff09; 2024 3rd International Conference on Structural Seismic Resistance, Monitoring and Detection 随着城市化进程的深入&#xff0c;城市中的建筑越来越多。建筑也逐渐多样化&#xff0c;复杂化。…

项目文章 | CUTTag助力解析水稻白叶枯病菌Sigma因子70 RpoD的致病作用

发表单位&#xff1a;南京农业大学和江苏省农业科学院植物保护研究所 期 刊&#xff1a;Journal of Integrative Agriculture&#xff08;IF:4.8&#xff09; 发表日期&#xff1a;2023年10月18日 2023年南京农业大学和江苏省农业科学院植物保护研究所研究团队在期刊Jo…

postgresql的windows

1. 资源下载&#xff1a; https://www.postgresql.org/download/windows/ 2. 安装 双击&#xff0c;指定D盘目录&#xff0c;接下来默认安装&#xff0c;一直到出现下面的最后一步。一定要去除勾选复选框。 在最后&#xff0c;点击FINISH。 3. 初始化 4. 检查和修改配置 1&am…

倾斜摄影三维模型的顶层合并构建重要性分析

倾斜摄影三维模型的顶层合并构建重要性分析 倾斜摄影超大场景的三维模型的顶层合并对于构建精确、完整且真实的三维模型具有重要的意义和应用价值。本文将从几个方面对其重要性进行浅析。 一、模型完整性与连贯性 倾斜摄影超大场景的三维模型的顶层合并可以将多个倾斜摄影数据…

从0到1之微信小程序快速入门(03)

目录 什么是生命周期函数 WXS脚本 ​编辑 与 JavaScript 不同 纯数据字段 组件生命周期 定义生命周期方法 代码示例 组件所在页面的生命周期 代码示例 插槽 什么是插槽 启用多插槽 ​编辑 定义多插槽 组件通信 组件间通信 监听事件 触发事件 获取组件实例 自…

winodws10系统C盘文件夹目录讲解

背景&#xff1a; 电脑安装系统一段时间后&#xff0c;发现C盘的空间越来越小&#xff0c;于是乎&#xff0c;想了解一下C盘文件目录结构&#xff0c;删除一下非必要的文件&#xff0c;同时增强一些操作系统的知识。 目前我的C盘目录如下&#xff1a; 如果开启显示隐藏文件&…

Ubuntu中使用yum命令出现错误提示:Command ‘yum‘ not found, did you mean:

Ubuntu中使用yum命令出现错误提示:Command ‘yum’ not found, did you mean: command ‘gum’ from snap gum (0.12.0) command ‘num’ from deb quickcal (2.4-1) command ‘yum4’ from deb nextgen-yum4 (4.5.2-6) command ‘uum’ from deb freewnn-jserver (1.1.1~a021…

在CentOS上用yum方式安装MySQL8过程记录

此文参考官方文档一步一步记录安装到正常运行全过程 安装环境&#xff1a;centos7 mysql版本&#xff1a;8.0.35 安装过程主要参考下面两边文章&#xff1a; 1.官方文档 https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html 2.linux yum安装mysql8 安…

Anaconda下载安装以及环境变量的配置

一、下载安装anaconda 可以在官网下载&#xff1a;Anaconda | The World’s Most Popular Data Science Platform 也直接用清华源镜像进行下载&#xff1a;Index of /anaconda/archive/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 按照需要选则自己需要的版本…

如何在十亿级别用户中检查用户名是否存在?

不知道大家有没有留意过&#xff0c;在使用一些app注册的时候&#xff0c;提示你用户名已经被占用了&#xff0c;需要更换一个&#xff0c;这是如何实现的呢&#xff1f;你可能想这不是很简单吗&#xff0c;去数据库里查一下有没有不就行了吗&#xff0c;那么假如用户数量很多&…

损失函数总结(十):TripletMarginLoss、TripletMarginWithDistanceLoss

损失函数总结&#xff08;十&#xff09;&#xff1a;TripletMarginLoss、TripletMarginWithDistanceLoss 1 引言2 损失函数2.1 TripletMarginLoss2.2 TripletMarginWithDistanceLoss 3 总结 1 引言 在前面的文章中已经介绍了介绍了一系列损失函数 (L1Loss、MSELoss、BCELoss、…

SpringBoot集成与应用Neo4j

文章目录 前言集成使用定义实体配置定义Repository查询方法方式一&#xff1a;Query方式二&#xff1a;Cypher语法构建器方式三&#xff1a;Example条件构建器方式四&#xff1a;DSL语法 自定义方法自定义接口继承自定义接口实现自定义接口neo4jTemplateNeo4jClient 自定义抽象…

计算线阵相机 到 拍摄产品之间 摆放距离?(隐含条件:保证图像不变形)

一物体被放置在传送带上&#xff0c;转轴的直径为100mm。已知线阵相机4K7u&#xff08;一行共4096个像素单元&#xff0c;像素单元大小7um&#xff09;&#xff0c;镜头35mm&#xff0c;编码器2000脉冲/圈。保证图像不变形的条件下&#xff0c;计算相机到产品之间 摆放距离&…