根据这里的文章 芯来集成开发环境Nuclei Studio 2024.06版本发布_公司新闻_Nuclei-Best RISC-V Processor IP 可知,Nuclei Studio 2024.06首次引入并集成了Terapines ZCC Lite工具链到Nuclei Studio IDE环境中,用户可以直接使用Nuclei SDK进行基于Make的命令行方式编译,也可以使用IDE环境通过NPK的方式导入Nuclei SDK软件包,并通过Project Wizard的方式进行测试。
注意: 推荐使用 Nuclei SDK 0.7.0, 在本文撰写的时候还没有发布,所以请切到 develop 分支 GitHub - Nuclei-Software/nuclei-sdk at develop
提示:关于Terapines ZCC编译器的性能数据参见 软硬协同 | 芯来RISC-V IP引入兆松ZCC工具链,进一步丰富软件生态_公司新闻_Nuclei-Best RISC-V Processor IP
环境准备
下载 Nuclei Studio 2024.06 版本,下载链接 DOCS & TOOLS_Nuclei-Best RISC-V Processor IP
命令行方式进行测试
参照 Quick Startup — Nuclei SDK 0.6.0 documentation 文档进行命令行方式的构建
下面是完整的测试过程(基于Windows Terminal CMD 非 Powershell环境)
git clone https://github.com/Nuclei-Software/nuclei-sdk.git
cd nuclei-sdk
# 切到develop分支
git switch develop
# 准备 setup_config.bat
# 里面内容为如下 需要注意这里的路径需要改成你自己电脑上的路径
# set NUCLEI_TOOL_ROOT=C:\Software\NucleiStudio\toolchain
# 设置编译环境
setup.bat
# 需要额外设置下ZCC的PATH
set PATH=C:\Software\NucleiStudio\toolchain\zcc\bin;%PATH%
# 检查zcc的PATH是否设置正确
where zcc make
# 进入到 coremark程序中进行测试
cd application\baremetal\benchmark\coremark
# 清理之前可能存在的构建
make clean
# 切换到 ZCC 工具链进行构建
# 这里构建的是针对Nuclei EvalSoC N300系列进行构建
make CORE=n300 TOOLCHAIN=terapines -j all
# 构建完毕后qemu测试
make CORE=n300 TOOLCHAIN=terapines run_qemu
Nuclei Studio IDE测试
截止到发文时,请务必下载 develop分支的zip软件包进行测试
注意: 如果后期ZCC工具链有升级,或者你可以获取更好性能的ZCC工具链,可以直接下载以后替换掉 NucleiStudio/toolchain/zcc 目录下集成 Lite版本,建议操作前备份。
如下图所示下载Nuclei SDK develop分支的zip包进行测试。如果是已经测试了上面的步骤,也可以通过 如下命令产生需要的zip包
git archive -o ..\nuclei-sdk-develop.zip HEAD
打开Nuclei Studio 2024.06,并点击 Nuclei Package Management 进行 Nuclei SDK的develop分支软件包导入。
然后点击 File → New → New Nuclei RISC-V C/C++ Project 来创建新的工程
选择 Nuclei FPGA Evalulation Board 使用 sdk-nuclei_sdk @0.7.0-dev 这个版本来创建工程
然后选择 Coremark Benchmark这个用例创建工程,选择 Toolchain 为 Terapines ZCC(zcc)
可以看到创建出来的工程已经是 采用 ZCC工具链进行创建的了。
注意 不建议这里切换工具链,因为不同工具链使用的库不一样,且编译选项会有差别,切换以后编译会报很多错误,需要手动解决,建议创建的时候选择好即可。
点击构建即可选择构建的工程
这里以QEMU运行举例,切换到 Qemu Debug配置
点击运行以后,即可看到输出如下(可以看到和命令行输出结果分数有差异,这是因为IDE里面没有传递 -icount shift=0 这个选项)
可以修改这个qemu配置手动补上这个选项,重新跑下,结果应该就一致了
IDE中也同步创建好了 OpenOCD和 JLink的调试配置,也可以下载到实际的FPGA板子或者芯片板上进行调试和运行,这里就不再赘述了。
更多信息
想要了解更多关于 Nuclei SDK和Nuclei Studio的使用,请访问
- Nuclei SDK: Welcome to Nuclei-SDK’s documentation! — Nuclei SDK 0.6.0 documentation
- Nuclei Studio: Nuclei Studio FAQ_Nuclei Studio_RISC-V MCU中文社区
想要了解更多ZCC编译器相关的问题,请访问 Terapines Products