Welcome to Nuclei Tool User Guide!
Contents
- 1. Introduction
- 2. Nuclei Studio IDE
- 2.1. Introduction to Nuclei Studio IDE
- 2.2. Nuclei Studio Release Notes
- 2.3. Nuclei Studio Download and Installation
- 2.4. Nuclei Studio NPK Overview
- 2.5. Nuclei Studio NPK Creation and Sharing
- 2.6. Nuclei Studio NPK Applications
- 2.7. Create a Project in Nuclei Studio
- 2.7.1. Automatically Create a Project Using an NPK Template Project
- 2.7.2. Import a Project via an Application Association File
- 2.7.3. Import an Existing Project Directly to Create a New Project
- 2.7.4. Manually Create a Project Without a Template
- 2.7.5. Create a Project Based on an Existing Makefile
- 2.8. Build a Project in Nuclei Studio
- 2.9. Debugging and Running Projects in Nuclei Studio
- 2.9.1. Debug Mode Management
- 2.9.2. Debugging and Running a Project with the HummingBird Debugger and OpenOCD
- 2.9.3. Debugging and Running a Project with J-Link
- 2.9.4. Debugging and Running a Project with DLink
- 2.9.5. Connect to Running Target
- 2.9.6. CPU Information
- 2.9.7. Flash Programming
- 2.9.8. Flash Erase
- 2.10. Nuclei Studio Advanced Features
- 2.10.1. Importing Projects Created by Older Versions
- 2.10.2. Extension Selector
- 2.10.3. LST View
- 2.10.4. Code Coverage and Profiling
- 2.10.5. Trace
- 2.10.6. Flame View
- 2.10.7. Using RVProf
- 2.10.8. Nuclei NICE Wizard
- 2.10.9. Using Nuclei Model Debugger
- 2.10.10. Using Nuclei Model
- 2.10.11. Nuclei Near Cycle Model
- 2.10.12. Using GDB Custom Debugger
- 2.10.13. Using Live Watch
- 2.10.14. Live Peripheral
- 2.10.15. Flash Programming
- 2.10.16. Flash Erase
- 2.10.17. Connect to Running Target
- 2.10.18. Updating evalsoc in Nuclei QEMU
- 2.10.19. Switching from GCC to Clang/ZCC
- 2.10.20. CPU Information
- 2.10.21. MMU View
- 2.10.22. RISC-V Reference
- 2.10.23. GDB Breakpoint Project Filter Option
- 2.10.24. Memory View Address Exclusion
- 2.10.25. Big Endian Compiler Support
- 2.10.26. Register View Filter
- 2.10.27. Disassembly View C Code Linkage
- 2.11. Nuclei Studio Update and Upgrade
- 2.12. Nuclei Studio FAQ
- 2.12.1. Nuclei Studio Starts Slowly
- 2.12.2. Nuclei Studio Builds Programs Slowly
- 2.12.3. Cannot Find the New Nuclei RISC-V C/C++ Project Menu
- 2.12.4. Opening/Closing the Launch Bar
- 2.12.5. Using the Launch Bar
- 2.12.6. Running/Debugging Without the Launch Bar
- 2.12.7. Viewing Registers in the Debug Perspective
- 2.12.8. Terminating Processes in the Debug Perspective
- 2.12.9. Functions of the Buttons in the Nuclei Studio Toolbar
- 2.12.10. Showing Other Windows
- 2.12.11. Restoring the Default Window Layout
- 2.12.12. Comparing with File History
- 2.12.13. Possible Errors When Creating a Project
- 2.12.14. Cached Paths When Adding an Include Path
- 2.12.15. Cannot Find a Settings Page Section
- 2.12.16. Slow Download Speed to the Development Board
- 2.12.17. Multiple Users Using Nuclei Studio on Linux
- 2.12.18. Two Serial Ports Recognized in Device Manager
- 2.12.19. Error “Could Not Determine GDB Version After Sending: riscv-nuclei-elf-gdb –version, response:” on Linux
- 2.12.20. Error Reported When Using QEMU on Linux
- 2.12.21. Error About Missing Symbols When Linking the C Library During Project Build
- 2.12.22. Build Error: Fatal Error: rvintrin.h: No Such File or Directory
- 2.12.23. Debug Error: Error: Couldn’t Find an Available Hardware Trigger
- 2.12.24. Viewing the GDB Trace While Debugging a Project
- 2.12.25. Connecting to a Running Target While Debugging a Project
- 2.12.26. Known Defects in Flash Programming
- 2.12.27. Hardware Check Before Debugging a Project in Nuclei Studio
- 2.12.28. Nuclei Studio Cannot Debug Due to a Low CPU Frequency
- 2.12.29. Setting the Nuclei Studio Theme Colors
- 2.12.30. No Project Creation Menu in the Debug Perspective
- 2.12.31. Build Error: DWARF Error: Mangled Line Number Section (Bad File Number)
- 2.12.32. How to Build a Project That Supports Semihosting
- 2.12.33. How to Debug a Semihosting-Enabled Project with J-Link
- 2.12.34. Debug Session Hangs Due to Address Preloading in the Memory Window
- 2.12.35. How to View GDB Trace
- 2.13. Other Issues Without a Noted Version
- 2.14. Known Issues
- 3. Nuclei Studio VSCode
- 3.1. Introduction to Nuclei Studio VSCode
- 3.2. Changelog
- 3.3. Nuclei Studio VSCode Download and Installation
- 3.4. NPK Package Management in Nuclei Studio VSCode
- 3.5. Create a Project in Nuclei Studio VSCode
- 3.6. Build a Project in Nuclei Studio VSCode
- 3.7. Debug and Run a Project in Nuclei Studio VSCode
- 3.8. Advanced Usage of Nuclei Studio VSCode
- 3.9. Nuclei Studio VSCode Update and Upgrade
- 3.10. Nuclei Studio VSCode FAQ
- 3.10.1. The Nuclei Studio VSCode Icon Does Not Appear in the Activity Bar
- 3.10.2. VS Code Reports That the Workspace Is in Restricted Mode
- 3.10.3. A “Configure Nuclei Studio Install Folder” Warning Is Shown in the WELCOME Panel
- 3.10.4. “Please install the required NPK packages first.” When Creating a Project
- 3.10.5. “Current workspace differs from Nuclei Studio VSCode workspace.”
- 3.10.6. Build Fails Because the Toolchain or
makeCannot Be Found - 3.10.7. The Debug Session Does Not Start
- 3.10.8. Live Watch Reports That the Feature Is Not Supported
- 3.10.9. Rebuild Index Reports That the C/C++ Extension Is Not Available
- 3.10.10. “Debug As…” Is Not Available for a Launch File
- 3.10.11. Where Are the NPK Packages Installed
- 4. Nuclei Toolchain
- 4.1. GNU Toolchain
- 4.1.1. About GNU Toolchain
- 4.1.2. Extensions Support
- 4.1.3. General Options
- 4.1.4. Nuclei Custom Options
- 4.1.5. Libraries
- 4.1.6. Changelog
- 4.1.7. Install and Setup
- 4.1.8. Testsuite
- 4.1.9. Checking GNU Version
- 4.1.10. Known Issues
- 4.1.11. Nuclei Custom BFloat16 Extension
- 4.1.12. Nuclei Custom VPU Extension
- 4.1.13. Nuclei Custom Xxlvw Extension
- 4.2. LLVM Toolchain
- 4.3. Changelog
- 4.1. GNU Toolchain
- 5. Nuclei C Runtime Library
- 5.1. About Nuclei C Runtime Library
- 5.2. Nuclei C Runtime Library for Nuclei Toolchain
- 5.3. Quick start
- 5.4. Runtime support
- 5.5. Using customized fileops
- 5.6. C library API
- 5.6.1. <assert.h>
- 5.6.2. <complex.h>
- 5.6.3. <ctype.h>
- 5.6.4. <errno.h>
- 5.6.5. <fcntl.h>
- 5.6.6. <fenv.h>
- 5.6.7. <float.h>
- 5.6.8. <iso646.h>
- 5.6.9. <limits.h>
- 5.6.10. <locale.h>
- 5.6.11. <malloc.h>
- 5.6.12. <math.h>
- 5.6.13. <setjmp.h>
- 5.6.14. <stdalign.h>
- 5.6.15. <stdbool.h>
- 5.6.16. <stddef.h>
- 5.6.17. <stdint.h>
- 5.6.18. <stdio.h>
- 5.6.19. <stdlib.h>
- 5.6.20. <string.h>
- 5.6.21. <time.h>
- 5.6.22. <unistd.h>
- 5.6.23. <wchar.h>
- 5.6.24. <wctype.h>
- 5.6.25. <xlocale.h>
- 5.7. Compiler support API
- 5.8. External function interface
- 5.9. Changelog
- 5.10. Known Issues
- 6. Nuclei OpenOCD
- 6.1. OpenOCD Usage Guide
- 6.1.1. Table of Contents
- 6.1.2. Tool Installation and Environment Setup
- 6.1.3. Repositories and Documentation
- 6.1.4. Getting Started
- 6.1.5. Nuclei-Specific Features
- 6.1.6. Configuration File Overview
- 6.1.7. Low-Cost Debugger Solution
- 6.1.8. Frequently Asked Questions
- 6.1.9. Common Problem Troubleshooting and Solutions
- 6.1.10. Changelog
- 6.1.11. Known Issues
- 6.1.12. Other Debuggers
- 6.2. OpenOCD Capture Trace Data
- 6.3. TraceDecoder Decoding Trace Data
- 6.1. OpenOCD Usage Guide
- 7. Nuclei QEMU
- 8. Nuclei Model
- 9. ChangeLog
- 10. Glossary
- 11. Appendix