Embedded Software Training Video Library
Software is everywhere, and not everyone who is actively developing software has had formal training in software development. Co-founder and Chief Technologist Phil Koopman has put together a number of videos on common issues in embedded software development and what you can do to address them.
Previews are short 1-2 minutes briefs on common software issues. We offer selected free Full Tutorials are much more detailed videos that can help you navigate and implement selected embedded software development practices.
Note that you can also find many of these videos and more on our Youtube channel.
- Embedded Software Quality and Security: [Preview] [Full Tutorial] Why embedded software security, safety, and quality matters, and what you can do about it.
- Peer Reviews: [Preview] [Full Tutorial] An introduction on a practice that will save you time and money. Seriously, you should be doing Peer Reviews.
- Avoid Stack Overflow: Get some tips on how to manage your stack and ensure that you don't get blindsided.
- Safety Overview: A brief introduction on software safety topics, including safety principles and safety culture.
- Creating Dependable Software: Covers the basics of computer dependability, including reliability, availability, and using parallel redundancy to improve dependability.
- Critical Systems: covers critical systems, including the safety integrity level (SIL) approach to making systems safe.
- Safety Planning: what goes into a safety plan for creating a safety critical embedded system.
- Safety Requirements: how to create good safety requirements and how to use a doer/checker architectural pattern to make the safety critical portions of your system simple.
- Single Point of Failure: A preview of a tutorial that covers how to identify and avoid single points of failure in mission-critical systems.
- Redundancy Management for Critical Systems: An introduction to a tutorial that covers the various redundancy mechanisms that are useful in creating a safety-critical (or mission-critical) system.
- Critical Systems Isolation: Touches on techniques on how to achieve isolation between different levels of criticality (i.e., mixed-SIL isolation) in a safety critical system.
- Safety Architecture Patterns: explains a variety of patterns for safety critical embedded systems.
Creating Maintainable Code
- Dealing with Spaghetti Code: [Preview] [Full Tutorial] Complexity happens, and managing it is a challenge. This preview gives a brief idea on what how to measure and how to prevent excessive complexity.
- Human Readability: Best practices for making sure that the next developer (or "future you") can understand and maintain the code that you've written.
Creating Secure Systems