VOOZH about

URL: https://www.coursera.org/learn/real-time-embedded-theory-analysis

⇱ Real-Time Embedded Systems Theory and Analysis | Coursera


Real-Time Embedded Systems Theory and Analysis

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Real-Time Embedded Systems Theory and Analysis

6,942 already enrolled

Included with

β€’

Learn more

Ask Coursera

Gain insight into a topic and learn the fundamentals.
4.3

20 reviews

Advanced level

Recommended experience

Flexible schedule
6 weeks at 10 hours a week
Learn at your own pace
Build toward a degree

Gain insight into a topic and learn the fundamentals.
4.3

20 reviews

Advanced level

Recommended experience

Flexible schedule
6 weeks at 10 hours a week
Learn at your own pace
Build toward a degree

What you'll learn

  • Methods to analyze dynamic prioirty real-time service feasibility

  • Methods to control unbounded priority inversion problems

  • Avoiding and recovering from deadlock

  • Avoiding and recovering from unbounded priority inversion

Details to know

Shareable certificate

Add to your LinkedIn profile

Assessments

4 assignments

Taught in English

Build your subject-matter expertise

This course is part of the Real-Time Embedded Systems Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 4 modules in this course

This course can also be taken for academic credit as ECEA 5316, part of CU Boulder’s Master of Science in Electrical Engineering degree.

This course provides an in-depth and full mathematical derivation and review of models for scheduling policies and feasibility determination by hand and with rate monotonic tools along with comparison to actual performance for real-time scheduled threads running on a native Linux system. By the end of this course the learner will be able to full derive the fixed priority rate monotonic least upper bound for feasibility as well as justifying the rate monotonic policy and will be able to compare to dynamic priority scheduling including earliest deadline first and least laxity policies. At the end of this course learners will be able to fully derive and explain the math model for the rate monotonic least upper bound as well as performing timing diagram analysis for fixed and dynamic priority software services. Tools to provide analysis will be learned (Cheddar) to automate timing analysis and to compare to actual performance. Specific objectives include: ● Rate monotonic theory (complete math models) ● Differences between fixed priority rate monotonic policy and dynamic priority earliest deadline first and least laxity policies ● Scheduling theory and practice writing code for multi-frequency executives, priority preemptive RTOS services, and real-time threaded services on traditional operating systems (Linux) ● Building a simple Linux multi-service system using POSIX real-time extensions on Raspberry Pi 3b using sequencing and methods to log and verify agreement between theory and practice ● Timing diagram generation and analysis using Cheddar This course includes specific hardware and software requirements. Please review the FAQ below for complete details.

At the end of this module, you will be able to analyze the mathematics involved in Rate Monotonic Least Upper Bound Condition along with its challenges and alternatives to it. An extension to RM scheduling policy i.e. Deadline Monotonic Scheduling Policy along with implementation of completion test for determining exact feasibility for Rate Monotonic Scheduling policy is also in scope of this module. Working on Programming assignments will give system level implementation of real time services and determining the best scheduling policies for meeting the deadlines for the designed real-time systems along with their trade offs.

What's included

14 videos12 readings1 assignment3 programming assignments3 peer reviews1 discussion prompt

14 videosβ€’Total 191 minutes
  • Course Assumed Real-Time Knowledge and Overviewβ€’12 minutes
  • Code Walkthrough: Syslog for Tracing and Autograded Assignmentsβ€’7 minutes
  • Rate Monotonic Fixed Priority Policy and Optimality (Review)β€’10 minutes
  • Rate Monotonic Scheduling within the Least Upper Boundβ€’13 minutes
  • Challenges with and Alternatives to Fixed Priority RM Policyβ€’16 minutes
  • Deadline Monotonic Extensions to Rate Monotonic Policyβ€’11 minutes
  • Deadline Driven Scheduling: using Dynamic Priority Alternativesβ€’14 minutes
  • RM LUB Derivation - Introductionβ€’13 minutes
  • Two Cases that Drive the RM Least Upper Boundβ€’13 minutes
  • RM Least Upper Bound Intersection Pointβ€’10 minutes
  • RM Least Upper Bound Derivation - Conclusionβ€’23 minutes
  • Necessary and Sufficient Feasibility by Worst-Case Analysis (Exact Test)β€’12 minutes
  • Exact Feasibility for Rate Monotonic Policy with Scheduling Pointβ€’24 minutes
  • Exact Feasibility for Rate Monotonic using Completion Testβ€’13 minutes
12 readingsβ€’Total 214 minutes
  • Course Updates and Accessibility Supportβ€’1 minute
  • Non-Credit Students: Welcome and Where to Find Helpβ€’10 minutes
  • Hardware & Software Requirementsβ€’10 minutes
  • EXTRA HELP: Home Lab Set Upβ€’10 minutes
  • Code Walkthrough for Peer Reviewsβ€’10 minutes
  • Guidelines for Code Quality Peer Reviewsβ€’10 minutes
  • CODE: CU Boulder Linux Example Code - Publicβ€’10 minutes
  • Textbook: RTECS with Linux and RTOSβ€’10 minutes
  • Basic Makefile Skills by Exampleβ€’10 minutes
  • Timing Analysis Examples for RM, EDF, and LLFβ€’10 minutes
  • Read, Review and Understand Derivations in Original RMA Paper (Liu & Layland)β€’120 minutes
  • Optional: Rate Monotonic Exact Analysisβ€’3 minutes
1 assignmentβ€’Total 30 minutes
  • Module 1 | Key Steps in the RM Least Upper Bound Derivationβ€’30 minutes
3 programming assignmentsβ€’Total 540 minutes
  • Assignment 1:Timing Diagram Emulation - Non-Harmonic, Below LUB, Feasible, Margin (Safe)β€’180 minutes
  • Assignment 2: Timing Diagram Emulation - Non-Harmonic, Above LUB, Feasible, Margin (safe)β€’180 minutes
  • Assignment 3: Timing Diagram Emulation - RM Succeeds, Fair Failsβ€’180 minutes
3 peer reviewsβ€’Total 180 minutes
  • Assignment 1: Timing Diagram Emulation - Non-Harmonic, Below LUB, Feasible, Margin (Safe)β€’60 minutes
  • Assignment 2: Timing Diagram Emulation - Non-Harmonic, Above LUB, Feasible, Margin (safe)β€’60 minutes
  • Assignment 3: Timing Diagram Emulation - RM Succeeds, Fair Failsβ€’60 minutes
1 discussion promptβ€’Total 10 minutes
  • Introduce Yourselfβ€’10 minutes

At the end of this module learners will be able to describe the design pattern for real-time services, describe implementation challenges such as unbounded blocking and describe normal operation - request for service synchronization between an ISR and each thread or task, initialization, keep-alive posting, error handling, and termination.

What's included

15 videos2 readings1 assignment3 programming assignments3 peer reviews

15 videosβ€’Total 229 minutes
  • Comparison of RM Policy to Round Robinβ€’14 minutes
  • Recall Method for RM Fixed Priority Scheduling Timing Diagram Creationβ€’8 minutes
  • More Complex RM Timing Diagramsβ€’12 minutes
  • Timing Diagram with a Harmonic Caseβ€’7 minutes
  • Timing Diagram with a Full Utility Harmonic Caseβ€’6 minutes
  • Timing Diagram Example Comparing RM and EDFβ€’14 minutes
  • POSIX RT Extension Supportβ€’17 minutes
  • General Design Pattern Part-1: AMP RT Functions, Services and Systemsβ€’20 minutes
  • General Design Pattern Part-2: Mulit-Core, Multi-Service AMP Systemsβ€’20 minutes
  • Implementation Pattern: Periodic Services with POSIX RT Threads, Interval Timers and Signalsβ€’19 minutes
  • Message Queues for Synchronization and Data Sharingβ€’18 minutes
  • Code Walkthrough: POSIX RT Feature Demonstrationβ€’9 minutes
  • Methods to Determine Worst Case Execution Time (WCET)β€’26 minutes
  • Methods for WCET Speed-up to Meet Deadlinesβ€’24 minutes
  • Service Request Period Jitter and Driftβ€’15 minutes
2 readingsβ€’Total 183 minutes
  • RT Extensions to POSIX - 1003.1 in Linux, QNX, Solaris, FreeBSD, etc.β€’180 minutes
  • Optional Resources for POSIX 1003.1 RT Extensionsβ€’3 minutes
1 assignmentβ€’Total 30 minutes
  • Module 2 | Service Implementation and Admission to Real-Time Using RMA, Scheduling Point, Completion Testβ€’30 minutes
3 programming assignmentsβ€’Total 540 minutes
  • Assignment 4: Timing Diagram Emulation - Non-Harmonic, Above LUB, Not-Feasibleβ€’180 minutes
  • Assignment 5: Timing Diagram Emulation - Harmonic, Above LUB, Feasible, Zero-Margin (Unsafe)β€’180 minutes
  • Assignment 6: Timing Diagram Emulation - Non-Harmonic, RM Failure, DM Successβ€’180 minutes
3 peer reviewsβ€’Total 180 minutes
  • Assignment 4: Timing Diagram Emulation - Non-Harmonic, Above LUB, Not-Feasibleβ€’60 minutes
  • Assignment 5: Timing Diagram Emulation - Harmonic, Above LUB, Feasible, Zero-Margin (Unsafe)β€’60 minutes
  • Assignment 6: Timing Diagram Emulation - Non-Harmonic, RM Failure, DM Successβ€’60 minutes

At the end of this Module learners will know when to use dynamic priority policies, advantages of them for soft real-time, disadvantages for error detection and recovery, challenges of feasibility determination and efficiency compared to fixed priority.

What's included

6 videos4 readings1 assignment1 programming assignment1 peer review

6 videosβ€’Total 73 minutes
  • Advantages of Dynamic Priorities and When to use EDFβ€’17 minutes
  • Disadvantages of Dynamic Priorities and When EDF should not be usedβ€’10 minutes
  • Advantages of Dynamic, Adaptive Scheduling: When to use LLFβ€’13 minutes
  • Disadvantages of Dynamic Adaptive Scheduling: When LLF should not be usedβ€’4 minutes
  • Final Comparison of EDF and LLF Failure Modes and Recoveryβ€’11 minutes
  • Cheddar Tool Introduction and Overviewβ€’18 minutes
4 readingsβ€’Total 210 minutes
  • Rate Monotonic vs. EDF - Judgement Day Paperβ€’180 minutes
  • Fundamentals of EDF Book and Key Papersβ€’10 minutes
  • Reference: Key Least Laxity First Papersβ€’10 minutes
  • Cheddar 3.2 Tools and Examples Updated!β€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Module 3 | Earliest Deadline First, Least Laxity Firstβ€’30 minutes
1 programming assignmentβ€’Total 180 minutes
  • Assignment 7: Timing Diagram Emulation - Non-Harmonic, RM Failure, EDF and LLF Successβ€’180 minutes
1 peer reviewβ€’Total 120 minutes
  • Assignment 7: Timing Diagram Emulation - Non-Harmonic, RM Failure, EDF and LLF Successβ€’120 minutes

At the end of this Module learners will be able to describe issues with resources used beyond CPU (memory, I/O, and storage) and how to avoid problems or recover from them

What's included

12 videos2 readings1 assignment2 peer reviews

12 videosβ€’Total 152 minutes
  • Note on Linux Methods of Synchronization Compared to RTOSβ€’17 minutes
  • Bounded Blocking for Service Releaseβ€’6 minutes
  • Bounded Blocking and Execution Efficiency Impact on RT Systemsβ€’25 minutes
  • Definition of Unbounded Blocking and Examples of Root Causesβ€’18 minutes
  • Code Walkthrough: Circular Wait - Deadlock Demonstrationβ€’6 minutes
  • Code Walkthrough: Can you think of a simple way to break deadlock after a timeout?β€’4 minutes
  • Review of Semaphore Use and Necessity of Critical Section (C.S.)β€’4 minutes
  • Code Walkthrough: Unbounded Priority Inversion Demonstrationβ€’8 minutes
  • Priority Inheritance, Priority Ceiling, and Priority Ceiling Emulationβ€’19 minutes
  • Mars Pathfinder Problem - Rolling Reset 3 Days prior to closest approach to Marsβ€’19 minutes
  • Mars Pathfinder Root Cause Analysisβ€’10 minutes
  • Mars Pathfinder - Bug Localization and the Fixβ€’16 minutes
2 readingsβ€’Total 250 minutes
  • Priority Inversion (Unbounded) and Priority Inheritance Protocolβ€’240 minutes
  • OPTIONAL: The Evolution of Real-Time Linuxβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Module 4 | Thread Synchronizationβ€’30 minutes
2 peer reviewsβ€’Total 360 minutes
  • Linux has no Priority Inheritance or Ceiling Protocol - Why? What can be done?β€’180 minutes
  • What Really Happened to Mars Pathfinder? Why are there multiple stories?β€’180 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Build toward a degree

This course is part of the following degree program(s) offered by University of Colorado Boulder. If you are admitted and enroll, your completed coursework may count toward your degree learning and your progress can transfer with you.ΒΉ

Instructor

University of Colorado Boulder
4 Coursesβ€’25,839 learners

Explore more from Electrical Engineering

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Learner reviews

  • 5 stars

    65%

  • 4 stars

    15%

  • 3 stars

    10%

  • 2 stars

    0%

  • 1 star

    10%

Showing 3 of 20

GA
Β·

Reviewed on Apr 5, 2022

Very nice and interesting course. The Professor is an enthusiast and his lessons are very well structured. His preparation and knowledge can be clearly felt from its way of teaching.

Frequently asked questions

System Requirements

● A Windows or Mac computer for remote access to the Raspberry Pi

● Home network with internet access and a router that allows the Raspberry Pi to be reached on the local network (Wi-Fi or Ethernet)

● SSH enabled on the Raspberry Pi (required)

● VNC enabled on the Raspberry Pi (optional, for remote desktop access)

Hardware Requirements

To complete this specialization, you will need a home lab setup based on a supported embedded Linux platform. The following configuration is required and tested for all course activities.

Required Hardware

● Embedded Linux hardware platform - Recommended: Raspberry Pi 3B+ (Raspberry Pi family or equivalent)

● MicroSD card (16 GB minimum; 32 GB recommended)

● 5V / 2.5A power supply with switch

● UVC-compatible USB camera (USB 2.0 or better)

● HDMI cable

● HDMI monitor + keyboard + mouse (for initial setup only)

● Network connection between the Raspberry Pi and your home router (Wi-Fi or Ethernet)

Recommended Hardware Configuration

Raspberry Pi 3B+, which may be sourced from:

● SparkFun(~$44, board only) or

● CanaKit Raspberry Pi 3 Model B+ Starter Kit(~$125, includes board) plus:

● MicroSD card (preloaded with NOOBS or Raspberry Pi OS)

● Heat sinks

● Case

● 5V / 2.5A power supply with switch

● HDMI cable

● UVC-compatible USB Camera (USB 2.0 or better)

Alternative Hardware Configurations

While the Raspberry Pi 3B+ is the officially supported platform, you may use other Linux-capable embedded platforms at your own risk:

● Raspberry Pi 4 (offers USB 3.0, 2+ GB RAM, and Gigabit Ethernet)

● Jetson Nano, DE10-SoC, or similar boards (advanced users only; self-support required)

Note: All starter code provided in this specialization is tested and verified on the Raspberry Pi 3B+ with Raspberry Pi OS (formerly Raspbian).

Software Requirements

Ability to install and use one of the following remote-access tools on your computer:

● MobaXterm (recommended for Windows)

● PuTTY

● VNC Viewer

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,