sky 发表于 2021-5-8 16:35:35

教你玩转[06]_RVSTAR—QEMU篇

本帖最后由 sky 于 2021-5-8 16:34 编辑

最近发布的202102版本的Nuclei Studio IDE增加了QEMU仿真器,可支持RV-STAR开发板的仿真,本教程旨在介绍如何使用该仿真环境进行RISC-V嵌入式开发。

[*]系统环境 Windows 10-64bit
[*]软件平台 Nuclei Studio IDE 202102版

一、Nuclei Studio的下载和安装

在芯来科技官网文档与工具页面可以下载 Nuclei Studio IDE软件,其链接如下:
https://www.nucleisys.com/download.php

根据自己的操作系统下载对应的文件即可,IDE不需要安装,下载后直接解压缩即可使用;

二、启动Nuclei Studio

在 Nuclei Studio 解压缩的目录下双击 NucleiStudio.exe 即可启动 IDE;

第一次启动 Nuclei Studio 将会弹出对话框要求设置 Workspace 目录路径,该目录将用于存放后续创建的项目工程文件。设置好 Workspace 路径,再单击 “Launch” 启动 Nuclei Studio;

启动后页面如下图,推荐打开 Launch Bar 功能,方便快速编译和调试。打开菜单栏 “Window -> Preferences”,搜索 “bar”,勾选第一个选项 “Enable the Launch Bar”即可启用 Launch Bar 功能。


三、新建模板helloworld工程

在菜单栏中,选择 “File-> New -> C/C++ Project” 开始新建工程,在弹窗中双击选择 “C Managed Build” ;

新的页面中 “Project name” 填写 “helloworld” , “Project type”选择 “Nuclei SDK Project For GD32VF103 SoC” 和 “RISC-V Cross GCC” ,如下图,点击 “Next” 。新的页面不用修改,直接点击 “Next” 即可;

我们在选择 Board 时,请记得一定要选 gd32vf103v_rvstar 这块板子噢!

在选择模板工程页面修改“Project Example”选项为“baremetal_helloworld”。

后续页面不需要修改,点击“Next”直到最后一页,点击“Finish”完成新建模板helloworld工程。

最终IDE界面显示如下:


四、调试helloworld

在Launch Bar可以看到有两个配置如下图

我们看一下QEMU的配置,这些已经配置好了,如果不太了解的同学,这里基本上可以不用进行任何设置。

然后选中 debug 模式并启动 debug

编译器对代码进行编译后,会跳出 Switch 框,选 Switch 后进入调试模式

调试模式的界面如下

IDE提供了丰富的调试工具,具体的就不一一介绍了,大家可以去尝试。

虽然是在QEMU仿真环境下,但应用的还是gdb调试工具,所以也是支持gdb命令行调试的,选中Debugger Console,就可以输入gdb命令了。

我们可以查看一下仿真环境下的寄存器。结果如下图,更多命令使用大家可以自行查阅gdb的使用手册。

当然,也可以在图形界面中查看寄存器。

在工具栏选 :

Window ->Show View ->Registers

在弹出的 Registers 框中,就可以非常方便的查看寄存器信息。我们可以在调试过程中查看相关信息的变化。


五、运行helloworld

在调试模式下代码无bug,我们可以直接运行代码查看运行结果,在run程序前,一定要将之前启动的QEMU结束掉,不管是openOCD还是QEMU的进程都是排它性,所以运行或者调试结束后,一定要记得点关闭按钮。不然后报错如下图:

结束QEMU依次点下面三个按钮,确保进程已结束。

结束调试后开始运行前,建议clean一下工程,在工程名上左键->clean Project,IDE就会帮您清除掉编译生成的编译文件。

直接点运行,就可以了看到IDE开始编译代码并运行,如果代码正确,就会输出代码的结果。

在没有连接板子的情况下,我们成功运行了helloworld程序。

至此,在Nuclei Studio中基于QEMU进行嵌入式代码开发和调试的介绍就结束了。


页: [1]
查看完整版本: 教你玩转[06]_RVSTAR—QEMU篇