Go Summarize

Super-Simple Tasker -- The Hardware RTOS for ARM Cortex-M, Part-1

Embedded systems#Embedded Systems Programming#Microcontroller#Microprocessor
9K views|1 years ago
💫 Short Summary

The video introduces the Super Simple Tasker SSD, an event-driven preemptive priority-based real-time operating system kernel. It focuses on hierarchical state machines and thread management using blocking calls for efficient event processing. The Blinky thread showcases fixed flow control and the benefits of event loop structure for concurrency. The implementation of SST emphasizes non-blocking run-to-completion activations and efficient use of stack memory. The video also discusses task prioritization and preemption in an SSD system, highlighting its preemptive nature and priority-based scheduling. SSD is shown to be more efficient in CPU and memory use compared to traditional blocking RTOS kernels, making it a preferred choice for event-driven systems.

✨ Highlights
📊 Transcript
Introduction to Super Simple Tasker SSD operating system kernel.
00:00
Miro Samek discusses event-driven techniques and hierarchical state machines.
Importance of blocking calls for thread management in real-time operating systems.
Blocking calls deliver events for efficient event processing by threads.
Comparison between traditional event-driven programming and graphical user interfaces in event-driven kernels.
Discussion on fixed flow control in the Blinky thread and the recommendation of the Event Loop structure for concurrency.
05:25
NASA JPL's thread structure for Martian missions highlights the effectiveness of the Event Loop structure.
Event-driven systems prevent back door event delivery through run-to-completion semantics.
Blocking in event handler code is discouraged due to real-time implications and potential queue overflow.
Non-blocking restrictions lead to simpler, more efficient event-driven RTOS kernels with lower CPU overhead and memory cost.
The segment delves into event-driven real-time operating systems and the implementation of the Super Simple Tasker (SST) kernel.
08:04
SST operates by handling events at the kernel level, eliminating event queuing and blocking in individual threads.
It emphasizes non-blocking run-to-completion activations and categorizes tasks as basic or extended.
The segment also introduces SSD, an event-driven kernel for ARM Cortex M, showcasing its extensibility and efficient stack memory usage.
Overall, the video highlights the benefits of event-driven systems compared to traditional blocking implementations.
Implementation of Blinky SSD Task in Two Ways.
12:07
LED blinking on a board is showcased through two implementations, with the second implementation arming time events for periodic operation.
Emphasis is placed on the necessity of a more complex example to fully showcase SSD capabilities, such as multiple tasks running at different priority levels.
The Blinky button application in the examples directory is introduced for demonstrating capabilities on various embedded boards.
Setting up a logic analyzer to monitor system activities and explaining the correlation with the code is also covered in the segment.
Overview of task prioritization and preemption in an SSD system.
16:51
Tasks with the same priority are handled, demonstrated with various examples.
Real-time kernel properties are emphasized, focusing on preemptive nature and priority-based scheduling.
The SSD scheduler efficiently manages multiple tasks to showcase effective task management.
Overview of SSD (Simple Superloop Design) scheduling method.
21:55
SSD is designed to run with at least one event in its event queue and meets rate monotonic scheduling requirements.
SSD simplifies CPU utilization analysis and is more efficient in CPU and memory use compared to traditional blocking RTOS kernels.
SSD does not block tasks but is efficient in handling preemptions of tasks and interrupts on a common stack.
The video will delve into how SSD works internally and compare it to traditional blocking RTOS to highlight its speed advantages.