SuperTinyKernel™ RTOS (STK) is a high-performance, deterministic, bare-metal C++ real-time operating system designed for resource-constrained embedded systems.
Note: This repository contains examples configured exclusively for IAR Embedded Workbench for Arm (EWARM). For details about SuperTinyKernel RTOS, visit its project on GitHub.
🛠 Getting Started with IAR Embedded Workbench
STK provides ready-to-use examples for popular development boards. Follow these steps to get up and running:
-
Clone the Repository:
git clone https://github.com/SuperTinyKernel-RTOS/stk-examples-iar.git cd stk-examples-iar -
Initialize Dependencies: Navigate to your chosen example folder and run the configuration script. This will automatically fetch the STK kernel and necessary HAL drivers.
cd stm/blinky-stm32f407g-disc1 python configure.py -
Configure MCU: For STM32 MCUs use STM32CubeMX to reconfigure the project.
Note: When project is regenerated make sure to uncomment
SVC_Handler,PendSV_HandlerandSysTick_Handlerfunctions (or prefix function name with _) instm32f4xx_it.cfile. These ISR handlers are used by STK. -
Build & Flash: Open the generated project in IAR Embedded Workbench (
stm\blinky-stm32f407g-disc1\STM32CubeMX\blinky\STM32CubeMX\EWARM\Project.eww), compile, and flash your board. To reconfigure STM32 project use STM32CubeMX.
| Board | Path | Description |
|---|---|---|
| STM32F407G-DISC1 | stm\blinky-stm32f407g-disc1 |
Basic LED toggle using STK C++ API. |
| STM32F407G-DISC1 | stm\blinky_c-stm32f407g-disc1 |
Basic LED toggle using STK C API. |
| STM32F407G-DISC1 | stm\blinky_c-cmsis-rtos2-stm32f407g-disc1 |
Basic LED toggle using CMSIS-RTOS2 API via STK CMSIS-RTOS2 adapter. |
| STM32F407G-DISC1 | stm\blinky_c-cmsis-rtos2-prio-stm32f407g-disc1 |
Priority inheritance demo using CMSIS-RTOS2 API via STK CMSIS-RTOS2 adapter. |
| STM32F407G-DISC1 | stm\blinky_c-freertos-stm32f407g-disc1 |
Basic LED toggle using using FreeRTOS API via STK FreeRTOS adapter. |
Note: Using GCC/Eclipse? Examples for these environments are located in STK Main Repo - Examples.
Note: Using MCUXpresso, or Arm Keil MDK/µVision, IAR EWARM? Examples for these environments are located in their respective repositories.
- Core: Repository
- Documentation: STK API
- Issue Tracker: Report a bug