|←||License changed from LGPL to MIT License||µOS++ IIIe v6.3.9 released||→|
Version v6.3.7 is the first µOS++ IIIe/CMSIS++ public release. The major additions are the advanced memory management features, which allow deterministic and non-fragmenting allocations in controlled environments.
As of now, the µOS++ code is split between several GitHub projects and needs to be brought together to compose a project. To automate this process, some scripts were written. To experiment with µOS++, please check the demo projects, available from GitHub, and use a similar structure for your projects.
memory_resourceclasses were added, with various allocation policies (
block_pool). Based on these classes, an application allocator was implemented, and the standard C++
delete, as the standard C
free()were routed to this allocator. An optional allocator for the RTOS system objects can be defined. For special applications, optional pools of system objects can be created and allocation for these objects redirected to the pools.
Experience proved that one of the changes in this version was trickier than planned: the rename of the
os_startup_initialize_hardware(), since without the renamed function the linker used the weak version of this function and did not perform the hardware initialisations at all.
To help developers, the weak definition was temporarily disabled, so if this function was not yet renamed in the application, the linker will complain.
Advanced tools to manage the µOS++ packages (based on XCDL/xPack) are planned, and will be available in the near future.