TinyRealTime, Small Real Time Kernel for AVR using atmega644 microcontroller

Summary of TinyRealTime, Small Real Time Kernel for AVR using atmega644 microcontroller


TinyRealTime is a compact, high-speed real-time kernel for the ATmega644 microcontroller. It enables multiple tasks to share one CPU by managing execution context and utilizing an Earliest Deadline First (EDF) scheduling algorithm. The system allows up to roughly a dozen tasks based on memory limits, supports specific release times and deadlines, and permits tasks to sleep to free processing power for others.

Parts used in the TinyRealTime Project:

  • TinyRealTime kernel
  • ATmega644 microcontroller
  • ATmega1284 microcontroller

Real-time kernel (RTK) is useful to run several task or protocol on one CPU. Since only one task at a time can be executed by MCU, RTK used to make each task think it owns the whole machine. RTK will handle which task has to be saved while other tasks execute.
TinyRealTime
TinyRealTimeis a very small and fairly fast real-time kernel for the atmega644 written by Dan Henriksson and Anton Cervin.This kernel has several characteristics which make it interesting:

  • Several tasks can be created, limited by memory space. Practically, probably a maximum of a dozen or so tasks can be run on a Mega644/1284.
  • Each task has a release time and deadline which determines when it executes. The scheduling algorithm is Earliest Deadline First (EDF).
  • A task can be put to sleep for a period, thereby freeing the MCU for another task.

For more detail: TinyRealTime, Small Real Time Kernel for AVR using atmega644 microcontroller

Quick Solutions to Questions related to TinyRealTime:

  • What is the primary function of a real-time kernel?
    It allows several tasks or protocols to run on one CPU by making each task think it owns the whole machine.
  • How does TinyRealTime schedule task execution?
    It uses an Earliest Deadline First (EDF) scheduling algorithm based on release time and deadline.
  • Who created the TinyRealTime kernel?
    Dan Henriksson and Anton Cervin wrote this kernel.
  • What is the maximum number of tasks supported on a Mega644?
    Practically, a maximum of a dozen or so tasks can be run limited by memory space.
  • Can tasks in TinyRealTime pause their execution?
    Yes, a task can be put to sleep for a period to free the MCU for another task.
  • Does only one task execute at a time on the MCU?
    Yes, since only one task at a time can be executed by the MCU, the RTK handles saving contexts.
  • Is TinyRealTime designed for large systems?
    No, it is described as a very small and fairly fast real-time kernel.

About The Author

Ibrar Ayyub

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:
LinkedinTwitter
Scroll to Top