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.10. Nuclei Studio Advanced Features
- 2.10.1. Importing Projects Created by Older Versions
- 2.10.2. LST View
- 2.10.3. Code Coverage and Profiling
- 2.10.4. Using the Trace Feature
- 2.10.5. Using RVProf
- 2.10.6. Nuclei NICE Wizard
- 2.10.7. Using the Nuclei Model Debugger
- 2.10.8. Using Nuclei Model
- 2.10.9. Nuclei Near Cycle Model
- 2.10.10. Using the GDB Custom Debugging Feature
- 2.10.11. Using Live Watch
- 2.10.12. Using Flame View
- 2.10.13. Flash Programming
- 2.10.14. Connect to Running Target
- 2.10.15. Updating evalsoc Configuration in Nuclei QEMU
- 2.10.16. Switching From the GNU GCC Toolchain to the Clang/ZCC Toolchain
- 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.13. Other Issues Without a Noted Version
- 3. Nuclei Toolchain
- 4. Nuclei C Runtime Library
- 4.1. About Nuclei C Runtime Library
- 4.2. Nuclei C Runtime Library for Nuclei Toolchain
- 4.3. Quick start
- 4.4. Runtime support
- 4.5. Using customized fileops
- 4.6. C library API
- 4.6.1. <assert.h>
- 4.6.2. <complex.h>
- 4.6.3. <ctype.h>
- 4.6.4. <errno.h>
- 4.6.5. <fenv.h>
- 4.6.6. <float.h>
- 4.6.7. <iso646.h>
- 4.6.8. <limits.h>
- 4.6.9. <locale.h>
- 4.6.10. <math.h>
- 4.6.11. <setjmp.h>
- 4.6.12. <stdbool.h>
- 4.6.13. <stddef.h>
- 4.6.14. <stdint.h>
- 4.6.15. <stdio.h>
- 4.6.16. <stdlib.h>
- 4.6.17. <string.h>
- 4.6.18. <time.h>
- 4.6.19. <wchar.h>
- 4.6.20. <wctype.h>
- 4.6.21. <xlocale.h>
- 4.7. Compiler support API
- 4.8. External function interface
- 5. Nuclei OpenOCD
- 5.1. Introduction to OpenOCD
- 5.2. Getting Started
- 5.3. Nuclei-Specific Features
- 5.3.1. CPU Information Display
- 5.3.2. NUSPI (Nuclei SPI) Driver
- 5.3.3. Custom Driver with OpenFlashLoader
- 5.3.4. Nuclei-Specific CSRs
- 5.3.5. Embedded Trace (ETrace) Support
- 5.3.6. Debug Map Feature
- 5.3.7. Cross-Trigger Interface
- 5.3.8. Debug with Hypervisor
- 5.3.9. Reset and Halt Command
- 5.3.10. FTDI nSCAN1 Mode Command
- 5.4. Configuration File Overview
- 5.4.1. Debugger Speed Configuration
- 5.4.2. Debugger Interface Configuration
- 5.4.3. Debugger Mode Configuration
- 5.4.4. JTAG Link Configuration
- 5.4.5. Work Area Configuration
- 5.4.6. NOR Flash Configuration
- 5.4.7. Debugger Connection Specification
- 5.4.8. Debugging Service Ports
- 5.4.9. Semihosting Support
- 5.4.10. Target Defer Examine
- 5.5. Low-Cost Debugger Solution
- 5.6. Frequently Asked Questions
- 5.7. Changelog
- 6. Nuclei QEMU
- 7. Nuclei Model
- 8. ChangeLog
- 9. Glossary
- 10. Appendix