<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: SuperTinyKernel (STK) - lightweight embedded multi/single-core multithreading for NXP Cortex-M M in NXP Designs</title>
    <link>https://community.nxp.com/t5/NXP-Designs/SuperTinyKernel-STK-lightweight-embedded-multi-single-core/m-p/2303157#M1235</link>
    <description>&lt;P&gt;Since the initial post there was an active development happening on STK and it has grown to a more convenient tool for embedded development, so wanted to highlight the progress:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Scheduling strategies&lt;/STRONG&gt;: Besides existing &lt;EM&gt;Round-Robin (RR)&lt;/EM&gt; new scheduling strategies were added:&amp;nbsp;&lt;EM&gt;Fixed-Priority&lt;/EM&gt; (FP, similar to FreeRTOS), &lt;EM&gt;Smooth Weighted Round-Robin&lt;/EM&gt; (SWRR), &lt;EM&gt;Rate-Monotonic&lt;/EM&gt; (RM), &lt;EM&gt;Deadline-Monotonic&lt;/EM&gt; (DM), including Worst Case Reaction Time (WCRT) analysis, &lt;EM&gt;Earliest Deadline First&lt;/EM&gt; (EDF), custom (via ITaskSwitchStrategy). It is probably the only open-source scheduler that has such a rich set of scheduling strategies.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Synchronization API&lt;/STRONG&gt;: Besides &lt;EM&gt;CriticalSection&lt;/EM&gt; there is a set of synchronization primitives now: &lt;EM&gt;SpinLock&lt;/EM&gt;, &lt;EM&gt;Mutex&lt;/EM&gt;, &lt;EM&gt;Event&lt;/EM&gt;, &lt;EM&gt;ConditionVariable&lt;/EM&gt;, &lt;EM&gt;Semaphore&lt;/EM&gt;, &lt;EM&gt;Pipe&lt;/EM&gt; primitives for inter-task, inter-core synchronization. Synchronization is optional via KERNEL_SYNC kernel mode, so it does not bloat FLASH/RAM.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Traceability&lt;/STRONG&gt;: STK now supports tracing of tasks scheduling with a &lt;EM&gt;SEGGER SystemView&lt;/EM&gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;C interface&lt;/STRONG&gt;: For C-only projects STK got a fully-featured C interface.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;If there are any questions, please ask!&lt;/P&gt;</description>
    <pubDate>Thu, 29 Jan 2026 16:49:24 GMT</pubDate>
    <dc:creator>neutroncode</dc:creator>
    <dc:date>2026-01-29T16:49:24Z</dc:date>
    <item>
      <title>SuperTinyKernel (STK) - lightweight embedded multi/single-core multithreading for NXP Cortex-M MCUs</title>
      <link>https://community.nxp.com/t5/NXP-Designs/SuperTinyKernel-STK-lightweight-embedded-multi-single-core/m-p/2253453#M1224</link>
      <description>&lt;P&gt;Hi NXP Devs!&lt;/P&gt;&lt;P&gt;Not really a question here.&amp;nbsp;&lt;SPAN&gt;I would like to introduce a thread scheduling library -&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;SuperTinyKernel (STK)&lt;/STRONG&gt;&lt;SPAN&gt;. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Its GitHub repo:&amp;nbsp;&lt;/SPAN&gt;&lt;A href="https://github.com/dmitrykos/stk" target="_blank" rel="noopener"&gt;https://github.com/dmitrykos/stk&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;You can check capabilities in detail on GitHub but briefly STK can:&lt;/SPAN&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;STRONG&gt;Soft and hard real-time support&lt;/STRONG&gt;: 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.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Static and dynamic tasks&lt;/STRONG&gt;: Define all tasks at startup (KERNEL_STATIC) or allow tasks to be created and destroyed at runtime (KERNEL_DYNAMIC).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Low-power friendliness&lt;/STRONG&gt;: STK puts MCU into a low-power mode when there are no runnable tasks (task calls Sleep).&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Tiny footprint&lt;/STRONG&gt;: Minimal C++ abstractions (no STL, no heavy namespaces) keep the kernel small and simple.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Portability&lt;/STRONG&gt;: Supports any ARM Cortex-M MCU.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Multi-core support&lt;/STRONG&gt;: Fully implemented for Cortex-M and RISC-V.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;x86 development mode&lt;/STRONG&gt;: Compile &amp;amp; debug your code on a PC before flashing to the MCU, which helps with early testing and unit tests.&lt;/LI&gt;&lt;LI&gt;&lt;STRONG&gt;Open-source License: MIT&lt;/STRONG&gt;: Open for commercial, closed-source, open-source - your choice.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;There are ready to use MCUXpresso examples for &lt;STRONG&gt;NXP K26/K66 MCU&lt;/STRONG&gt; (FRDM-K66F dev board) and &lt;STRONG&gt;i.MX RT105&lt;/STRONG&gt; (IMXRT1050-EVKB dev board): &lt;A href="https://github.com/dmitrykos/stk/tree/main/build/example/project/nxp-mcuxpresso" target="_blank" rel="noopener"&gt;https://github.com/dmitrykos/stk/tree/main/build/example/project/nxp-mcuxpresso&lt;/A&gt;&lt;/P&gt;&lt;P&gt;Any questions? Please ask, also you are welcome to participate in STK's GitHub repository.&lt;/P&gt;</description>
      <pubDate>Tue, 02 Dec 2025 19:45:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NXP-Designs/SuperTinyKernel-STK-lightweight-embedded-multi-single-core/m-p/2253453#M1224</guid>
      <dc:creator>neutroncode</dc:creator>
      <dc:date>2025-12-02T19:45:22Z</dc:date>
    </item>
    <item>
      <title>Re: SuperTinyKernel (STK) - lightweight embedded multi/single-core multithreading for NXP Cortex-M M</title>
      <link>https://community.nxp.com/t5/NXP-Designs/SuperTinyKernel-STK-lightweight-embedded-multi-single-core/m-p/2303157#M1235</link>
      <description>&lt;P&gt;Since the initial post there was an active development happening on STK and it has grown to a more convenient tool for embedded development, so wanted to highlight the progress:&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Scheduling strategies&lt;/STRONG&gt;: Besides existing &lt;EM&gt;Round-Robin (RR)&lt;/EM&gt; new scheduling strategies were added:&amp;nbsp;&lt;EM&gt;Fixed-Priority&lt;/EM&gt; (FP, similar to FreeRTOS), &lt;EM&gt;Smooth Weighted Round-Robin&lt;/EM&gt; (SWRR), &lt;EM&gt;Rate-Monotonic&lt;/EM&gt; (RM), &lt;EM&gt;Deadline-Monotonic&lt;/EM&gt; (DM), including Worst Case Reaction Time (WCRT) analysis, &lt;EM&gt;Earliest Deadline First&lt;/EM&gt; (EDF), custom (via ITaskSwitchStrategy). It is probably the only open-source scheduler that has such a rich set of scheduling strategies.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Synchronization API&lt;/STRONG&gt;: Besides &lt;EM&gt;CriticalSection&lt;/EM&gt; there is a set of synchronization primitives now: &lt;EM&gt;SpinLock&lt;/EM&gt;, &lt;EM&gt;Mutex&lt;/EM&gt;, &lt;EM&gt;Event&lt;/EM&gt;, &lt;EM&gt;ConditionVariable&lt;/EM&gt;, &lt;EM&gt;Semaphore&lt;/EM&gt;, &lt;EM&gt;Pipe&lt;/EM&gt; primitives for inter-task, inter-core synchronization. Synchronization is optional via KERNEL_SYNC kernel mode, so it does not bloat FLASH/RAM.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;Traceability&lt;/STRONG&gt;: STK now supports tracing of tasks scheduling with a &lt;EM&gt;SEGGER SystemView&lt;/EM&gt;.&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;P&gt;&lt;STRONG&gt;C interface&lt;/STRONG&gt;: For C-only projects STK got a fully-featured C interface.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;If there are any questions, please ask!&lt;/P&gt;</description>
      <pubDate>Thu, 29 Jan 2026 16:49:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/NXP-Designs/SuperTinyKernel-STK-lightweight-embedded-multi-single-core/m-p/2303157#M1235</guid>
      <dc:creator>neutroncode</dc:creator>
      <dc:date>2026-01-29T16:49:24Z</dc:date>
    </item>
  </channel>
</rss>

