Skip to content

Nuclei embedded Software Development Kit, Release 0.7.0

Compare
Choose a tag to compare
@fanghuaqi fanghuaqi released this 21 Oct 06:57
· 17 commits to master since this release

This is release version 0.7.0 of Nuclei SDK.

  • Application

    • Add demo_plic case to show how to use PLIC related API in PLIC interrupt mode.
    • Add demo_clint_timer case to show how to use systimer in CLINT interrupt mode not ECLIC interrupt mode.
    • Update demo_pmp case to make it suitable for when PMP not present.
    • Change download mode from ddr to sram for smp and cache cases to be suitable for some custom soc sdk.
  • NMSIS

    • Add more ECC related macros for milm_ctl/mdlm_ctl/mcache_ctl csr
    • Add more PLIC interrupt API in core_feature_plic.h
    • Add more interrupt related API when in plic interrupt mode, see changes in core_feature_base.h
    • Bump NMSIS version to 1.3.0 with updated NMSIS Core/DSP/NN header files and prebuilt library
  • SoC

    • Add Terapines ZCC NPK support, require Nuclei Studio >= 2024.06
    • Merge newlib stub code from many files into one file called stubs.c for all SoC supported in Nuclei SDK
    • Enable I/D cache for evalsoc before data/bss initialization steps using cpufeature.h for faster data initialization
    • gd32vf103 default CORE name changed from n205 to n203 which are the same in software
    • gd32vw55x default CORE name changed from n307fd to n300fd which are the same in software
    • evalsoc default CORE name changed from n307fd to n300fd which are the same in software
    • Add plic interrupt and exception related handling code for evalsoc
    • Fix BPU is not enabled during startup for startup code for IAR compiler, which will increase performance of 600/900/1000 series a lot
  • Build System

    • Introduce XLCFG_xxx make variable for evalsoc which is only internally used by Nuclei to overwrite default cpufeature.h macro definition, which will be useful for some applications such as demo_cidu, demo_cache, demo_spmp, demo_smpu and demo_smode_eclic
    • Introduce ECC_EN make variable for evalsoc which is only internally used by Nuclei to control whether ECC check is enabled or disabled.
    • Add core n200e/n202/n202e and remove n205/n205e/n305/n307/n307fd which can be replaced by n203/n203e/n300/n300f/n300fd
    • Prebuilt IAR projects and workbench are updated due to evalsoc support changes for plic and clint interrupt modes.
    • Add SYSCLK make variable for manually set default SYSTEM_CLOCK macro in evalsoc, it is useful for CODESIZE=1 case
    • Add QEMU_MC_EXTOPT make variable to pass extra Nuclei Qemu -M machine options for evalsoc.
    • Add QEMU_CPU_EXTOPT make variable to pass extra Nuclei Qemu -cpu cpu options for evalsoc.

Full Changelog: 0.6.0...0.7.0