IDE快速上手
1. 准备工作
请使用预先整理好的Nuclei Studio IDE软件开发包,芯来科技已经将IDE软件压缩包上传至官网,下载链接为www.nucleisys.com/download.php,如下图1-1所示。

用户单击“Nuclei Studio:芯来集成开发环境(Nuclei Studio IDE)”即可进入下载页面。
2. Nuclei Studio IDE安装
在上一节下载下来的芯来集成开发环境(IDE)Nuclei Studio压缩包解压后包含若干个文件。如图2-1所示,分别介绍如下:
-
Nuclei Studio软件包:该软件包中包含了Nuclei Studio IDE的软件。注意:具体版本以及文件名可能会不断更新;
-
HBird_Driver.exe:此文件为芯来蜂鸟调试器的USB驱动安装文件,调试时需要安装此驱动使得其USB能够被识别;
-
Java安装文件:jdk-8u512-windows-x64.exe;
-
SerialDebugging_Tool:串口调试助手。

Nuclei Studio的安装步骤如下:
-
Eclipse是基于Java平运行的环境,为了能够使用Nuclei Studio,必须安装JDK,如果用户Windows平台上尚未配置java安装环境,需要双击安装解压文件包中的jdk-8u152-windows-x64.exe,根据安装向导的提示完成JDK的安装过程;
-
Nuclei Studio软件本身为绿色软件无需安装,安装好Java平台运行环境后,直接单击Nuclei Studio文件夹中eclipsec.exe即可启动Nuclei Studio。见下一章节,了解如何运行Nuclei Studio。

3. 启动Nuclei Studio
启动Nuclei Studio的要点如下:
-
直接双击NucleiStudio_IDE文件包中NucleiStudio文件夹下面的可执行文件,即可启动Nuclei Studio,如图3-1所示;
-
第一次启动Nuclei Studio后,将会弹出对话框要求设置Workspace目录,该目录将用于放置后续创建项目的文件夹,如图3-2所示;
-
设置好Workspace目录之后,确保Workspace的路径中没有中文,单击“Launch”按钮,将会启动Nuclei Studio。第一次启动后的Nuclei Studio界面如图3-3所示。



4. 下载GD32VF103工程包
开发板所需的IDE工程包存放在github仓库(地址为https://github.com/riscv-mcu/Nuclei-Studio_IDE-Project-Package)。仓库内包含,如图4-1所示。


将此工程包下载到本地解压后,GD32VF103C_START开发板的Running_Led工程包,包含如图4-2所示的内容。
5. 导入Running_Led工程
启动Nuclei StudioE后,在菜单栏选择“File->Import”,出现如图对话框,选择“General”菜单下“Exit Project into Workspace”,设置导入方式,然后点击按钮“Next”。

选择导入的方式后,点击“Browse”按钮选择上一节介绍的Demo_Suites中工程路径。注意:进入到“eclipse”这一级目录即可,如图5-2所示。

选择好Import的项目后,如果导入有效,会出现如图5-3所示的效果,在“Project”下出现的工程的名称,然后点击按钮“Finish”。

设置完以上操作后,IDE界面的“Project Explorer”栏中出现了导入的项目包,可以点击查看项目包的文件结构。如图5-4所示。

如图5-5所示,单击菜单上的锤子按钮,开始对项目进行编译,编译过程如图5-5所示。如果编译成功,则显示如图5-6所示,能够看到生成可执行文件的代码体积大小,包括text段、data段和bss段,以及总大小的十进制和十六进制数值。


6. 硬件连接
上面的软件部分已经准备完成,到此要进行硬件连接操作,将一条USB电缆接入到板载的GD-Link接口,本例程中未使用到串口,所以不用单独连接串口。如图所示,线缆连接好后,即使用USB口给开发板供电,板载的带“LEDPWR”标识的LED灯会点亮。此时硬件连接完成,如图6-1所示,可进入下一章节的步骤。

7. 运行项目
运行Running_LED项目,需要将编译好的可以执行文件下载到开发板中,在下载程序之前,需要根据芯片信号选择连接脚本,在运行模板创建Running_LED工程项目时,默认使用“GD32VF103xB.lds”。如果对应不同的芯片型号,请手动进行修改即可。
7.1 修改LDS文件
修改LDS文件的步骤如下:
-
首先进入到IDE界面,在“Project Explorer”栏中选中“Running_LED“项目;
-
单击鼠标右键,选择“Properties”。在“C/C+ Build”菜单下,点击“Setting”,在“Tool Setting"中,选择“GNU RISC-V Cross C++ Linker”栏目下的“General”,点击图标
,如图7-1所示;
-
点击“Workspace”选择工程内的”RISCV“目录下的连接对应的脚本。
注意:修改完成后,一定要进行保存操作。


7.2 下载项目程序
下载程序至MCU开发板步骤如下:
- 在菜单栏中,点击“Run->Run Configurations”;
- 进入Run配置界面,可以看到该工程对应的Run 配置文件已经自动生成,如果没有生成,右键“GDB Openocd Debuging”选择“new”,可以新建一个配置文件,如图7-3所示;
- 点击框选的“Run",可以看到IDE的”Console”区域开始输出的信息,如果没有报错信息,稍等几秒后,如图7-4所示,表示程序已经正确的下载到了开发板,并且程序自动运行起来;
- 下载完成后单击IDE红色“停止”按键将PC与开发板断开,如图7-5所示;
- 此时可以去观察的开发板上的LED1点亮和熄灭,至此程序已经成功下载到开发板,并且运行起来。



注意:如果用户是参考《使用Nuclei Studio快速开发GD32VF103》的方法,工程中没有生成GD_Link的配置文件,需要增加此步骤的操作,https://github.com/riscvmcu/GD32VF103_Demo_Suites 下载“openocd_gdlink.cfg”文件到本地,按照如图7-4 的方法进行操作。
8. Debug Runing_LED程序
如果程序员希望能够调试运行于MCU开发板中程序,可以使用Nuclei Studio IDE进行调试。由于IDE运行于主机PC端,而程序运行于MCU开发板上,因此这种调试也称为“在线调试”或者“远程调试”。
使用Nuclei Studio IDE对GD32VF103开发板进行在线调试的步骤如下:
- 在菜单栏中,点击Run->Debug Configurations,进入Debug配置界面,可以看到该工程对应的Debug配置文件已经自动生成,如图8-1所示,如果没有生成Debug配置文件,需要右键“GDB OpenOCD Debuging”,然后“New”一个新的配置;

- 添加SVD文件, SVD文件中定义了GDVF103芯片的详细的信息,包含了片内外设,每一个外设的硬件寄存器,每一个寄存器中每一个数据位的值,以及详细的说明信息等。GDVF103存放在Nuclei Studio IDE软件包下 NucleiStudio\svd目录下,名为“GD32VF103.svd"。添加步骤如图8-2所示。

- 如果工程中没有生成GD_Link配置文件的路径,需要增加此步骤的操作,https://github.com/riscvmcu/GD32VF103_Demo_Suites 下载“openocd_gdlink.cfg”文件到本地,按照如图8-3 的方法进行操作。

- 完成上面的操作步骤后,点击图8-1中的“debug”按钮,IDE进入debug界面。IDE的界面的主要功能区域如图8-4所示;
- 如图8-4中的中间Console区域,没有报出错误的信息,则表示下载成功;
- 如图8-4中的右上角区域所示,调试界面的标志为右上角的甲虫标志
,用户可以随时单击此标志进入调试界面;
- 如图8-4中的右上角区域所示,代码开发界面的标志为右上角的C标志
,用户可以随时按击此标志进入代码开发界面。
- 进入Debug界面后,程序会在main下面的第一条代码处停住,如图8-5所示。


9. 调试基本操作
9.1. 基本调试功能
如图9-1红框中的功能按钮从左到右依次为:“skip all breakpoints”,“resume”,“suspend” ,“stop”, “step into”,“step ove”,其功能分别为:
- skip all breakpoints:跳过全部断点;
- resume:继续;
- suspend:暂停;
- stop:停止;
- step into:单步执行,遇到函数就进入函数并且继续单步执行;
- step over:在单步执行时,在函数内遇到子函数时不会进入子函数内单步执行,而是将子函数整个执行 完再停止,也就是把子函数整个作为一步。如果没有子函数效果和step into是一样的;
- step return:当单步执行到子函数内时,用step return就可以执行完子函数余下部分,并返回到上一层函数。

9.2. 增加断点
用户为程序增加断点有如下两种方式:
- 双击代码对应行数的左边区域,增加成功会出现一个蓝色的点,如图9-2所示;
- 在如图9-2的红色区域右键选择”Add BreakPoint“,使用默认设置,点击”Apply and Close“即可,如图9-3所示。


10. GD32VF103_Demo_Suites开发
本节是面向已经有一定Nuclei Studio使用基础的用户,主要指导用户如何下载GD提供的的Demo_suites,并且快速将其中已有的示例工程导入到Nuclei Studio中,然后用户可以基于这些DEMO进行快速开发。
10.1. 下载Demo_Suites
Demo_Suites的下载地为https://github.com/riscv-mcu/GD32VF103_Demo_Suites。文件内包含GD32VF103C_START、GDVF103R_START和GD32VF103V_EVAL三种开发板的Demo_Suites,如图1-1所示。

本文以GD32VF103V_EVAL配套的的Demo_Suites为例,包含如图1-2所示的外设使用示例项目。

10.2. 导入Demo_Suites
启动Nuclei StudioE后,在菜单栏选择”File->Import“,出现如图对话框,选择”General“菜单下”Exit Project into Workspace“,设置导入方式,然后点击按钮”Next“。

选择导入的方式后,点击” Browse“按钮选择上一节介绍的Demo_Suites中工程路径。注意:进入到”eclipse"这一级目录即可,如图2-2所示。

选择好Import的项目后,如果导入有效,会出现如图2-3所示的效果,在“Project”栏下出现的工程的名称,然后点击按钮“Finish”。

设置完以上操作后,IDE界面的“Project Explorer”栏中出现了导入的项目包,可以点击查看项目包的文件结构。如图2-4所示。

至此,Import项目已经完成了,设置工具链路径,运行和调试项目的流程可以参考上面章节。