About this Course

2,109 recent views
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level

C programming skills, and some prior experience with operating systems, and embedded hardware is a plus.

Approx. 50 hours to complete
English

What you will learn

  • Use of SECDED (Single Error Correction, Double Error Detection) codes for ECC (Error Correction Code) memories

  • How flash file systems work, along with wear leveling and the write amplification metric

  • Differences and common characteristics of high availability and high reliability

  • Methods and design for redundant hardware with cross strapping and recovery

Skills you will gain

I/O driversHigh AvailabilityECC (Error Correction Code)Embedded Memory SystemsNand Flash Wear-Leveling
Shareable Certificate
Earn a Certificate upon completion
100% online
Start instantly and learn at your own schedule.
Flexible deadlines
Reset deadlines in accordance to your schedule.
Intermediate Level

C programming skills, and some prior experience with operating systems, and embedded hardware is a plus.

Approx. 50 hours to complete
English

Offered by

Placeholder

University of Colorado Boulder

Start working towards your Master's degree

This course is part of the 100% online Master of Science in Electrical Engineering from University of Colorado Boulder. If you are admitted to the full program, your courses count towards your degree learning.

Syllabus - What you will learn from this course

Week
1

Week 1

15 hours to complete

Device I/O interfaces and Drivers for Real-time Systems

15 hours to complete
11 videos (Total 224 min), 1 reading, 3 quizzes
11 videos
Detailed Overview - with Course Assumed Prior Knowledge39m
Scalable Embedded I/O Bus Architectures25m
Demonstration: I/O, CPU, or Memory Bound?13m
Drivers and Device Interfaces22m
Using Linux UVC Driver to Acquire Video Frames with OpenCV and V4L223m
Digging Deeper into V4L2 API and UVC Driver (Camorama, V4L2-Ctl, etc.)20m
Code Walkthrough: Bt878 VxWorks RTOS Device Interface20m
Key Differences between Linux and RTOS Drivers10m
RT Services Communication and Synchronization27m
Using Point-to-point Serial and TCP/IP for Embedded Systems14m
1 reading
EXTRA HELP - Home Lab Setup30m
1 practice exercise
Quiz 1 - Device Interfaces and Software Drivers30m
Week
2

Week 2

14 hours to complete

Fault Tolerant Memory and Storage for Mission Critical Systems

14 hours to complete
11 videos (Total 224 min)
11 videos
SECDED Approach to Memory Protection22m
Hamming SECDED Formulation Walk-through24m
Analysis: SECDED ECC Using a Model (Excel)6m
SECDED ECC Software Emulator29m
Flash memory Hardware Device Overview24m
Flash file systems - Sector Erase Wear Leveling - Introduction23m
Flash Wear Leveling Example - Conclusion31m
RAID for RT Embedded Systems Mission Critical Data18m
Code Demonstration: XOR RAID for Data Loss Fault Tolerance17m
Code Walkthrough: File Based RAID 5 for RTES8m
1 practice exercise
Quiz 2 - Safe Working and Persistent Memory30m
Week
3

Week 3

11 hours to complete

Solving performance and reliability defects in real-time systems

11 hours to complete
9 videos (Total 128 min)
9 videos
Optimizing code - thread level (sequential and parallel)20m
Tracing and Profiling Tools Overview27m
Tracing and profiling application code (gcov, syslog, and gprof)12m
Profiling and Tracing your platform and application with Sysprof and Kernelshark8m
Tracing Linux kernel and network stack events3m
Overview of Top Linux Programming Errors14m
Note on Linux Methods of Synchronization17m
Best Practices for RTES Programming14m
1 practice exercise
Quiz 3 - Methods of tracing and debugging30m
Week
4

Week 4

11 hours to complete

Difference between high availability and high reliability for hard and soft real-time systems

11 hours to complete
5 videos (Total 121 min)
5 videos
High Availability Definition in terms of 5 9's uptime or better34m
System Integration Testing (Hardware, Firmware, and Software)20m
Making software reliable with SQA19m
Infamous Mission Critical System Failures - Root Cause Analysis13m
1 practice exercise
Quiz 4 - High Availability and High Reliability30m

Frequently Asked Questions

More questions? Visit the Learner Help Center.