Coursera
Coursera Logo

University of Colorado Boulder - Real-Time Embedded Systems Concepts and Practices 

  • Offered byCoursera
  • Public/Government Institute

Real-Time Embedded Systems Concepts and Practices
 at 
Coursera 
Overview

Duration

51 hours

Total fee

Free

Mode of learning

Online

Difficulty level

Intermediate

Official Website

Explore Free Course External Link Icon

Credential

Certificate

Real-Time Embedded Systems Concepts and Practices
Table of content
Accordion Icon V3

Real-Time Embedded Systems Concepts and Practices
 at 
Coursera 
Highlights

  • Shareable Certificate Earn a Certificate upon completion
  • 100% online Start instantly and learn at your own schedule.
  • Course 1 of 4 in the Real-Time Embedded Systems Specialization
  • Flexible deadlines Reset deadlines in accordance to your schedule.
  • Intermediate Level Computer, Electrical, or Software Engineering
  • Approx. 51 hours to complete
  • English Subtitles: Arabic, French, Portuguese (European), Italian, Vietnamese, German, Russian, English, Spanish
Read more
Details Icon

Real-Time Embedded Systems Concepts and Practices
 at 
Coursera 
Course details

Skills you will learn
More about this course
  • This course can also be taken for academic credit as ECEA 5315, part of CU Boulder?s Master of Science in Electrical Engineering degree.
  • Course Description: In this course, students will design and build a microprocessor-based embedded system application using a real-time operating system or RT POSIX extensions with Embedded Linux. The course focus is on the process as well as fundamentals of integrating microprocessor-based embedded system elements for digital command and control of typical embedded hardware systems.
  • Lab Description: The course requires the student to install embedded Linux on the Raspberry Pi ARM A-Series System-on-Chip processor. This course must be completed using a Raspberry Pi as an embedded system (headless) not a PC running Linux. You will however find Linux as a useful host development system or Windows with an SSH terminal access tool such as Putty, MobaXterm, or equivalent.
Read more

Real-Time Embedded Systems Concepts and Practices
 at 
Coursera 
Curriculum

Exploration of RT Challenges and Concepts

Course Introduction

Predictable response software

Simple Linux real-time services compared to non-real-time - introduction

Simple Linux real-time services compared to non-real-time - conclusion

Introduction to Scheduling Theory for Real-Time Systems

RM Optimal Priority Policy and Service Request and Response Timeline

Timing Analysis - Rate Monotonic Priority Assignment Policy By Example

Challenges with Linux User and Kernel Space Real-Time Applications

EXTRA HELP: Home Lab Set Up

EXTRA HELP: Code Walkthroughs and Demonstrations

Scan and Question RTES Terminology

EXTRA HELP: Code Walkthroughs and Demonstrations

EXTRA HELP: Code Walkthroughs and Demonstrations

Re-Read, Recite, and Review RTES Terminology we Used

Basic Concepts and Terminology

Scheduling policies

Services

Module 1

POSIX Threads and Linux Systems

Quality of Service Theory from Best Effort to Hard Real-Time

Code Demonstration: SMP compared to AMP

Code Walkthrough: Starter code for AMP using thread affinity

Real-Time Scheduling Utility Curves

Code Walkthrough: RT Clock

Review of absolute time and date standards and resources

Rate Monotonic Scheduling Analysis by Worst Case Inspection

Rate Monotonic Scheduling - Feasibility vs. Safety and Exceeding the RM LUB

Scan and Question Original paper on Rate Monotonic theory (Liu & Layland)

Optional reading on Linux NPTL and SCHED_DEADLINE

Re-Read, Recite, and Review RTES Terminology we Used

Real time Utility curves

Rate Monotonic Scheduling

Module 2

Real-Time Systems Analysis, Harmonic Services and RMA Scheduling Policy

Scheduling and Concept of Real-Time Services

Priority Preemptive Scheduler State Machine For Linux and VxWorks

Service Code Structure driven by Interrupts

Summary of Key Points and Liu & Layland RMA Uses and Limitations

More Details on Liu and Layland RMA Limitations and Work-arounds

Code Walkthrough: POSIX Software Interval Timer Example

Code Walkthrough: Generic Sequencing using an Interval Timer

Comparison of Cyclic Executive, RTOS and Linux RT Service Implementation

Introduction to Worst Case Analysis hand diagramming of RM schedules

Worst Case Analysis schedule where RM fails (above the LUB)

Example where RM succeeds above the LUB for a harmonic service set

Example of scheduling above the LUB at 100% utility that is feasible

Analysis of a harmonic service schedule by hand diagramming for RM and RR

Introduction to Cheddar RMA Tool

Re-Read, Recite, and Review RTES Terminology we Used

Real-Time Scheduling and Service Requests

Module 3

Review and Basic Timing Analysis by Hand and with Cheddar

Overview of Real-time Hardware Architectures and Software Stacks

Introduction - ARM M-Series, R-Series, and A-Series

Overview of Single Board Computers used for Real-Time Education

Using Linux for this Course - Rationale and Observations

Code Demonstration: Thread Gridding Concepts for Multi-Core

Space Shuttle Multi-Frequency Executive Architecture

Re-Read, Recite, and Review RTES Terminology we Used

AMP/SMP and Co-Processors

Module 4

Gear up for the Final Exam!

Other courses offered by Coursera

– / –
3 months
Beginner
– / –
20 hours
Beginner
– / –
2 months
Beginner
– / –
3 months
Beginner
View Other 6716 CoursesRight Arrow Icon
qna

Real-Time Embedded Systems Concepts and Practices
 at 
Coursera 

Student Forum

chatAnything you would want to ask experts?
Write here...