如何使用ZStudio IDE编译运行调试芯来科技RISC-V内核

一、下载安装

参考https://1nfinite.ai/t/nuclei-sdk/70链接的步骤一:下载安装兆松科技工具链和芯来sdk和openocd

二、打开ZStudio 导入Makefile项目

  1. 下载解压ZStudio产品,在ZStudio产品根目录点击zstudio-desktop图标或者是在该目录下命令行中./zstudio-desktop启动zstudio

  2. 打开ZStudio后点击左上角的File后点击Import Makefile Project

  3. 点击此处选择下载好的芯来sdk根目录

  4. 选择要导入的sdk中的单个demo的Makefile项目,这里我以sdk目录下的application/baremetal/helloworld为例子进行

  5. 并在Make Arguments中填入参数“CORE=n300 TOOLCHAIN=terapines”,表示我们导入项目后是要指定编译n300内核的程序


    注意,如果你要导入的项目中已经被make编译过且存在编译的中间文件没有执行“make clean” 命令,那么你就需要在Make Clean Arguments一栏中填入“clean”参数,否则会导致项目导入失败

  6. 如图所示PROJECT NAVIGATOR中存在helloworld项目,则说明项目导入成功

三、配置与编译

  1. 点击左下角的Configuration for Active Project,在Language Standard中选择GNU17

  2. 键盘输入Ctrl+Shft+p,在弹出的输入框中输入“fix”,点击Fix Makefile Project

  3. 在Override中点击“+”号,在Old Content中填入“clang_rt.builtins_size”,在New Content中填入“clang_rt.builtins”随后点击右下角的Apply(如果是自己在命令行使用命令git checkout remotes/origin/develop手动切换到开发分支则可以省略这个2、3小步骤)

  4. 点击Build,而后等待项目构建完成即可,如下图所示,在Output/zcc/riscv-v/debug/build-output目录下存在一个构建好的helloworld可执行文件

四、运行

运行需要我们在ZStudio中添加芯来openocd可执行文件和openocd启动配置文件,启动openocd。

  1. 点击View ->OpenOCD Explorer

  1. 添加openocd可执行文件的绝对路径和启动配置文件的绝对路径

  1. OpenOCD Name和Board Name自己自行命名,在OpenOCD Executable处添加openocd可执行文件的绝对路径,在OpenOCD Configuration File 添加openocd启动配置文件的绝对路径,根据自己实际使用的开发板选择,由于我使用的是DDR200T FPGA开发板,所以我使用的是sdk目录下的SoC/evalsoc/Board/nuclei_fpga_eval/openocd_evalsoc.cfg配置文件,而后点击save保存配置

  1. 鼠标右击前面自己创建的openocd配置,点击Start运行openocd


    如下图,openocd成功运行(检查证明了openocd可以成功配置运行后我们需要即将鼠标右键openocd将其关闭,因为当我们点击Run按键的时候ZStudio会自己启动openocd,如果我们此时正在打开openocd就会导致程序无法下载到开发板和进行调试,所以我们在验证openocd可以成功启动后要将openocd关闭)

  2. 点击Run配置


    在Connection Target中选择Board,在OpenOCD Configuration中选择自己在ZStudio中配置好的芯来openocd。点击Save即可。

    此时我们已经可以直接点击Run按键来在开发板中运行自己的程序了,但是我们需要借助串口工具来查看程序的运行结果,所以我们还需要配置ZStudio串口工具

  3. 点击View 点击Serial Port Monitor


    点击串口控制台的“+”号,选中自己电脑中的串口驱动,和配置波特率,点击OK,如果串口驱动显示为绿色则表示串口驱动打开成功

    此时我们直接Run即可执行程序

五、调试

  1. 和运行一样,我们需要配置在开发板上运行程序和选中配置好的openocd文件

    打开main.c源码文件,在104行处设置断点

    点击Debug,调试器停留在104行断点处,在此您可以进行单步调试与查看寄存器和变量的值等操作

如果您想了解ZStudio IDE更加详细的使用细节请参考链接: ZStudio 3.x 用户手册 — ZStudio 3.x 文档

1 Like