RISC-V MCU中文社区

RVMCU课堂「3」:手把手教你玩转RVSTAR—SEGGER Embedded Studio+JLink调试器篇

发表于 2021-04-12 13:09:07
0
6931
1


本教程以板上按键控制点亮RV-STAR开发板上的LED为目标,从IDE的下载安装开始详细介绍了使用SEGGER Embedded Studio+JLink调试器进行RISC-V嵌入式开发的方法。


系统环境:Windows 10-64bit


硬件平台:基于GD32VF103 MCU的RV-STAR开发板,JLink调试器(调试器固件版本需支持RISC-V)


SEGGER Embedded Studio 和 JLink驱动的下载和安装

SEGGER Embedded Studio是SEGGER公司推出的一款嵌入式开发的集成开发环境,具有开发与编译界面专业、调试功能强大(配备知名的J-Link仿真器)、非商业使用免费、跨平台兼容和配置灵活等特点。

在SEGGER官网可以下载IDE软件,其链接如下:

https://www.segger.com/downloads/embedded-studio/

根据自己的操作系统下载对应的安装包即可,需要注意的是,一定要下载支持RISC-V的IDE。双击安装包运行,安装过程没有特殊需要注意的地方,一直点next即可。

安装SEGGER Embedded Studio之后还要安装JLink驱动,也在SEGGER官网下载,其连接如下:

https://www.segger.com/downloads/jlink/

同样,安装过程没有特别要注意的,正确安装即可。




下载并配置工具链

下一步准备工具链,从芯来科技官网的下载页面下载,其链接如下:

https://www.nucleisys.com/download.php

根据使用的操作系统下载对应的RISC-V GNU Toolchain。


在SEGGER Embedded Studio的安装路径下新建一个Nuclei_Toolchain文件夹。如果不记得安装到哪里了,可以打开安装好的Embedded Studio,菜单栏中选择“File->Open Studio Folder->Studio Folder”即可打开安装位置。

在新建的Nuclei_Toolchain文件夹里面放入解压好的工具链,直接解压后还需修改一下文件夹层级和文件夹名。文件名修改成gcc,并且要求下一级文件夹是bin文件所在层级,可参考以下截图:




使用JLink调试器连接开发板到PC


使用JLink调试RV-STAR需要移除开发板上的五个短接帽,如下图中红框所示。连接时如果看不清图中文字,可以参考板上的丝印。

JLink的引脚如下,红框标注的是需要连接的引脚,将JLink的引脚与上图中红框引脚按照名字一一对应相连。注意接到RV-STAR开发板靠近GD32VF130VBT6芯片侧的排针上。VTref引脚要接到RV-STAR开发板RGB LED下方的3V3接口。

使用时Type-C也需要连接,起到供电的作用。连接后参考实物图如下:

下载DEMO工程

在Github下载RV-STAR的demo工程,其链接如下:

https://github.com/riscv-mcu/ses_nuclei_sdk_projects

国内使用github下载速度有限,推荐使用码云,其链接如下:

https://gitee.com/riscv-mcu/ses_nuclei_sdk_projects



配置使用RTT打印输出

JLink调试器可以使用SEGGER的RTT功能打印输出,需要配置一些文件到工程当中。

下载DEMO工程后打开rvstar_demos文件夹,双击rvstar_demos.emProject即可打开demo工程。

选择菜单栏的“File->Open Studio Folder->Project Folder”打开工程所在路径,新建一个SEGGER文件夹。

打开J-Link驱动的根目录,将“Samples->RTT”路径下的“SEGGER_RTT_V680d.zip”解压缩(具体压缩包名可能因版本不同而变化),如下图所示。

解压后将RTT文件夹下的“SEGGER_RTT.c”,“SEGGER_RTT.h”和“SEGGER_RTT_Conf.h”三个文件以及Syscalls文件夹下的“SEGGER_RTT_Syscalls_GCC.c”这些文件复制到之前新建的SEGGER文件夹中。

在Embedded Studio中右击当前工程,选择“New Folder”,新建一个SEGGER文件夹,右击新建的文件夹选择“Add Existing File”,将SEGGER文件夹内新增的四个文件添加至工程中。配置完成如下图,双击打开“SEGGER_RTT_Syscalls_GCC.c”文件,注释掉第59行的“#include”。

右击当前工程名,选择Options打开设置页面,选中“Preprocessor”,在“User Include Directories”中增加“$(SolutionDir)/SEGGER”。

在工程的“nuclei_sdk/SoC/hbird/Common/Source/Stubs”下的“write.c”文件处右击,选择“Exclude From Build”移除原有的write.c文件。

这样RTT配置完成,在调试时如果有打印内容会自动打开控制台显示输出内容。


调试运行DEMO工程

右击当前工程名,选择“Options”打开工程设置页面。选中Debugger,双击Target Connection选项,在弹窗中切换为J-Link,点击OK完成设置。

双击Project ‘running led’选中running_led工程,直接按f5即可进入调试模式。

点击运行,这时候按键就会看到led在红绿蓝白之间切换,同时在“Debug Terminal”中看到打印内容。

更多实验

更多实验例程可以到RVMCU社区快速入门页面获取教程资料。

https://www.rvmcu.com/quickstart.html

欢迎登陆我们的RV社区:https://www.riscv-mcu.com,更多精彩的RVMCU内容等您来~

喜欢1
用户评论
admin

admin 实名认证

专业RISC-V处理器IP找“芯来”

积分
问答
粉丝
关注
专栏作者
个人开发者
企业开发者
  • RV-STAR 开发板
  • RISC-V处理器设计系列课程
  • 培养RISC-V大学土壤 共建RISC-V教育生态
RV-STAR 开发板