You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactor implementation to comply with MISRA rules.
Rename IKernel::EState to IKernel::EKernelState and its members from STATE_ to KSTATE to resolve ambiguity with task state.
Make EnumerateTasks, EnumerateKernelTasks safe by using ArrayView wrapper for arrays.
Copy file name to clipboardExpand all lines: README.md
+26-18Lines changed: 26 additions & 18 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -21,23 +21,24 @@
21
21
22
22
STK combines the control and transparency of bare-metal development with the structure and maintainability of modern, type-safe C++.
23
23
24
-
### For Embedded Developers
25
-
26
-
-**Deterministic execution** — no dynamic memory allocation (`malloc/free`) and no heap fragmentation. Memory usage is fully predictable at compile time.
27
-
-**Lightweight C++ architecture** — clean object-oriented design without STL dependencies, exceptions, RTTI, or heavy runtime abstractions.
28
-
-**Native C interoperability** — fully featured C API available for pure C projects and mixed C/C++ codebases.
29
-
-**Transparent implementation** — minimal wrapper macros and readable scheduler internals simplify debugging and tracing.
30
-
-**Portable design** — minimal BSP surface and straightforward architecture porting.
31
-
32
-
### For Technical Leads and Product Teams
33
-
34
-
-**Reduced hardware requirements** — the compact kernel footprint can enable the use of lower-RAM or lower-cost MCU variants.
35
-
-**Higher CPU availability for applications** — benchmarks show up to **~12% more application CPU time** compared to FreeRTOS under comparable workloads (see [Benchmark](#benchmark)).
36
-
-**Lower power potential** — reduced scheduling overhead can help meet timing requirements at lower MCU clock frequencies.
37
-
-**Simplified migration** — compatibility layers for FreeRTOS and CMSIS-RTOS2 allow existing projects to migrate with minimal application changes.
38
-
-**Predictable system behavior** — static allocation and deterministic scheduling simplify validation, debugging, and long-term maintenance.
39
-
40
-
> STK does not attempt to abstract or manage MCU peripherals. Its purpose is to provide a fast, predictable, and memory-efficient scheduling core for embedded applications.
24
+
You get:
25
+
26
+
-**C++ native RTOS** — Built so the C++ compiler can efficiently optimize your STK-based application for maximum speed and ultra-low overhead.
27
+
-**Safe code from day one** — Thoughtful OOP design enforces strict encapsulation and type safety to deliver secure, robust, and high-performance firmware.
28
+
-**Full-featured RTOS** — A comprehensive suite of thread synchronization, memory, and time management primitives. You only need to bring your own HAL.
29
+
-**Safety-critical ready** — Built for strict compliance with MISRA standards. Looking for a safe C++ RTOS for your certified device? Explore our [Services](#services).
30
+
-**Deterministic execution** — Zero dynamic memory allocation (`malloc`/`free`) and zero heap fragmentation. Memory usage is fully predictable at compile time.
31
+
-**Clean C++ design** — No STL dependencies, exceptions, RTTI, or heavy runtime abstractions. Readable internals simplify debugging and tracing.
32
+
-**Verbose-free code** — A clean C++ API makes your implementation highly concise, making it significantly easier to maintain, refactor, and debug than standard C-only APIs.
33
+
-**Portable design** — Minimal BSP (Board Support Package) footprint with complete independence from specific board and MCU peripherals.
34
+
-**Reduced hardware requirements** — Compact kernel footprint that allows you to deploy on lower-RAM, lower-cost MCU variants.
35
+
-**Higher CPU availability** — More time for your application logic. Benchmarks show up to **~12% more application CPU time** compared to FreeRTOS under comparable workloads (see [Benchmark](#benchmark)).
36
+
-**Lower power consumption** — Features ultra-low power, tickless scheduling paired with reduced overhead, enabling the use of lower-frequency MCUs to save battery of your portable design.
37
+
-**Native C support** — Includes a fully featured C API wrapper, allowing you to seamlessly use STK in pure C projects.
38
+
-**Simplified migration** — Drop-in compatibility layers for FreeRTOS and CMSIS-RTOS2 to help you migrate legacy codebases with minimal application changes.
39
+
-**B2B professional support** — Engineered for seamless integration into commercial projects. Explore our [Services](#services) for enterprise-grade support and custom engineering.
40
+
41
+
> STK does not attempt to abstract or manage MCU peripherals, similarly to FreeRTOS or CMSIS-RTOS2.
41
42
42
43
STK is an open-source project developed at https://github.com/SuperTinyKernel-RTOS.
43
44
@@ -326,6 +327,13 @@ A complete ultra-low power demo targeting the [STM32F407G-DISC1](https://www.st.
326
327
327
328
---
328
329
330
+
## Language
331
+
332
+
* Minimal: C++11
333
+
* Recommended: C++17 and higher
334
+
335
+
---
336
+
329
337
## Dedicated C interface
330
338
331
339
For seamless integration with C projects, STK provides a dedicated, fully-featured C API. See [interop/c](https://github.com/SuperTinyKernel-RTOS/stk/tree/main/interop/c) for the full reference and examples.
@@ -963,7 +971,7 @@ You may freely use it in projects of any type:
963
971
964
972
---
965
973
966
-
## 🔒 Professional Services & Commercial Licensing
974
+
## Services
967
975
968
976
While **SuperTinyKernel™ RTOS** is provided under the permissive MIT license, we offer dedicated professional services for organizations integrating STK into production-grade, mission-critical, or regulated environments.
0 commit comments