0
点赞
收藏
分享

微信扫一扫

你一般会什么时候使用CHATGPT?

安七月读书 2023-11-02 阅读 48

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

一、说明

1.1 概述

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.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技术支持邮箱。
在这里插入图片描述

举报

相关推荐

0 条评论