Nuclei Studio 2022.04版中,提供了一个非常重要的功能,该功能主要通过提供的各种初始模板,方便开发者去创建自己的Nuclei Studio组件包,并可以通过平台将自己的Nuclei Studio组件包贡献出来,供其他开发者使用。
在创建Nuclei Studio组件包前,先需要认证一个开发者帐号,认证地址https://www.rvmcu.com/nucleistudio.html
完成开发者认证后,在Nuclei Studio中新建一个Nuclei Studio组件工程,在菜单栏中,选择“File->New->Project->New Nuclei NPK Project“。
首次使用需要登录开发者帐号,且登录后7天有效,超过时间后需要再次登录,登录需要使用微信扫描二维码,见下图。登录成功后,owner可选框会列出绑定的相关开发者账号,其他的根据提示输入相关信息。需要变更账号时,可点击login again重新登录。
开发者帐号登陆成功后,依据工程向导依次填入工程名、工程类型等等相关信息。
选择Type时,无对应模板时,会跳出对应提示,点击确定,进入Nuclei Package Management页面,根据需要下载Template Package的对应模板,或点击下图右下角Import自行导入。
下面以ssp类型模板为例,假设你的公司名称为GreenTech, 你的SoC名称为 gt25nv, 适配的开发板为gt25nv_devkit, 采用了我们的n307FD处理器(rv32imafdc)配置, 并且配置了dsp特性, 并且提供了ilm, flash,flashxip三种下载方式。
点击Next,在Select a Template中选择刚才下载的模板tpl-nsdk-soc-demosoc,左侧为模板描述和相关的文件预览,右侧为模板中部分可自定义的内容,见图4-3。
我们这里举例,公司名称为GreenTech,SoC名称为 gt25nv,适配的开发板为gt25nv_devkit,采用了我们的n307FD处理器(rv32imafdc)配置,并且配置了dsp特性,并且提供了ilm,flash,flashxip三种下载方式。然后Nuclei RISC-V Core选择为NX600,经过修改后如图。
然后点击Finish即成功生成对应Npk组件包,再根据需要,可以打开目录查看并修改对应的文件和结构,修改完成后再导入该组件包。
修改项目,根据需要自行修改
修改完成,导入组件包
按照示例创建的soc在导入时,提示缺少依赖sdk-nuclei_sdk,点击确定,进入Nuclei Package Management页面,根据提示,选中sdk-nuclei_sdk,点击Download。
下载完成后,关闭Nuclei Package Management页面,再按图5-1导入组件包。导入成功后,结果如下图
图5-4 导入成功后
新建一个工程,可以在菜单栏中,选择“File-> New-> Project-> New Nuclei RISC-V C/C++ Project“。
点击Next,选择上面创建的soc内所包含的soc和board
点击Next,填入Project Name,并选择Project Example为Helloworld,点击Finish,完成测试工程的创建。
上步创建的一个工程,就是根据开发者的Nuclei Studio组件包创建出来的一个测试工程,开发者可以按一个正常的工程进行对应的编码、调式、运行等操作。鼠标点击选中上一步生成的项目N307FD,然后编译成功,后续运行等步骤略去,至此已成功创建了一个Nuclei Studio组件包,并使用此组件包进行了导入使用。
经过测试通过后,可以将您创建的组件包分享出去,首先需要将您的Nuclei Studio组件包工程导出为一个zip包,具体操作如下。
打开组件包项目,双击最外层的npk.yml,找到其Name为ssp-nsdk_gt25nv,右键点击组件包项目,点击Export,选择Archive File,选择需要导出的工程,然后根据提示指定导出zip文件存放的位置。
导出的zip包,可以通过rvmcu社区进行分享贡献。进入社区分享页面https://www.rvmcu.com/nucleistudio-developer.html,依据提示信息,依次填写需要分享的Nuclei Studio组件包的名称、所属类型、描述待信息,并上传刚导出的zip文件,信息提交后,待管理员审核通过后,该Nuclei Studio组件包就成功贡献了,其他的开发者就可以通过Nuclei Studio的Nuclei Package Management页面找到您的Nuclei Studio组件包,并下载使用。具体操作如下图
分享的npk组件包通过审核后,在Nuclei Studio中打开Nuclei Package Management页面,然后点击Refresh,刷新后即可找到刚分享的组件包。