Skip to content

Releases: Nuclei-Software/nuclei-sdk

Nuclei embedded Software Development Kit, Release 0.3.4

15 Oct 09:53
Compare
Choose a tag to compare

V0.3.4

This is release version 0.3.4 of Nuclei SDK.

  • CI

    • Fix gitlab ci fail during install required software
  • Build System

    • build asm with -x assembler-with-cpp
  • Tools

    • Fix tools/scripts/nsdk_cli/configs/nuclei_fpga_eval_ci_qemu.json description issue for dsp enabled build configs
    • Generate html report when run tools/scripts/nsdk_cli/nsdk_bench.py
    • nsdk_builder.py: modify qemu select cpu args,change p to ,ext=p
  • SoC

    • For demosoc, if you choose ilm and ddr download mode, then the data section's LMA is equal to VMA now, and there
      will be no data copy for data section, bss section still need to set to zero.
    • For demosoc, if you choose ilm and ddr download mode, The rodata section are now also placed in data section.
  • NPK

    • add -x assembler-with-cpp in npk.yml for ssp

For detailed changes, please check commit histories since 0.3.3 release.

Nuclei embedded Software Development Kit, Release 0.3.3

19 Aug 03:47
Compare
Choose a tag to compare

V0.3.3

This is release version 0.3.3 of Nuclei SDK.

  • NPK

    • Fix NPK issues related to QEMU for demosoc and gd32vf103, and RTOS macro definitions in NPK
    • This SDK release required Nuclei Studio 2021.09-ENG1, 2021.08.18 build version

For detailed changes, please check commit histories since 0.3.2 release.

Nuclei embedded Software Development Kit, Release 0.3.2

16 Aug 01:22
Compare
Choose a tag to compare

This is release version 0.3.2 of Nuclei SDK.

  • Build

    • Important changes about build system:

      • The SoC and RTOS related makefiles are moving to its own folder, and controlled By
        build.mk inside in in the SoC/ or OS/ folders.
      • Middlware component build system is also available now, you can add you own middleware or library
        into Components folder, such as Components/tjpgd or Components/fatfs, and you can include
        this component using make variable MIDDLEWARE in application Makefile, such as MIDDLEWARE := fatfs,
        or MIDDLEWARE := tjpgd fatfs.
      • Each middleware component folder should create a build.mk, which is used to control
        the component build settings and source code management.
      • An extra DOWNLOAD_MODE_STRING macro is passed to represent the DOWNLOAD mode string.
      • In startup_<Device>.S now, we don't use DOWNLOAD_MODE to handle the vector table location, instead
        we defined a new macro called VECTOR_TABLE_REMAPPED to stand for whether the vector table's vma != lma.
        If VECTOR_TABLE_REMAPPED is defined, the vector table is placed in .vtable_ilm, which means the vector
        table is placed in flash and copy to ilm when startup.
    • Change openocd --pipe option to -c "gdb_port pipe; log_output openocd.log"

    • Remove -ex "monitor flash protect 0 0 last off" when upload or debug program to avoid error
      when openocd configuration file didn't configure a flash

    • Add cleanall target in <NUCLEI_SDK_ROOT>/Makefile, you can clean all the applications
      defined by EXTRA_APP_ROOTDIRS variable

    • Fix size target of build system

  • Tools

    • Add nsdk_cli tools in Nuclei SDK which support run applications

      • tools/scripts/nsdk_cli/requirements.txt: python module requirement file
      • tools/scripts/nsdk_cli/configs: sample configurations used by scripts below
      • tools/scripts/nsdk_cli/nsdk_bench.py: nsdk bench runner script
      • tools/scripts/nsdk_cli/nsdk_execute.py: nsdk execute runner script
  • SoC

    • Add general bit operations and memory access APIs in <Device>.h, eg. _REG32(p, i), FLIP_BIT(regval, bitofs)
    • DOWNLOAD_MODE_xxx macros are now placed in <Device>.h, which is removed from riscv_encoding.h, user can define
      different DOWNLOAD_MODE_xxx according to its device/board settings.
    • DOWNLOAD_MODE_STRING are now used to show the download mode string, which should be passed eg. -DOWNLOAD_MODE_STRING=\"flash\",
      it is used in system_<Device>.c
    • DOWNLOAD_MODE_xxx now is used in startup_<Device>.S to control the vector table location,
      instead a new macro called VECTOR_TABLE_REMAPPED is used, and it should be defined in SoC/<SOC>/build.mk
      if the vector table's LMA and VMA are different.
  • NMSIS

    • Bump NMSIS to version 1.0.2
  • OS

    • Fix OS task switch bug in RT-Thread

For detailed changes, please check commit histories since 0.3.1 release.

Nuclei embedded Software Development Kit, Release 0.3.1

19 Apr 02:05
Compare
Choose a tag to compare

This is official version 0.3.1 of Nuclei SDK.

  • We are using demosoc to represent the Nuclei Evaluation SoC for customer to replace the old name hbird.
  • The hbird SoC is renamed to demosoc, so the SoC/hbird folder is renamed to SoC/demosoc,
    and the SoC/hbird/Board/hbird_eval is renamed to SoC/demosoc/Board/nuclei_fpga_eval.
  • SoC

    • board: Add support for TTGO T-Display-GD32, contributed by tuupola_

    • Add definitions for the Interface Association Descriptor of USB for GD32VF103, contributed by michahoiting_.

    • IMPORTANT: hbird SoC is renamed to demosoc, and hbird_eval is renamed to nuclei_fpga_eval

      • Please use SOC=demosoc BOARD=nuclei_fpga_eval to replace SOC=hbird BOARD=hbird_eval
      • The changes are done to not using the name already used in opensource Hummingbird E203 SoC.
      • Now demosoc is used to represent the Nuclei Demo SoC for evaluation on Nuclei FPGA evaluation Board(MCU200T/DDR200T)
  • Documentation

    • Update msh application documentation
    • Add basic documentation for TTGO T-Display-GD32
    • Add Platformio user guide(written in Chinese) link in get started guide contributed by Maker Young
  • Application

    • Increase idle and finsh thread stack for RT-Thread, due to stack size is not enough for RISC-V 64bit
    • Set rt-thread example tick hz to 100, and ucosii example tick hz to 50
  • Build

    • Format Makefile space to tab
    • Add $(TARGET).dasm into clean targets which are missing before
  • Code style

    • Format source files located in application, OS, SoC, test using astyle tool

Nuclei embedded Software Development Kit, Release 0.3.0

18 Dec 02:45
Compare
Choose a tag to compare

This is official version 0.3.0 of Nuclei SDK.

  • SoC

    • Add more newlib stub functions for all SoC support packages
    • Dump extra csr mdcause in default exception handler for hbird
    • Add Sipeed Longan Nano as new supported board
    • Add gd32vf103c_longan_nano board support, contributed by tuupola and RomanBuchert
  • Documentation

    • Add demo_nice application documentation
    • Add msh application documentation
    • Update get started guide
    • Add gd32vf103c_longan_nano board documentation
    • Update board documentation structure levels
  • Application

    • Cleanup unused comments in dhrystone
    • Add new demo_nice application to show Nuclei NICE feature
    • Add new msh application to show RT-Thread MSH shell compoment usage
  • NMSIS

    • Fix typo in CLICINFO_Type._reserved0 bits
    • Fix __STRBT, __STRHT, __STRT and __USAT macros
  • OS

    • Add msh compoment source code into RT-Thread RTOS source code
    • Add rt_hw_console_getchar implementation
  • Build

    • Add setup.ps1 for setting up environment in windows powershell

Nuclei embedded Software Development Kit, Release 0.2.9

20 Oct 02:26
Compare
Choose a tag to compare

This is official version 0.2.9 of Nuclei SDK.

  • SoC

    • Remove ftdi_device_desc "Dual RS232-HS" line in openocd configuration.
      Newer version of RVSTAR and Hummingbird Debugger have changed the FTDI description
      from "Dual RS232-HS" to "USB <-> JTAG-DEBUGGER", to be back-compatiable with older
      version, we just removed this ftdi_device_desc "Dual RS232-HS" line.
      If you want to select specified JTAG, you can add this ftdi_device_desc according
      to your description.
    • Fix typos in system_<Device>.c
    • Fix gpio driver implementation bugs of hbird
    • Enable more CSR(micfg_info, mdcfg_info, mcfg_info) show in gdb debug
  • Documentation

    • Add more faqs
  • Build System

    • Remove unnecessary upload gdb command
    • Remove upload successfully message for make upload

Nuclei embedded Software Development Kit, Release 0.2.8

07 Sep 07:39
Compare
Choose a tag to compare

This is the official release version 0.2.8 of Nuclei SDK.

  • SoC

    • Fixed implementation for _read newlib stub function, now scanf
      can be used correctly for both gd32vf103 and hbird SoCs.
  • Misc

    • Update platformio package json file according to latest platformio requirements

Nuclei embedded Software Development Kit, Release 0.2.7

04 Sep 01:18
Compare
Choose a tag to compare

This is the official release version 0.2.7 of Nuclei SDK.

  • OS

    • Important: Fix OS portable code, configKERNEL_INTERRUPT_PRIORITY should
      set to default 0, not 1. 0 is the lowest abs interrupt level.
  • Application

    • Fix configKERNEL_INTERRUPT_PRIORITY in FreeRTOSConfig.h to 0
  • NMSIS

    • Change timer abs irq level setting in function SysTick_Config from 1 to 0

Nuclei embedded Software Development Kit, Release 0.2.6

31 Aug 09:35
Compare
Choose a tag to compare

This is the official release version 0.2.6 of Nuclei SDK.

  • Application

    • Fix typo in rtthread demo code
    • Update helloworld application to parse vector extension
  • NMSIS

  • Documentation

    • Update quick startup nuclei tool setup section
    • Update build system documentation
    • Fix typo in application documentation

Nuclei embedded Software Development Kit, Release 0.2.5

06 Aug 08:15
Compare
Choose a tag to compare

This is the official release version 0.2.5 of Nuclei SDK.

  • SoC

    • For SOC=hbird, in function _premain_init of system_hbird.c, cache will be enable in following cases:

      • If __ICACHE_PRESENT is set to 1 in hbird.h, I-CACHE will be enabled
      • If __DCACHE_PRESENT is set to 1 in hbird.h, D-CACHE will be enabled
    • All startup and system init code are adapted to match design changes of NMSIS-1.0.1

      • _init and _fini are deprecated for startup code, now please use _premain_init and _postmain_fini instead
      • Add DDR download mode for Hummingbird SoC, which downloaded program into DDR and execute in DDR
  • Documentation

    • Fix several invalid cross reference links
    • Rename RVStar to RV-STAR to keep alignment in documentation
  • NMSIS

    • Update and use NMSIS 1.0.1
    • Add NMSIS-DSP and NMSIS-NN library for RISC-V 32bit and 64bit
    • Both RISC-V 32bit and 64bit DSP instructions are supported