* Added mechanism enabling CPU to
enter WFI mode when the OS is
in idle, what results in large
power consumption reduction.
* Added mechanism to switch SDRAM to
self-refresh mode before entering
WFI, what resulted in further power
consumption reduction.
Updated FreeRTOS source code to 10.4.6.
Moved FreeRTOS sources to the third-party directory.
Added necessary changes to the CMake configuration.
Split FreeRTOSConfig.h. From now, each board has its own.
Added missing log headers.
Minor refactor of the module-os cmake.
Fixed stack overflows in bell application main and time service.
Added atexit functionality. All global destructors and functions
registered with atexit() should be called at program exit.
It was possbile to reuse original newlib implementation with
MALLOC_PROVIDED flag set.
Made sure logger destructructor is called as last one.
Due to mudita OS legacy, it was not possible to simply fix dependencies
in global objectes and hence there are neither global objects
destructors nor functions registered with atexit() called when exit()
is called.
Possibly it will be changed later.
After moving some files to libboard.a the linker was not eager to look
for symbols that should be in the boot header (.boot_hdr section).
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>
Moved USB stack, defined separate library and its dependencies,
assigned library to specific sections in linker script, reduced
build time by more than 10 percent thanks to ending building
usb stack file both in module-bsp and module-vfs
The start address of the OS image adjusted to comply with HAB
Secure Boot. Proper SNVS initialization performed at system startup.
SNVS drivers updated to most recent version. Image signing can be
performed as a part of build process. See doc/secure_boot.md for
more info.
There is a memory shortage in the DTCM region. In order to be able to
add new features linker script for the rt1051 needs to be cleanup.
A couple of issues has been fixed:
* double stack definition blocking 4kB
* excessive heap definition blocking 4kB
* a part of DTCM had not been used blocking 24kB.
Data has been split to user and system part, user data has been moved to
the SDRAM, therefore new data will be placed there. To place it inside
the MCU an explicit statement has to be used.
Added a basic description of memory layout and a couple of comments.
Signed-off-by: Marcin Smoczyński <smoczynski.marcin@gmail.com>