Course Outline:
Introduction
- Definitions for Safety,
Availability, Reliability
- Graceful degradation
- Industry magic bullets
Data Integrity Checks
- Checksums
- CRCs
Persistent Storage
- Error Detection
- Double Buffering
- Versioning
Built-in Self-test
- RAM/ROM/address
line tests
- Loopback tests
- Cable and
subassembly tests
Interlocks
- Hardware limitations
on software actions
- Software limitations on
user actions
Exception Handling
and Asserts
- Language Support
- Assert Macro
- Debug code issues
Memory Management
- Static Allocation
- Stack Measurement
- malloc and
fragmentation
- Pools
- Detecting Leaks
Interrupts
- Reentrancy
- Motivation
- Parallelism
- Timed Polling
Real Time Operating
System
- Tasking
- Decomposition
- Preemptive Kernels
- Priority Inversion
- Queuing
- Timing Accuracy |