Skip to content

Nuclei embedded Software Development Kit, Release 0.3.9

Compare
Choose a tag to compare
@fanghuaqi fanghuaqi released this 04 Aug 01:08
· 1054 commits to master since this release

This is release version 0.3.9 of Nuclei SDK.

  • Application

    • Add lowpower application to demostrate lowpower feature of Nuclei Processor.
    • Update demo_nice application due to RTL change in cpu.
    • Change dhrystone compiling options to match better with Nuclei CPU IP.
  • NMSIS

    • Update riscv_encoding.h, a lot of changes in the CSRs and macros, VPU are added.
    • Add nmsis_bench.h, this header file will not be included in nmsis_core.h, if you want to
      use it, please directly include in your source code. It is used to help provide NMSIS
      benchmark and high performance monitor macro helpers.
    • Add hpm related API in core_feature_base.h
    • Add enable/disable vector API only when VPU available
  • Build System

    • Fix upload program the pc is not set correctly to _start when cpu is reset in flash programming mode.
    • Add run_qemu_debug/run_xlspike_rbb/run_xlspike_openocd make targets
  • SoC

    • Add npk support for smp, required to update ide plugin in Nuclei Studio 2022.04. And also a new version
      of qemu is required, if you want to run in qemu.

    • Add evalsoc in Nuclei SDK, evalsoc is a new evaluation SoC for Nuclei RISC-V Core, for next generation
      of cpu evaluation with iregion feature support. demosoc will be deprecated in future, when all our CPU IP
      provide iregion support.

    • Important: A lot of changes are maded to linker script of SDK.

      • rodata are placed in data section for ilm/flash/ddrdownload mode, but placed in text section for flashxip download mode.
      • For ilm download mode, if you want to make the generated binary smaller, you can change REGION_ALIAS of DATA_LMA from ram to ilm.
      • Add _text_lma/_text/_etext to replace _ilm_lma/_ilm/_eilm, and startup code now using new ld symbols.
      • Use REGION_ALIAS to make linker script portable
      • Linker scripts of gd32vf103/evalsoc/demosoc are all changed.
    • FPU state are set to initial state when startup, not previous dirty state.

    • Vector are enabled and set to initial state when startup, when vector are enabled during compiling.

    • For latest version of Nuclei CPU IP, BPU cold init need many cycles, so we placed bpu enable before enter to main.

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