Releases: Nuclei-Software/nuclei-sdk
Nuclei embedded Software Development Kit, Release 0.3.4
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
- Fix
-
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.
- For demosoc, if you choose ilm and ddr download mode, then the data section's LMA is equal to VMA now, and there
-
NPK
- add
-x assembler-with-cpp
in npk.yml for ssp
- add
For detailed changes, please check commit histories since 0.3.3 release.
Nuclei embedded Software Development Kit, Release 0.3.3
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
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
intoComponents
folder, such asComponents/tjpgd
orComponents/fatfs
, and you can include
this component using make variableMIDDLEWARE
in application Makefile, such asMIDDLEWARE := fatfs
,
orMIDDLEWARE := 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 useDOWNLOAD_MODE
to handle the vector table location, instead
we defined a new macro calledVECTOR_TABLE_REMAPPED
to stand for whether the vector table's vma != lma.
IfVECTOR_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.
- The SoC and RTOS related makefiles are moving to its own folder, and controlled By
-
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 byEXTRA_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 fromriscv_encoding.h
, user can define
differentDOWNLOAD_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 insystem_<Device>.c
DOWNLOAD_MODE_xxx
now is used instartup_<Device>.S
to control the vector table location,
instead a new macro calledVECTOR_TABLE_REMAPPED
is used, and it should be defined inSoC/<SOC>/build.mk
if the vector table's LMA and VMA are different.
- Add general bit operations and memory access APIs in
-
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
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 namehbird
.- The
hbird
SoC is renamed todemosoc
, so theSoC/hbird
folder is renamed toSoC/demosoc
,
and theSoC/hbird/Board/hbird_eval
is renamed toSoC/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 todemosoc
, andhbird_eval
is renamed tonuclei_fpga_eval
- Please use
SOC=demosoc BOARD=nuclei_fpga_eval
to replaceSOC=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)
- Please use
-
-
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
- Update
-
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
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
- Add
-
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
- Add
-
Build
- Add
setup.ps1
for setting up environment in windows powershell
- Add
Nuclei embedded Software Development Kit, Release 0.2.9
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 thisftdi_device_desc "Dual RS232-HS"
line.
If you want to select specified JTAG, you can add thisftdi_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
- Remove
-
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
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.
- Fixed implementation for
-
Misc
- Update platformio package json file according to latest platformio requirements
Nuclei embedded Software Development Kit, Release 0.2.7
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.
- Important: Fix OS portable code, configKERNEL_INTERRUPT_PRIORITY should
-
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
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
- Update NMSIS DSP and NN library built using NMSIS commit 3d9d40ff
-
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
This is the official release version 0.2.5
of Nuclei SDK.
-
SoC
-
For SOC=hbird, in function
_premain_init
ofsystem_hbird.c
, cache will be enable in following cases:- If
__ICACHE_PRESENT
is set to 1 inhbird.h
, I-CACHE will be enabled - If
__DCACHE_PRESENT
is set to 1 inhbird.h
, D-CACHE will be enabled
- If
-
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
toRV-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