Skip to content

Releases: Nuclei-Software/NMSIS

Nuclei Microcontroller Software Interface Standard V1.0.1

06 Aug 08:12
Compare
Choose a tag to compare

This is the offical V1.0.1 release of Nuclei MCU Software Interface Standard(NMSIS).

  • NMSIS-Core

    • Add RISC-V DSP 64bit intrinsic functions in core_feature_dsp.h
    • Add more CSR definitions in riscv_encoding.h
    • Update arm compatiable functions for RISC-V dsp instruction cases in core_compatiable.h
  • NMSIS-DSP

    • Optimize RISC-V 32bit DSP library implementation
    • Add support for Nuclei RISC-V 64bit DSP SIMD instruction for DSP library
    • Add test cases used for DSP library testing, mainly for internal usage
    • Change the examples and tests to use Nuclei SDK as running environment
  • NMSIS-NN

    • Add support for Nuclei RISC-V 64bit DSP SIMD instruction for NN library
    • Change the examples and tests to use Nuclei SDK as running environment
  • Device Templates

    • Add DDR DOWNLOAD_MODE in device templates

    • Modifications to startup_<Device>.S files

      • _premain_init is added to replace _init
      • _postmain_fini is added to replace _fini
    • If you have implemented your init or de-init functions through _init or _fini,
      please use _premain_init and _postmain_fini functions defined system_<Device>.c now

    • Cache control updates in System_.c

      • I-Cache will be enabled if __ICACHE_PRESENT = 1 defined in <Device>.h
      • D-Cache will be enabled if __DCACHE_PRESENT = 1 defined in <Device>.h

Nuclei Microcontroller Software Interface Standard V1.0.1-RC1

03 Aug 01:00
Compare
Choose a tag to compare

This is release candidate version V1.0.1-RC1 of NMSIS.

  • NMSIS-Core

    • Add RISC-V DSP 64bit intrinsic functions in core_feature_dsp.h
    • Add more CSR definitions in riscv_encoding.h
    • Update arm compatiable functions for RISC-V dsp instruction cases in core_compatiable.h
  • NMSIS-DSP

    • Optimize RISC-V 32bit DSP library implementation
    • Add support for Nuclei RISC-V 64bit DSP SIMD instruction for DSP library
    • Add test cases used for DSP library testing, mainly for internal usage
    • Change the examples and tests to use Nuclei SDK as running environment
  • NMSIS-NN

    • Add support for Nuclei RISC-V 64bit DSP SIMD instruction for NN library
    • Change the examples and tests to use Nuclei SDK as running environment
  • Device Templates

    • Add DDR DOWNLOAD_MODE in device templates
    • Modifications to ``startup_.S** files
      • _premain_init is added to replace _init
      • _postmain_fini is added to replace _fini
      • I/D Cache will be enabled by default now if present
    • If you have implemented your functions in _init or _fini,
      please place the changes in functions defined system_<Device>.c

Nuclei Microcontroller Software Interface Standard V1.0.0-beta1

14 Mar 03:57
Compare
Choose a tag to compare

Main changes in release V1.0.0-beta1.

  • NMSIS-Core

    • Fix SysTick_Reload implementation
    • Update ECLIC_Register_IRQ implementation to allow handler == NULL
    • Fix MTH offset from 0x8 to 0xB, this will affect function of ECLIC_GetMth and ECLIC_SetMth
    • Fix wrong macro check in cache function
    • Add missing SOC_INT_MAX enum definition in Device template
    • In System_<Device>.c, ECLIC NLBits set to __ECLIC_INTCTLBITS,
      which means all the bits are for level, no bits for priority

Nuclei Microcontroller Software Interface Standard V1.0.0-beta

27 Feb 04:07
Compare
Choose a tag to compare

Main changes in release V1.0.0-beta.

  • NMSIS-Core

    • Fix error typedef of CSR_MCAUSE_Type
    • Change CSR_MCACHE_CTL_DE to future value 0x00010000
    • Fix names in CSR naming, CSR_SCRATCHCSW -> CSR_MSCRATCHCSW,
      and CSR_SCRATCHCSWL -> CSR_MSCRATCHCSWL
    • Add macros in riscv_encoding.h: MSTATUS_FS_INITIAL, MSTATUS_FS_CLEAN, MSTATUS_FS_DIRTY
  • Documentation

    • Fix an typo in core_template_intexc.rst
    • Add cross references of Nuclei ISA Spec
    • Update appendix
    • Refines tables and figures

Nuclei Microcontroller Software Interface Standard V1.0.0-alpha.1

14 Jan 02:19
Compare
Choose a tag to compare

From release v1.0.0-alpha to now, these changes have been made to NMSIS.

API changes has been maded to system timer.

  • Start from Nuclei N core version 1.4, MSTOP register is renamed to MTIMECTL to provide more features

  • Changes made to NMSIS/Core/core_feature_timer.h

    • MSTOP register name changed to MTIMECTL due to core spec changes
    • SysTimer_SetMstopValue renamed to SysTimer_SetControlValue
    • SysTimer_GetMstopValue renamed to SysTimer_GetControlValue
    • Add SysTimer_Start and SysTimer_Stop to start or stop system timer counter
    • SysTick_Reload function is introduced to reload system timer
    • Macro names started with SysTimer_xxx are changed, please check in the code.
  • Removed unused lines of code in DSP and NN library source code which has unused macros which will not work for RISCV cores.

  • Fix some documentation issues, mainly typos and invalid cross references.

Nuclei Microcontroller Software Interface Standard V1.0.0-alpha

27 Dec 08:13
Compare
Choose a tag to compare

This is the V1.0.0-alpha release of Nuclei MCU Software Interface Standard(NMSIS).

In this release, we have release three main compoments:

  • NMSIS-Core: Standardized API for the Nuclei processor core and peripherals.

  • NMSIS-DSP: DSP library collection optimized for the Nuclei Processors which has RISC-V SIMD instruction set.

  • NMSIS-NN: Efficient neural network library developed to maximize the performance and minimize the memory footprint Nuclei Processors which has RISC-V SIMD instruction set.

We also released totally new Nuclei-SDK which is an SDK implementation based on the NMSIS-Core for Nuclei N/NX evaluation cores running on HummingBird Evaluation Kit.