0.3.2
版本发布时间: 2021-08-16 09:22:17
Nuclei-Software/nuclei-sdk最新发布版本:0.6.0(2024-07-01 10:42:53)
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/<SOC> or OS/<RTOS> folders.
- Middlware component build system is also available now, you can add you own middleware or library
into
Components
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.
-
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.