The main changes are the improvements done in the templates code.
- separate template configurations for standalone, retargetting or semihosting
- a local
_sbrk()was added, to match the definitions in the linker scripts; compared to the one included in newlib, this one:
- enforces align(4) to avoid alignment problems
SP(RTOS can allocate it below)
- the libgloss/syscalls.c was included locally, to make the semihosting implementation details explicit and to allow the separate
- [bugs:#66, support-requests:#30] the sections.ld
_enddefinition is now based on
_end_noinitto make the templates compile in Release
- [bugs:#63] updating the toolchain settings for multiple configurations at once is now possible
- [bugs:#65] when using cortex-m4 and float hard or softfp, automatically select fpv4spd16, otherwise the build failed
- [support-requests:#30] the pointers used in the init_array sections are void* to avoid warnings.
- the librdimon linker options were added to the Hello World templates, to make it compile directly
- when using startup files, the DEBUG version of ResetHandler is no longer naked, to allow breakpoints
- since the
__register_exitproc()provided by newlib seems buggy, add an empty
__register_exitproc()in startup_cm.c to avoid startup crash when using startup files
- the error processing in
_write_trace_semihosting_stdout()is more elaborate.