Hi NXP Devs!
Not really a question here. I would like to introduce a thread scheduling library - SuperTinyKernel (STK).
Its GitHub repo: https://github.com/dmitrykos/stk
You can check capabilities in detail on GitHub but briefly STK can:
- Soft and hard real-time support: STK supports cooperative scheduling for “soft real-time” tasks, you can also enable hard real-time mode (KERNEL_HRT) for periodic tasks with guaranteed deadlines.
- Static and dynamic tasks: Define all tasks at startup (KERNEL_STATIC) or allow tasks to be created and destroyed at runtime (KERNEL_DYNAMIC).
- Low-power friendliness: STK puts MCU into a low-power mode when there are no runnable tasks (task calls Sleep).
- Tiny footprint: Minimal C++ abstractions (no STL, no heavy namespaces) keep the kernel small and simple.
- Portability: Supports any ARM Cortex-M MCU.
- Multi-core support: Fully implemented for Cortex-M and RISC-V.
- x86 development mode: Compile & debug your code on a PC before flashing to the MCU, which helps with early testing and unit tests.
- Open-source License: MIT: Open for commercial, closed-source, open-source - your choice.
There are ready to use MCUXpresso examples for NXP K26/K66 MCU (FRDM-K66F dev board) and i.MX RT105 (IMXRT1050-EVKB dev board): https://github.com/dmitrykos/stk/tree/main/build/example/project/nxp-mcuxpresso
Any questions? Please ask, also you are welcome to participate in STK's GitHub repository.