查看: 1490|回复: 0
收起左侧

教你玩转[06]_RVSTAR—QEMU篇

[复制链接]

  离线 

  • TA的每日心情
    拍拍
    2022-6-27 11:09
  • 签到天数: 25 天

    [LV.4]

    发表于 2021-5-8 16:35:35 | 显示全部楼层 |阅读模式

    有人预言,RISC-V或将是继Intel和Arm之后的第三大主流处理器体系。欢迎访问全球首家只专注于RISC-V单片机行业应用的中文网站

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    本帖最后由 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
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(1)

    根据自己的操作系统下载对应的文件即可,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 功能。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(2)
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(3)
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(4)


    三、新建模板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” 即可;
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(5)

    我们在选择 Board 时,请记得一定要选 gd32vf103v_rvstar 这块板子噢!
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(6)

    在选择模板工程页面修改“Project Example”选项为“baremetal_helloworld”。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(7)

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

    最终IDE界面显示如下:
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(8)


    四、调试helloworld

    在Launch Bar可以看到有两个配置如下图
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(9)

    我们看一下QEMU的配置,这些已经配置好了,如果不太了解的同学,这里基本上可以不用进行任何设置。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(10)

    然后选中 debug 模式并启动 debug
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(11)

    编译器对代码进行编译后,会跳出 Switch 框,选 Switch 后进入调试模式
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(12)

    调试模式的界面如下
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(13)

    IDE提供了丰富的调试工具,具体的就不一一介绍了,大家可以去尝试。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(14)

    虽然是在QEMU仿真环境下,但应用的还是gdb调试工具,所以也是支持gdb命令行调试的,选中Debugger Console,就可以输入gdb命令了。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(15)

    我们可以查看一下仿真环境下的寄存器。结果如下图,更多命令使用大家可以自行查阅gdb的使用手册。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(16)

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

    在工具栏选 :

    Window ->Show View ->Registers
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(17)

    在弹出的 Registers 框中,就可以非常方便的查看寄存器信息。我们可以在调试过程中查看相关信息的变化。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(18)


    五、运行helloworld

    在调试模式下代码无bug,我们可以直接运行代码查看运行结果,在run程序前,一定要将之前启动的QEMU结束掉,不管是openOCD还是QEMU的进程都是排它性,所以运行或者调试结束后,一定要记得点关闭按钮。不然后报错如下图:
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(19)

    结束QEMU依次点下面三个按钮,确保进程已结束。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(20)

    结束调试后开始运行前,建议clean一下工程,在工程名上左键->clean Project,IDE就会帮您清除掉编译生成的编译文件。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(21)

    直接点运行,就可以了看到IDE开始编译代码并运行,如果代码正确,就会输出代码的结果。
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(22)
    GD32VF 单片机芯片及应用-教你玩转[06]_RVSTAR—QEMU篇risc-v单片机中文社区(23)

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

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






    上一篇:教你玩转[07]_RVSTAR—汇编程序篇
    下一篇:教你玩转[08]_RVSTAR—内联汇编篇
    RISCV作者优文
    全球首家只专注于RISC-V单片机行业应用的中文网站
    回复

    使用道具 举报

    高级模式
    B Color Image Link Quote Code Smilies

    本版积分规则

    关闭

    RISC-V单片机中文网上一条 /2 下一条



    版权及免责声明|RISC-V单片机中文网 |网站地图

    GMT+8, 2024-4-25 22:48 , Processed in 1.571433 second(s), 48 queries .

    快速回复 返回顶部 返回列表