Nuclei Studio是基于eclipse进行开发,继承了eclipse的可扩展性的特点的是同时,也存在着启动较慢的问题,第一次启动时,软件需要验证环境;生成常用的缓存文件;创建Workspace.在2021.09版的Nuclei Studio中,我们针对启动做了优化,在电脑性能足够的前提下,第一次启动Nuclei Studio能在一分钟内完成。
Nuclei Studio最佳运行环境:
Windows 10操作系统
4G以上内存(2G可以被Nuclei Studio分配使用)
在测试使用过程中,我们发现Nuclei Studio在编译项目时会出现很慢的现像,经过排查发现,当电脑安装360杀毒软件时,编译指令执行很慢,退出360杀毒软件时,编译指令可以按正常速度执行。为了保障Nuclei Studio的正常使用,建议在使用时退出360等杀毒软件。
打开菜单栏”Window -> Preferences”,搜索”bar”,如图
9‑1,取消勾选第一个选项即可关闭Launch Bar。同理,想要使用Launch
Bar功能,请勾选此选项。
Smartchip Studio的Launch
Bar(下图中蓝色框内标注部分)是对后边下拉框中选中的调试配置对应的工程进行编译、调试和下载等操作,如需使用此部分请注意,图标是与下拉框中调试配置内容相绑定。下面详细介绍Launch
Bar各部分功能:
图标1:编译选中的调试配置对应的工程。此处选中的工程为5号下拉框选中的调试配置对应工程,并非Project
Explorer中选中的工程。
图标2:运行/调试选中的调试配置对应的工程。此处图标会根据下拉框4的内容变化。
图标3:退出下载/调试模式。
下拉框4:切换选择下载/调试模式。切换后会改变图标2的显示内容。
下拉框5:选中调试配置文件。此处的内容会影响图标1、2、3对应的工程。
齿轮图标6:打开当前选中的调试配置页面,可直接进行修改保存。
对于初次新建的工程,如果不使用Launch Bar功能,可以右键工程,选择”Debug
As -> Debug
Configurations”。在弹窗中选择工程对应的设置选项,这里以helloworld工程为例,如图
9‑3,选择”helloworld_debug_openocd”,之后选择”Debug”开始调试。
同理,初次运行需要右击工程,选择”Run As -> Run
Configurations”。在弹窗中选择工程对应的设置选项,之后选择”Run”开始运行。
若当前工程已按以上方式进行过调试或运行操作,可在上方按键中选择
的下拉选项,快速选择对应的工程设置进行调试。对于运行,可以在
的下拉选项,快速选择对应的设置。
进入Debug模式后,可能有些页面并不能第一时间找到,这里以查看寄存器栏目为例。在菜单栏选择”Window
-> Show View ->
Registers”打开寄存器栏目。同样,如果想查看内存,可以选择”Window -> Show
View -> Memory”,想打开调试控制台,可以选择”Window -> Show View ->
Debugger Console”,其他页面此处不做过多介绍,请用户自行体验。
在Debug页面要退出调试,可点击
退出调试。为防止打开多个进程导致报错,在Debug页面,右击Debug栏目中的进程,选择”Terminate
/ Disconnect All”关闭所有Debug进程。
在Nuclei Studio中,常见的工具栏图标如下,本节将依次介绍各按键的功能。
新建按键,包括新建各种文件和工程。
保存当前文件和保存所有未保存文件。
切换编译设置,默认只有Debug和Release,用户可自行添加,这里不做介绍。
编译工程,可以在下拉选项中编译Project Explorer中选中的工程。
编译所有工程,一次性编译所有Project Explorer中的工程。
新建功能,包含工程创建,目录创建,文件创建和类创建。
调试,可根据下拉选项选择不同调试设置来调试不同的工程。
运行,可根据下拉选项选择不同的设置来选择不同的工程。
Profile ,使用Profile功能,暂不支持,此处不做介绍。
用户自定义工具,此处不做介绍,用户可自己深入研究。
搜索工具,可搜索任务,文本等。
文本阅读工具,可以展开或折叠文本等功能。
控制台工具,可选择打开各种控制台或串口等。
Debug用,前者跳过所有断点,后者实现Restart功能。
查看CMSIS ,eclipse自带功能,暂不支持。
Nuclei SDK工程设置工具,参见6.1。
文本阅读工具,可设置快速跳转,具体功能此处不作过多介绍。
在IDE的右上角
按键可以切换不同的显示模式,常用的是C/C++页面和Debug页面。其中,在进入Debug模式时,若不在Debug页面,会有弹窗提示,此时点击”Switch”选项可以切换至Debug页面。在菜单栏中选择”Window-> Perspective -> Open Perspective”可以快速切换显示窗口。
在不同的窗口下,”Window -> Show View”显示的内容也不尽相同。如图
9‑4,在Debug窗口中可以选择显示如寄存器(Registers),内存(Memory)和调试控制台(Debugger
Console)。
在菜单栏中选择”Window -> Perspective -> Reset
Perspective”,在弹窗中选择”Reset Perspective”可以恢复窗口默认布局。
右击要查看历史的文件,选择”Compare With -> Local
History”打开历史记录。如图
9‑5,在打开的History栏目双击选择要对比的文件历史版本,可以查看文件变动历史。
新建工程时IDE需要索引整个工程,根据主机性能其所用时间不同。如果主机性能较差,可能会看到索引时产生error,索引结束后error会消失。如出现以上现象,请以编译时是否报错为准。
在include页面新增路径时,可能会出现缓存的路径内容,此时点击Workspace或File
System选中后可覆盖其内容。
有时可能因为弹窗大小,部分设置栏目被隐藏起来,如图
9‑6,可点击红框中左右方向图标显示隐藏栏目。
如果遇到开发板下载速度很慢,甚至出现超时的报错,请切换至使用USB3.0接口,如果使用虚拟机开发,也请同时将USB接口设置为3.0。
如果需要多用户同时使用Nuclei Studio(不推荐),用户在运行Nuclei Studio时首先要打开菜单栏的”Window->Preferences”。在弹窗中需要修改三个地方:
打开”MCU->Global OpenOCD
Path”,”Executable”输入”openocd”,”Folder”输入”\${eclipse_home}/toolchain/openocd/bin”。
打开”MCU->Global QEMU
Path”,”Executable”输入”qemu-system-riscv32”,”Folder”输入”\${eclipse_home}/tools/qemu”。
打开”MCU->Global RISC-V Toolchains Paths”,”Default
toolchain”选中”RISC-V Nuclei GCC”,”Toolchain
folder”输入”\${eclipse_home}/toolchain/gcc/bin”。
修改后点击”Apply and Close”保存并关闭设置弹窗。
可能连接设备后在任务管理器中识别出两个串口,如图
9‑7,其中COM编号较大的是串口打印使用,可以使用串口调试助手等工具连接查看打印信息,但是请不要占用COM编号较小的串口。
一般情况下,如果Nuclei Studio没有大的版本变动,Nuclei Studio升级工作可以由用户下载最新的GNU工具链以及其他相关工具和升级IDE Plugins的方式来完成。
Nuclei Studio已经把工具链集成在IDE内部,工具链存放在NucleiStudio_IDE_XXX文件夹内,路径为:NucleiStudio_IDE_XXX\NucleiStudio\toolchain。IDE默认使用此路径的工具链,所以请不要移动”toolchain”此文件夹,使用IDE创建工程后也不需要进行工具链的相关配置。
由于工具链升级的速度会比IDE快,所以后期需要用户手动升级工具链,工具链升级方法如下:
首先删除需要更新的GCC或者OpenOCD文件内的内容,然后在芯来科技官网下载最新版本的GCC或者OpenOCD。
将GCC或者OpenOCD的内容复制到对应的文件夹下,即可完成IDE工具链的更新,IDE自带的工具链的版本号记录在ReadMe.txt中,如图
10‑1所示。注意:要保证gcc所在的这一级目录文件夹名字不变,替换后保证bin文件夹所在层级是图中文件夹的子目录,中间不要有其他文件夹。
Nuclei Studio支持IDE内在线升级,步骤如下。
如图 10‑2,打开安装软件弹窗,在菜单栏选择”Help Install New Software”。
如图 10‑3,点击”already installed”打开已安装界面。
如图 10‑4,选择”Nuclei Studio”,点击”update”即可自动完成在线更新。