RISC-V技术william hill官网
直播中

ouxiaolong

11年用户 470经验值
擅长:嵌入式技术 光电显示
私信 关注
[经验]

【兆易创新GD32VF103R-START开发板试用体验】RISC-V开发环境搭建(基于Nuclei Studio)

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

Nuclei Studio下载:https://www.nucleisys.com/download.php1 Nuclei StudioIDE安装Nuclei Studio IDE是基于eclipse的,软件是免安装的。因此直接去Nuclei官网下载对应的版本即可。 20220514-1-t1.png                               值得注意的是,安装Nuclei Studio IDE之前,电脑中要有Java运行时环境(JRE)。因为Nuclei Studio IDE是Java写的,不然怎么能跨平台,这也是为什么在安装前需要检查Java环境。如果你安装过JDK,那么跳过此步骤即可。JDK下载地址:https://www.oracle.com/java/technologies/downloads/下载后点击JavaSetupxxx.exe即可安装。打开命令提示符,输入java会有如下显示,则安装成功。 20220514-1-t2.png 注意:打开命令提示符方法win+R 输入cmd 即可。还可以查看Jre版本:Java -version   20220514-1-t3.png 接下来解压Nuclei压缩包即可使用。打开NucleiStudio.exe,选择工作路径。 20220514-1-t4.png 打开NucleiStudio后如下所示。   20220514-1-t5.png 2工程导入这是既然是快速入门,自然是导入已有的工程,可以到GD官网下载相应的GD32VF103_Demo_Suites。下载地址:http://www.gd32mcu.com/cn/download/8?kw=GD32VF1下载GD32VF103开发板例程。 20220514-1-t6.png 解压GD32VF103_Demo_Suites_V1.1.1.rar,里面有以下文件: 20220514-1-t7.png GD32VF103_Firmware_Library是GD32VF103系列的固件库。GD32VF103C_START_Demo_Suites、GD32VF103R_START_Demo_Suites、GD32VF103T_START_Demo_Suites、GD32VF103V_EVAL_Demo_Suites分别是不同的开发板例程。笔者这里使用的是GD32VF103R-START开发板。因此这里将导入GD32VF103R-START开发板的例程。 20220514-1-t8.png 然后选择相应的例程的eclips目录。   20220514-1-t9.png 3编译接下来就可以编译工程了。 20220514-1-t10.png 出现以上信息表示编译成功了。如果提示无法找到编译工具,请按照下图设置。 20220514-1-t11.png   4下载固件编译没有错误就可以进行下载了。在下载之前,需要配置下参数,右击工程选择Run As->RunConfigurations...配置debug参数。 20220514-1-t12.png 参数配置如下:Config Options参数如下:-f"D:NucleiStudiotoolchainopenocdscriptsinterfaceopenocd_gdlink.cfg"Commands参数如下。set mem inaccessible-by-defaultoffset arch riscv:rv32set remotetimeout 250
然后点击‘Run’按钮下载。 20220514-1-t13.png
等待下载完成。 20220514-1-t14.png 固件下载完成后 LED应该已经开始闪烁了。5调试程序点击‘Debug’按钮即可开始调试。 20220514-1-t15.png 这个就没啥说的了。   20220514-1-t16.png   

回帖(3)

ouxiaolong

2022-5-14 07:45:21
openocd_gdlink.cfg内容如下:

adapter_khz     1000
reset_config srst_only
adapter_nsrst_assert_width 100

interface cmsis-dap

transport select jtag

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

可任意更换openocd_gdlink.cfg的文件路径。
举报

ouxiaolong

2022-5-14 20:35:47
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

这是针对OpenOCD 0.11.0版本的配置,不同版本会有细微差异。
举报

华仔stm32

2022-5-16 07:21:59
RISC-V的环境搭配还是有点小麻烦,让入门者难受,希望有人开发一个操作容易一些的IDE。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分