You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the problem in detail here. If there is an issue describing this problem, please include the issue link and describe it together; if the issue itself is already detailed, a brief description here is sufficient.
During actual development, it has been observed that when many processes are running on the computer at the same time, or when the computer's system memory is insufficient, the following error may occur when debugging a program with QEMU in Nuclei Studio:
6
6
7
7
```
8
8
qemu-system-riscv64.exe: cannot set up quest memory 'riscv.evalsoc.flashxip' Invalid argument
9
9
```
10
10
11
11

12
12
13
-
## 解决方案
13
+
## Solution
14
14
15
-
一般可以通过关闭某些应用,释放一部分内存以供qemu使用,即可解决些问题。
15
+
In general, this problem can be resolved by closing some applications to free up memory for QEMU to use.
> When running any command line that starts with ``NucleiStudio.exe``, a pop-up window appears showing the execution log. To suppress this pop-up, change the command to ``eclipsec.exe``
> The following documentation was tested with the **2024.06** version of the IDE and is provided as supplementary information.
12
+
13
+
Because NucleiStudio 2024.06 runs on a Java 21 environment, and many users do not have a Java 21 environment installed locally, running the command may fail with an error because the corresponding JRE cannot be found. To resolve this issue, you can either install a Java 21 environment on your local machine (users can search for relevant installation tutorials themselves), or use the `-vm` parameter on the command line to specify the path of the JRE bundled with NucleiStudio 2024.06.
Nuclei Studio is a graphical (GUI) code editing tool, but in certain scenarios users need to build projects quickly from the command line.
36
+
In Nuclei Studio, this can be done with a single command. After downloading Nuclei Studio, make sure the project `test` to be built has already been created in the Nuclei Studio workspace,
37
+
**and that Nuclei Studio is not running**, then execute the following command to build the project.
If you need to use the **2022.12 version** of the IDE, you must first add the paths of `gcc/bin` and `build-tools/bin` under the toolchain directory to the system PATH, and then replace `NucleiStudio.exe` with `eclipsec.exe`
50
50
51
-
针对**2022.12版本**,命令举例如下:
51
+
For the **2022.12 version**, the example commands are as follows:
52
52
53
53
~~~shell
54
-
#这里请修改成自己的IDE路径
54
+
#Change this to your own IDE path
55
55
set NSIDE=D:\NucleiStudio_IDE_202212-win64\NucleiStudio
56
-
#必须设置好系统PATH
56
+
#The system PATH must be set correctly
57
57
set PATH=%NSIDE%\toolchain\gcc\bin;%NSIDE%\toolchain\build-tools\bin;%PATH%
58
-
#注意NucleiStudio.exe换成了eclipsec.exe
58
+
#Note that NucleiStudio.exe is replaced with eclipsec.exe
-`NucleiStudio.exe`: This is the Nuclei Studio launcher application, located in the Nuclei Studio installation directory.
67
+
-`--launcher.suppressErrors`: This parameter is used to suppress error messages when Nuclei Studio starts.
68
+
-`-nosplash`: This parameter disables the splash screen at startup. This means no brief loading screen is displayed when Eclipse starts.
69
+
-`-application`: This parameter specifies the application to run. Here, `org.eclipse.cdt.managedbuilder.core.headlessbuild`
70
+
refers to the headless build application. This application performs build operations without a graphical user interface (GUI).
71
+
-`-data`: This parameter specifies the workspace path. It tells Nuclei Studio where to store data, such as workspaces, projects, and files.
72
+
-`-build`: This parameter specifies the project to build; `test/Debug` means building the Debug configuration of the test project;
73
+
projects created by Nuclei Studio generally have two configurations, Debug and Release. If no configuration is specified, both Debug and Release are built by default,
74
+
and you can see the Debug and Release directories under the project directory after the build.
75
75
76
76
~~~
77
77
├─.settings
@@ -85,10 +85,10 @@ set PATH=%NSIDE%\toolchain\gcc\bin;%NSIDE%\toolchain\build-tools\bin;%PATH%
-`-cleanBuild`: This parameter is similar to `-build`, except that it cleans the workspace before building. Using `-cleanBuild` is recommended.
89
+
-`-Debug`: This parameter specifies that the build process runs in Debug mode, outputting detailed build logs during compilation. Without this parameter, the command runs silently with no output.
90
90
91
-
**以下为上面举例命令的输出内容,以供参考**
91
+
**The following is the output of the example command above, for reference**
92
92
93
93
~~~
94
94
17:00:17 **** Clean-only build of configuration Debug for project test ****
In OpenOCD 2023.10, `flash bank $_FLASHNAME` was changed from `fespi` to `nuspi`, so the `fespi` setting in the OpenOCD configuration file of the project needs to be changed to `nuspi`.
26
+
Taking the Hummingbird (hbird) project as an example, modify `hbird_sdk/SoC/hbirdv2/Board/mcu200t/openocd_hbirdv2.cfg` to the following configuration, and the project will then work properly.
In version 0.5.0 of sdk-nuclei_sdk, the `-msave-restore` option is enabled by default so that some programs can compile without errors when using the libncrt library in the IDE.
6
+
However, when creating a Dhrystone example project with the newlib library selected, this option causes the benchmark score to drop, and the result does not reflect the CPU's true performance.
When running the benchmark, you need to go to the corresponding project's `Properties -> C/C++ Build -> Settings` and deselect `Small prologue/epilogue(-msave-restore)`.
11
+
The detailed steps and screenshots are as follows:
12
12
13
-
1.下载**sdk-nuclei_sdk 0.5.0**NPK组件包。
13
+
1.Download the **sdk-nuclei_sdk 0.5.0**NPK component package.
3.During project creation, select **Dhrystone Benchmark** and **N307FD Core**, and keep the default settings for the other options. If you build and run it directly at this point, the benchmark score is **1.405**.
When using OpenOCD in NucleiStudio to debug hbird/hbirdv2 processors (which do not support hardware breakpoints) or the Nuclei 100 series processors, an Error is reported when the program runs from Flash/FlashXip.
6
6
```
7
7
Error: Couldn't find an available hardware trigger.
8
8
Error: can't add breakpoint: resource not available
@@ -12,8 +12,8 @@ Error: can't add breakpoint: resource not available
This happens because the CPU being run does not support hardware breakpoints, which prevents the IDE's debug functionality from working properly when the program runs from Flash — the IDE needs to set a temporary breakpoint. If you only need to download and run the program, switch to Run mode and the program will run normally.
16
16
17
-
## 解决方案
17
+
## Solution
18
18
19
-
当在调试此类型处理器时,如果需要调试的话,就需要将程序编译运行在RAM上。
19
+
When debugging this type of processor, if debugging is required, the program must be compiled to run from RAM.
# cannot find -lncrt_balanced: No such file or directory
2
2
3
-
## 问题说明
3
+
## Problem Description
4
4
5
-
在NucleiStudio中使用编译工程时有报错信息如下:
5
+
When building a project in Nuclei Studio, the following error messages are reported:
6
6
7
7
```
8
8
G:/NucleiStudio/toolchain/gcc/bin/../lib/gcc/riscv64-unknown-elf/13.1.1/../../../../riscv64-unknown-elf/bin/ld.exe: cannot find -lncrt_balanced: No such file or directory
是因为在创建工程时,我们创建了一个64位的工程,同时在Standard C Library时,选择了带`-lncrt_balanced`、`-lfileops_uart`的扩展,而此类扩展又不支持64位,导致编译不通过。
16
+
This happens because when creating the project, we created a 64-bit project, and in the Standard C Library settings, extensions with `-lncrt_balanced` and `-lfileops_uart` were selected. However, these extensions do not support 64-bit, which causes the build to fail.
0 commit comments