Skip to content

Small yet powerful state machine coroutine library

Notifications You must be signed in to change notification settings

rtoslab/M2A1_MuSimpron

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

MuSimpron

RMS is a super-simple state machine-based coroutine library targeting 4- and 8-bit microcontrollers.

  • Macro-packaged C constructs as the body of the control flow
  • Practically useful OS for 4- and 8-bit MCUs
  • Contains only 50 lines of code and have almost zero overhead
  • Completely free from assembly coding or porting
  • Boost system flexibility and functionality
  • Do not require separate stacks for different coroutines

This software is licensed under the MIT license.

Quick Demo

Normal coroutines

unsigned int Shared;
void Task1(void)
{
    SYS_TASK_BEGIN();

    case 
    SYS_YIELD();

    SYS_TASK_END();
}

void Task2(void)
{
    SYS_TASK_BEGIN();

    SYS_YIELD();

    SYS_TASK_END();
}

Interrupt coroutines

Getting Started

Copy the single file into your project and use it as the main file. No porting needed as long as you have a C compiler. The "kernel" file supplied contains the example program itself, and it will use two LEDs to show the program execution if unmodified. Deploying this into mass-produced products should be very easy. This product does not have documents associated with it; it should be self-illustrating. Keep in mind that this is designed for 4- and 8-bit MCUs, not for high-performance MCUs or application processors, though it is possible to run such "RTOS" on high-end processors as well. However, doing so will be a huge wastage of their resources. For 16-or 32-bit MCUs, consider M5P1_MuProkaron Real-Time Minikernel instead; for high-end 32-bit MCUs or application processors, consider M7M1_MuEukaron Real-Time Multi-Core Microkernel instead.

EDI Project Information

Mutate - Archaeo - Simpron (M2A1 R3T1)

About

Small yet powerful state machine coroutine library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 100.0%