|←||µOS++ IIIe v6.3.10 released|
Version v6.3.11 is a new µOS++ IIIe/CMSIS++ public release that addresses several bugs.
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 are available from a separate project.
To update the local copy of the xPacks, use the
To experiment with µOS++, please check the demo projects, available from GitHub, and use a similar structure for your projects.
va_arg()macro not only expects the stack to be aligned at 8 bytes for float/double variables, but silently aligns it; if at the moment of the call the stack was not 8-bytes aligned, this resulted in fetching wrong values from the stack. The solution was to guarantee that the initial thread stack is aligned at 8-bytes. Asserts were also added for both the thread stack and the MSP stack;
*_receive()calls triggered asserts, although the parameters were ok. The problem was due to some incorrect conditions used for checking the nbytes parameter; the wrong asserts were removed, in all three
__set_MSP (*((uint32_t*) 0x0));are no longer possible. The current workaround was to use a volatile pointer. Please note that this currently works on GCC 5.4, with any optimisation level; is not guaranteed to work on future GCC versions, which might get smarter in checking NULL dereferencing.
Advanced tools to manage the µOS++ packages (based on XCDL/xPack) are planned, and will be available in the near future.