RISC-V开发环境搭建 - 基于Nuclei Studio开发

Posted Bruceoxl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RISC-V开发环境搭建 - 基于Nuclei Studio开发相关的知识,希望对你有一定的参考价值。

开发环境:
开发板:GD32VF103R-START
IDE:Nuclei Studio

RISC-V系列的MCU开发环境有很多,可以使用VS Code开发,也可以使用IDE,比如Embedded studio、Eclipse(Nuclei Studio、MounRiver Stuido、GNU MCU Eclipse)等,IAR也支持RISC-V。无论使用什么工具,编译工具还是使用riscv-none-embed,本质是一样的。

1.1基于Nuclei Studio开发

Nuclei Studio下载:https://www.nucleisys.com/download.php

1.1.1 Nuclei Studio IDE安装

Nuclei Studio IDE 是基于eclipse的,软件是免安装的。因此直接去Nuclei官网下载对应的版本即可。

值得注意的是,安装Nuclei Studio IDE之前,电脑中要有Java运行时环境(JRE)。

因为Nuclei Studio IDE是Java写的,不然怎么能跨平台,这也是为什么在安装前需要检查Java环境。如果你安装过JDK,那么跳过此步骤即可。

JDK下载地址

下载后点击JavaSetupxxx.exe即可安装。

打开命令提示符,输入java会有如下显示,则安装成功。

注意:打开命令提示符方法

win+R 输入cmd 即可。

还可以查看Jre版本:

Java -version

接下来解压Nuclei压缩包即可使用。

打开NucleiStudio.exe,选择工作路径。

打开NucleiStudio后如下所示。

1.1.2工程导入

这是既然是快速入门,自然是导入已有的工程,可以到GD官网下载相应的GD32VF103_Demo_Suites。

GD32VF103开发板例程下载地址

下载GD32VF103开发板例程。

解压GD32VF103_Demo_Suites_V1.1.1.rar,里面有以下文件:

GD32VF103_Firmware_Library是GD32VF103系列的固件库。

GD32VF103C_START_Demo_Suites、GD32VF103R_START_Demo_Suites、GD32VF103T_START_Demo_Suites、 GD32VF103V_EVAL_Demo_Suites分别是不同的开发板例程。

笔者这里使用的是GD32VF103R-START开发板。

因此这里将导入GD32VF103R-START开发板的例程。

然后选择相应的例程的eclips目录。

值得注意的是,该开发板默认使用的内部时钟,板子的外部时钟源是25MHz,要想得到精确的时钟就需要初始化系统时钟,因此在进入主函数请需要初始系统时钟。

1.1.3编译

接下来就可以编译工程了。

出现以上信息表示编译成功了。

如果提示无法找到编译工具,请按照下图设置。

1.1.4下载固件

编译没有错误就可以进行下载了。

在下载之前,需要配置下参数,右击工程选择Run As->Run Configurations…配置debug参数。

参数配置如下:

Config Options参数如下:

-f "D:\\NucleiStudio\\toolchain\\openocd\\scripts\\interface\\openocd_gdlink.cfg"

该脚本需要自行添加,默认是没有的,也可设置为其他路径,openocd_gdlink.cfg内容如下:

adapter speed    1000
reset_config srst_only
adapter srst pulse_width 100

adapter driver cmsis-dap

transport select jtag

#autoexit true

set _CHIPNAME riscv
jtag newtap $_CHIPNAME cpu -irlen 5 -expected-id 0x1000563d

set _TARGETNAME $_CHIPNAME.cpu
target create $_TARGETNAME riscv -chain-position $_TARGETNAME
$_TARGETNAME configure -work-area-phys 0x20000000 -work-area-size 20480 -work-area-backup 0


# Work-area is a space in RAM used for flash programming
if  [info exists WORKAREASIZE]  
   set _WORKAREASIZE $WORKAREASIZE
 else 
   set _WORKAREASIZE 0x5000


# Allow overriding the Flash bank size
if  [info exists FLASH_SIZE]  
    set _FLASH_SIZE $FLASH_SIZE
 else 
    # autodetect size
    set _FLASH_SIZE 0


# flash size will be probed
set _FLASHNAME $_CHIPNAME.flash

flash bank $_FLASHNAME gd32vf103 0x08000000 0 0 0 $_TARGETNAME
riscv set_reset_timeout_sec 1
init

halt

Commands参数如下。

set mem inaccessible-by-default off
set arch riscv:rv32
set remotetimeout 250

然后点击‘Run’按钮下载。

等待下载完成。

固件下载完成后 LED应该已经开始闪烁了。

1.1.5调试程序

点击‘Debug’按钮即可开始调试。

这个就没啥说的了。



欢迎访问我的网站

BruceOu的哔哩哔哩
BruceOu的主页
BruceOu的博客
BruceOu的CSDN博客
BruceOu的简书
BruceOu的知乎


欢迎订阅我的微信公众号

关注公众号[嵌入式实验楼]获取资源

以上是关于RISC-V开发环境搭建 - 基于Nuclei Studio开发的主要内容,如果未能解决你的问题,请参考以下文章

RISC-V开发环境搭建 - 基于MounRiver Stuido开发

RISC-V架构下 FPU Context 的动态保存和恢复

RISC-V架构下 FPU Context 的动态保存和恢复

MIT6.828准备:MacOS下搭建xv6和risc-v环境

MIT6.828准备:MacOS下搭建xv6和risc-v环境

Nuclei——一款基于YAML语法模板的快速漏洞扫描工具