The evalsoc implementation in Nuclei N100 SDK serves as a latest reference implementation using Nuclei 100 series CPU.
We support the following toolchains in this evalsoc implementation:
To quickly port this SDK to your custom SoC (designed with Nuclei 100 series CPU), please refer to our comprehensive porting guide:
Porting Guide: From EvalSoC to Custom SoC
Board/nuclei_fpga_eval/)Configuration Files
npk.yml: Board Support Package Configuration File for NPKopenocd_evalsoc.cfg: OpenOCD configuration for on-board debugging using HummingBird DebuggerHeader Files (Include/)
nuclei_sdk_hal.h: Hardware abstraction layer interfaceNMSIS_DISABLE_DEBUGboard_nuclei_fpga_eval.h: Board specific header file for peripheral access if neededLinker Scripts (Source/GCC/ and Source/IAR/)
Source/GCC: Linker Scripts for GCC/Clang toolchainSource/IAR: Linker Scripts for IAR toolchaingcc_evalsoc_sram.ld: code and data all placed in sramiar_evalsoc_sram.icf: code and data all placed in sramCommon/)evalsoc.svd: System View Description file, provided by SoC vendor
npk.yml: SoC Support Package Configuration File for NPK
Common/Include/)cpufeature.h: Nuclei RISC-V CPU feature header file
nuclei_gen toolevalsoc.h to define CPU feature macros used in NMSIS Core header filesevalsoc.h: Core SoC definitions
evalsoc_uart.h: UART driver interface
system_evalsoc.h: System configuration
nuclei_sdk_soc.h: SDK SoC common header file
evalsoc.hCommon/Source/)Startup/Interrupt and Exception Code
GCC/startup_evalsoc.SIAR/startup.S and IAR/startup_evalsoc.cGCC/intexc_evalsoc.SIAR/intexc_evalsoc.SSystem Configuration Code
evalsoc_common.c: get soc frequency via timer freq, and delay function and etc,
which can be deleted if not neededsystem_evalsoc.c: template code for system configuration,
it will do premain initialization, interrupt and exception initialization,
uart initialization and print banner, you can customize it as neededDriver Implementations(Drivers)
evalsoc_uart.cStandard C Library Stub Code(Stubs)
Stubs/newlibStubs/iardlibStubs/libncrtbuild.mk: Main build rules for the SoC
march, mabi and mtunecpufeature.mk: CPU extension configuration
build.mk