University of Colorado Boulder - Real-Time Mission-Critical Systems Design
- Offered byCoursera
Real-Time Mission-Critical Systems Design at Coursera Overview
Duration | 50 hours |
Start from | Start Now |
Total fee | Free |
Mode of learning | Online |
Difficulty level | Intermediate |
Official Website | Explore Free Course |
Credential | Certificate |
Real-Time Mission-Critical Systems Design at Coursera Highlights
- Shareable Certificate Earn a Certificate upon completion
- 100% online Start instantly and learn at your own schedule.
- Course 3 of 4 in the Real-Time Embedded Systems Specialization
- 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 Subtitles: English
Real-Time Mission-Critical Systems Design at Coursera Course details
- This course can also be taken for academic credit as ECEA 5317, part of CU Boulder?s Master of Science in Electrical Engineering degree.
- Upon completion of this course the learner will know the difference between systems you can bet your life on (mission critical) and those which provide predictable response and quality of service (reliable). This will be achieved not only by study of design methods and patterns for mission critical systems, but also through implementation of soft real-time systems and comparison to hard real-time. Methods of verification to determine ability to meet mission critical as well as soft real-time requirements will be learned so that the learner can properly assess risk, reliability and impact of failure in real-time systems.
- At the end of this course learners will be able to apply an architectural style (cyclic executive, RTOS, or embedded Linux) to more detailed design of a mission critical system, a soft real-time system, or a mixed hard and soft real-time system, including:
- ? Thorough understanding of hardware/software device interfaces and resource view for hardware abstraction layers (HAL, BSP)
- ? Design trade-offs with different real-time hardware architectures including single core, multi-core, hybrid-FPGA, GP-GPU, and DSP systems, with emphasis on multi-core
- ? Mission critical embedded systems architecture and key design elements
- ? Fault tolerant processing, memory, and I/O concepts
Real-Time Mission-Critical Systems Design at Coursera Curriculum
Device I/O interfaces and Drivers for Real-time Systems
Course Goals and Learning Objectives
Detailed Overview - with Course Assumed Prior Knowledge
Scalable Embedded I/O Bus Architectures
Demonstration: I/O, CPU, or Memory Bound?
Drivers and Device Interfaces
Using Linux UVC Driver to Acquire Video Frames with OpenCV and V4L2
Digging Deeper into V4L2 API and UVC Driver (Camorama, V4L2-Ctl, etc.)
Code Walkthrough: Bt878 VxWorks RTOS Device Interface
Key Differences between Linux and RTOS Drivers
RT Services Communication and Synchronization
Using Point-to-point Serial and TCP/IP for Embedded Systems
EXTRA HELP - Home Lab Setup
Quiz 1 - Device Interfaces and Software Drivers
Fault Tolerant Memory and Storage for Mission Critical Systems
Why We Need ECC? - Single Event Upset Fault Tolerance
SECDED Approach to Memory Protection
Hamming SECDED Formulation Walk-through
Analysis: SECDED ECC Using a Model (Excel)
SECDED ECC Software Emulator
Flash memory Hardware Device Overview
Flash file systems - Sector Erase Wear Leveling - Introduction
Flash Wear Leveling Example - Conclusion
RAID for RT Embedded Systems Mission Critical Data
Code Demonstration: XOR RAID for Data Loss Fault Tolerance
Code Walkthrough: File Based RAID 5 for RTES
Quiz 2 - Safe Working and Persistent Memory
Solving performance and reliability defects in real-time systems
Optimizing Single threaded code with the compiler
Optimizing code - thread level (sequential and parallel)
Tracing and Profiling Tools Overview
Tracing and profiling application code (gcov, syslog, and gprof)
Profiling and Tracing your platform and application with Sysprof and Kernelshark
Tracing Linux kernel and network stack events
Overview of Top Linux Programming Errors
Note on Linux Methods of Synchronization
Best Practices for RTES Programming
Quiz 3 - Methods of tracing and debugging
Difference between high availability and high reliability for hard and soft real-time systems
FDIR - Fault Detection, Isolation, and Recovery - Theory
High Availability Definition in terms of 5 9's uptime or better
System Integration Testing (Hardware, Firmware, and Software)
Making software reliable with SQA
Infamous Mission Critical System Failures - Root Cause Analysis
Quiz 4 - High Availability and High Reliability
Real-Time Mission-Critical Systems Design at Coursera Admission Process
Important Dates
Other courses offered by Coursera
Student Forum
Useful Links
Know more about Coursera
Know more about Programs
- Engineering
- Instrumentation Technology
- Food Technology
- Aeronautical Engineering
- What is Machine Learning
- Metallurgical Engineering
- MTech in Computer Science Engineering
- VLSI Design
- Petroleum Engineering
- Aerospace Engineering
- BTech in Biotechnology Engineering
- Pharmaceutical engineering
- Silk Technology
- Microelectronics
- Agriculture & Farm Engineering