SuperTinyKernel (STK) - lightweight embedded multi/single-core multithreading for NXP Cortex-M MCUs

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

SuperTinyKernel (STK) - lightweight embedded multi/single-core multithreading for NXP Cortex-M MCUs

273 Views
neutroncode
Contributor I

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.

0 Kudos
Reply
0 Replies