|
|
2 недель назад | |
|---|---|---|
| .. | ||
| Board | 2 месяцев назад | |
| Common | 2 недель назад | |
| README.md | 8 месяцев назад | |
| build.mk | 2 недель назад | |
| cpufeature.mk | 1 год назад | |
| runmode.mk | 2 недель назад | |
The evalsoc implementation in Nuclei SDK serves as a latest reference implementation of the NMSIS Core Device Templates.
Device templates located in https://github.com/Nuclei-Software/NMSIS/tree/master/Device/_Template_Vendor will not be updated anymore.
We support the following toolchains in this evalsoc implementation:
To quickly port this SDK to your custom SoC (designed with Nuclei 200/300/600/900/1000 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 Debuggeropenocd_xlspike.cfg: Nuclei internal use only. OpenOCD configuration for xlspike simulation, not for general useHeader 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_ilm.ld: code placed in ilm, data placed in dlmgcc_evalsoc_flash.ld: code and data in flash, but code will be copied to ilm, data will be copied to dlm when runninggcc_evalsoc_flashxip.ld: code and data in flash, but code will still in flash, data will be copied to dlm when runninggcc_evalsoc_ddr.ld: code and data all placed in ddrgcc_evalsoc_sram.ld: code and data all placed in sramflash download mode is not supportedCommon/)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.S, S-Mode -> GCC/intexc_evalsoc_s.SIAR/intexc_evalsoc.S, S-Mode -> IAR/intexc_evalsoc_s.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, smp bringup, cache 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.mkrunmode.mk: Nuclei internal use only.