55# What is it?
66"MiROS" is a Minimal Real-Time Operating System (RTOS) kernel for ARM Cortex-M.
77It supports preemptive, priortity-based multithreading, fully compliant with
8- RMA/RMS (Rate-Monotonic Analysis/Scheduling). It is currently written for
9- ARM/KEIL MDK (uVision), but can easily be ported to other toolchains as well.
8+ RMA/RMS (Rate-Monotonic Analysis/Scheduling).
109
10+ > NOTE<br >
1111 MiROS is a teaching aid used in the "Modern Embedded Programming" video course
1212on YouTube:
1313
@@ -22,31 +22,52 @@ NOT intended or recommended for use in commercial\applications.
2222[ ![ MiROS on YouTube: RTOS part-2] ( img/MiROS.jpg )] ( https://youtu.be/PKml9ki3178 )
2323
2424
25+ # Supported Toolchains
26+ MiROS is available for the following embedded toolchains:
27+ - ARM/KEIL MDK (uVision)
28+ - GNU-ARM (Makefile projects)
29+ - IAR EWARM
30+
31+ # Supported Embedded Boards
32+ Currently, MiROS examples are available for the following embedded boards:
33+
34+ - EK-TM4C123GXL (TivaC LaunchPad)
35+
36+ <p align =" center " ><img src =" img/bd_EK-TM4C123GXL.png " /></p >
37+
38+ - STM32 NUCLEO-L152RE
39+
40+ <p align =" center " ><img src =" img/bd_NUCLEO-L152RE.png " /></p >
41+
42+
2543# Directories and Files
2644```
2745MiROS/
28- +-3rd_party/ - third-party software (needed in the examples)
29- | + -CMSIS/ - ARM CMSIS
30- | + -ek-tm4c123gxl/ - low-level code to support EK-TM4C123GX board
31- | + -nucleo-l152re/ - low-level code to support STM32 NUCLEO L152RE board
46+ +--- 3rd_party/ - third-party software (needed in the examples)
47+ | +-- -CMSIS/ - ARM CMSIS
48+ | +-- -ek-tm4c123gxl/ - low-level code to support EK-TM4C123GX board
49+ | +-- -nucleo-l152re/ - low-level code to support STM32 NUCLEO L152RE board
3250|
33- +-examples/
34- | +- blinky_ek-tm4c123gxl/ - Blinky exammple for EK-TM4C123GX board
35- | | +- armclang/ - project for ARM/KEIL uVision with ARMCLANG
36- | | +- gnu/ - project for GNU-ARM with simple Makefile
37- | | +- iar/ - project for IAR EWARM
38- | |
39- | +- blinky_nucleo-l152re/ - Blinky exammple for STM32 NUCLEO L152RE
40- | +- armclang/ - project for ARM/KEIL uVision with ARMCLANG
41- | +- gnu/ - project for GNU-ARM with simple Makefile
42- | +- iar/ - project for IAR EWARM
51+ +--- examples/
52+ | +--- blinky_ek-tm4c123gxl/ - Blinky exammple for EK-TM4C123GX board
53+ | | +--- armclang/ - project for ARM/KEIL uVision with ARMCLANG
54+ | | +--- gnu/ - project for GNU-ARM with simple Makefile
55+ | | +--- iar/ - project for IAR EWARM
56+ | |
57+ | +--- blinky_nucleo-l152re/ - Blinky exammple for STM32 NUCLEO- L152RE
58+ | +--- armclang/ - project for ARM/KEIL uVision with ARMCLANG
59+ | +--- gnu/ - project for GNU-ARM with simple Makefile
60+ | +--- iar/ - project for IAR EWARM
4361|
44- +-include/ - include directory
45- | +-miros.h - MiROS interface
46- +-src/ - source directory
47- | +-miros_armclang.c - MiROS implementation for ARMCLANG
48- | +-miros_gnu.c - MiROS implementation for GNU-ARM
49- | +-miros_iar.c - MiROS implementation for IAR
62+ +---include/ - include directory
63+ | miros.h - MiROS API
64+ +---src/ - MiROS source code
65+ | +---armclang/
66+ | | miros.c - MiROS implementation for ARMCLANG
67+ | +---gnu/
68+ | | miros.c - MiROS implementation for GNU-ARM
69+ | +---iar/
70+ | | miros.c - MiROS implementation for IAR EWARM
5071```
5172
5273
@@ -69,5 +90,11 @@ MiROS is [licensed](LICENSE) under the GPLv3 open source license.
6990If you'd like to discuss MiROS or related subjects, plese use the [ "Issues" tab] ( https://github.com/QuantumLeaps/MiROS/issues ) .
7091
7192
93+ # How to Help this Project?
94+ If you like this project, please give it a star (in the upper-right corner of your browser window):
95+
96+ ![ GitHub star] ( img/github-star.jpg )
97+
98+
7299# Contact Information
73- [ state-machine.com] ( https://www.state-machine.com )
100+ [ state-machine.com] ( https://www.state-machine.com/video-course )
0 commit comments