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
Copy file name to clipboardExpand all lines: source/ide/npk.rst
+15-15Lines changed: 15 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,7 +3,7 @@
3
3
Nuclei Studio NPK Applications
4
4
==============================
5
5
6
-
Nuclei Studio provides full built-in support for the Nuclei Package (NPK) feature, making it easy for developers to create software development packages and import them into Nuclei Studio through Nuclei Package Management. CPU IP customers can adapt their own chip SDK to support NPK and import it into Nuclei Studio; SoC IP customers can package the provided SDK into a Zip package and import it; developers can also build a BSP package or APP package on top of a specific NPK and distribute it to third parties. For a detailed introduction to the NPK feature and its update notes, see https://github.com/Nuclei-Software/nuclei-sdk/wiki/Nuclei-Studio-NPK-Introduction. Adding NPK support and an npk.yml file to an existing SDK also enables partial customization of the Project Wizard functionality.
6
+
Nuclei Studio provides full built-in support for the Nuclei Package (NPK) feature, making it easy for developers to create software development packages and import them into Nuclei Studio through Nuclei Package Management. CPU IP customers can adapt their own chip SDK to support NPK and import it into Nuclei Studio; SoC IP customers can package the provided SDK into a Zip package and import it; developers can also build a BSP package or APP package on top of a specific NPK and distribute it to third parties. For a detailed introduction to the NPK feature and its update notes, see https://github.com/Nuclei-Software/nuclei-sdk/wiki/Nuclei-Studio-NPK-Introduction. Adding NPK support and an npk.yml file to an existing SDK also enables partial customization of the Project Wizard functionality.
7
7
8
8
To create projects with Nuclei Studio, developers must first install the corresponding SDK NPK Zip package into the IDE. They can then quickly create template projects for different boards, include the required SDK source code based on the selected template, and generate the corresponding compile and link options based on the selected options.
9
9
@@ -27,7 +27,7 @@ Click the **Nuclei Package Management** button on the Nuclei Studio IDE toolbar
27
27
28
28
|image19|
29
29
30
-
After you click **Import**, the system prompts you to select a package file to import. Browse to the directory containing your zip package and select it. Make sure a valid zip package is selected, then click **Open**. Nuclei Studio starts processing and importing the package.
30
+
After you click **Import**, the system prompts you to select a package file to import. Browse to the directory containing your zip package and select it. Make sure a valid zip package is selected, then click **Open**. Nuclei Studio starts processing and importing the package.
31
31
32
32
|image20|
33
33
@@ -39,7 +39,7 @@ After the import is complete, the newly imported package appears on the Package
39
39
40
40
**Import an uncompressed NPK package**
41
41
42
-
When you have an uncompressed NPK package project to import into NucleiStudio, the simplest way is to compress it into a .zip archive and import it using the procedure above. If you want to modify the NPK package project and quickly re-import it into NucleiStudio for testing after each modification, do the following instead.
42
+
When you have an uncompressed NPK package project to import into Nuclei Studio, the simplest way is to compress it into a .zip archive and import it using the procedure above. If you want to modify the NPK package project and quickly re-import it into Nuclei Studio for testing after each modification, do the following instead.
43
43
44
44
To import an uncompressed package directly, first import it into the Project Explorer view. Click File in the menu bar and select **Import...** from the drop-down menu. This opens the import wizard, which imports projects or files from the local file system or other sources.
45
45
@@ -49,7 +49,7 @@ Select the **Projects from Folder or Archive** option under General, and click N
49
49
50
50
|image24|
51
51
52
-
Click **Directory...**, browse to the directory containing your package, and select the file or folder to import. Verify that the correct path and files are selected, then click **Finish**.
52
+
Click **Directory...**, browse to the directory containing your package, and select the file or folder to import. Verify that the correct path and files are selected, then click **Finish**.
53
53
54
54
|image25|
55
55
@@ -77,19 +77,19 @@ On the Nuclei Package Management page, click Refresh to get the latest NPK infor
77
77
78
78
|image2|
79
79
80
-
Select the NPK you want to install and click Download to install it. This example installs version 0.8.0 of sdk-nuclei_sdk. Use the latest version of NucleiStudio for installation; the latest version supports the gcc14 toolchain, while previous versions supported gcc13/gcc10.
80
+
Select the NPK you want to install and click Download to install it. This example installs version 0.8.0 of sdk-nuclei_sdk. Use the latest version of Nuclei Studio for installation; the latest version supports the gcc14 toolchain, while previous versions supported gcc13/gcc10.
81
81
82
82
|image3|
83
83
84
84
After installation, the NPK status changes to Installed.
85
85
86
86
|image4|
87
87
88
-
In NucleiStudio 2024.06 and later, dependency management on the Nuclei Package Management page has been upgraded, greatly simplifying NPK package dependency handling.
88
+
Nuclei Studio 2024.06 and later upgrades dependency management on the Nuclei Package Management page, greatly simplifying NPK package dependency handling.
89
89
90
90
|image5|
91
91
92
-
When you download or install an NPK package, NucleiStudio determines all of its dependencies based on the dependency relationships in the current NPK package information, combined with locally installed package information and NPK information shared in the cloud, and prompts you to download and install them together.
92
+
When you download or install an NPK package, Nuclei Studio determines all of its dependencies based on the dependency relationships in the current NPK package information, combined with locally installed package information and NPK information shared in the cloud, and prompts you to download and install them together.
93
93
94
94
|image6|
95
95
@@ -115,20 +115,20 @@ Alternatively, select ``New Nuclei RISC-V C/C++ Project`` in the Project Explore
115
115
116
116
|image9|
117
117
118
-
In the pop-up window, you can see different versions of SDKs provided by different vendors. Select an SDK under a Board to view an introduction to the related SoC and Board. This example uses the RVSTAR board, so select ``GigaDevice->GD32VF103->Nuclei GD32VF103 RVSTAR Board->sdk-nuclei_sdk@0.5.0``. Click ``Next`` to continue.
118
+
In the pop-up window, you can see different versions of SDKs provided by different vendors. Select an SDK under a Board to view an introduction to the related SoC and Board. This example uses the RVSTAR board, so select ``GigaDevice->GD32VF103->Nuclei GD32VF103 RVSTAR Board->sdk-nuclei_sdk@0.5.0``. Click ``Next`` to continue.
119
119
120
120
.. note::
121
121
**Note**: The SDK version number shown here changes as versions iterate and may also depend on a specific version of Nuclei Studio.
122
-
122
+
123
123
|image10|
124
124
125
125
The project configuration page opens as shown in the figure. Because the RVSTAR core is fixed at N205 and its corresponding arch and abi are rv32imac and ilp32 respectively, the Core option cannot be modified. Similarly, the RVSTAR board supports only the FLASHXIP download mode, so the DOWNLOAD option cannot be modified either. Click ``Finish`` to complete project creation. Version 2023.10 adds support for Arm projects.
126
126
127
127
|image11|
128
128
129
-
Nuclei Studio adds different SDK source code depending on the selected project template. For example, the FreeRTOS template project adds the corresponding OS content, and the Demo_dsp template project adds NMSIS library files. For detailed information about NMSIS, refer to (\ https://doc.nucleisys.com/nmsis/index.html\ ). This example uses Demo_dsp: select ``Nuclei NMSIS DSP Library Demo`` for ``Project Example``. Because the dsp project requires the NMSIS library, select ``NMSIS DSP Library`` for ``Libraries``.
129
+
Nuclei Studio adds different SDK source code depending on the selected project template. For example, the FreeRTOS template project adds the corresponding OS content, and the Demo_dsp template project adds NMSIS library files. For detailed information about NMSIS, refer to (https://doc.nucleisys.com/nmsis/index.html). This example uses Demo_dsp: select ``Nuclei NMSIS DSP Library Demo`` for ``Project Example``. Because the DSP project requires the NMSIS library, select ``NMSIS DSP Library`` for ``Libraries``.
130
130
131
-
Nuclei Studio automatically sets project options based on the options selected during project creation. This example uses floating-point printing, so select ``newlib nano with printf float`` for ``NEWLIB``. Then keep clicking ``Next`` until ``Finish``.
131
+
Nuclei Studio automatically sets project options based on the options selected during project creation. This example uses floating-point printing, so select ``newlib nano with printf float`` for ``NEWLIB``. Then keep clicking ``Next`` until ``Finish``.
132
132
133
133
.. _npk_sdk_config_tool:
134
134
@@ -142,7 +142,7 @@ For a newly created project, click the project name, right-click to open the con
142
142
|image12|
143
143
144
144
145
-
To change the compile optimization level, set ``Optimization Level`` to ``None(-O0)`` and click ``Save`` to apply the change.
145
+
To change the compile optimization level, set ``Optimization Level`` to ``None (-O0)`` and click ``Save`` to apply the change.
146
146
147
147
|image13|
148
148
@@ -157,7 +157,7 @@ After the modification succeeds, right-click the project, select ``clean`` in th
157
157
- **Note:** In later versions, the ``SDK Configuration Tools`` feature is no longer maintained and has been replaced by the Nuclei Settings menu feature.
158
158
159
159
160
-
For a better user experience, Nuclei Studio IDE 2022.12 refactored ``SDK Configuration Tools``. Newly created projects have an additional Nuclei Settings menu. Double-clicking the Nuclei Settings menu opens the project configuration tool, which is functionally identical to ``SDK Configuration Tools``. In version 2023.10 and later, SDK Configuration Tools opens this Nuclei Settings page directly.
160
+
For a better user experience, Nuclei Studio IDE 2022.12 refactored ``SDK Configuration Tools``. Newly created projects have an additional Nuclei Settings menu. Double-clicking the Nuclei Settings menu opens the project configuration tool, which is functionally identical to ``SDK Configuration Tools``. In version 2023.10 and later, SDK Configuration Tools opens this Nuclei Settings page directly.
161
161
162
162
|image15|
163
163
@@ -168,7 +168,7 @@ Import Tools via NPK
168
168
169
169
In addition to SDKs, NPK packages can also import various tool packages to extend the capabilities of Nuclei Studio. Nuclei Studio 2022.08 added support for NPK Tools. To improve the extensibility of component packages and make compilation and debugging more convenient, an NPK component package of type tool was introduced. A tool component package can contain gcc, qemu, cmlink-gdb, and other content, and is imported into the IDE as a zip package.
170
170
171
-
Take the tool-cmlink package as an example. A tool package contains the tool's executable files and an npk.yml file. In the npk.yml file, the developer provides a brief description of the tool, such as the tool package's developer, version, supported operating systems, and the path of the executable files. The package structure and npk.yml content are shown in the example below. Compress the tool package into a zip file, then refer to :ref:`npk_import_local_package` to import the NPK tools into the IDE, or share them on the \ `www.rvmcu.com <http://www.rvmcu.com>`__\website.
171
+
Take the tool-cmlink package as an example. A tool package contains the tool's executable files and an npk.yml file. In the npk.yml file, the developer provides a brief description of the tool, such as the tool package's developer, version, supported operating systems, and the path of the executable files. The package structure and npk.yml content are shown in the example below. Compress the tool package into a zip file, then refer to :ref:`npk_import_local_package` to import the NPK tools into the IDE, or share them on the `www.rvmcu.com <http://www.rvmcu.com>`__ website.
172
172
173
173
- ``bin``
174
174
@@ -184,7 +184,7 @@ NPK tools can also be managed on the Nuclei Package Management page. After downl
184
184
|image17|
185
185
186
186
187
-
Generally, four extended variables are defined for the component package in an NPK tool. Each package has a package path, referenced as npk name-version number, for example ``${tool-cmlink-1.0.0}``. Other variables are referenced as npk name-version number-variable name, for example ``${tool-cmlink-1.0.0-proxy}`` and ``${tool-cmlink-1.0.0-system_proxy}``. When the system value of a variable is true, an additional variable without a version number is added, which resolves to the highest version of that variable, for example ``${tool-cmlink-system_proxy}``.
187
+
Generally, four extended variables are defined for the component package in an NPK tool. Each package has a package path, referenced as npk name-version number, for example ``${tool-cmlink-1.0.0}``. Other variables are referenced as npk name-version number-variable name, for example ``${tool-cmlink-1.0.0-proxy}`` and ``${tool-cmlink-1.0.0-system_proxy}``. When the system value of a variable is true, an additional variable without a version number is added, which resolves to the highest version of that variable, for example ``${tool-cmlink-system_proxy}``.
0 commit comments