Robust Software for Embedded Systems
Training
In London
Description
-
Type
Training
-
Level
Intermediate
-
Location
London
-
Duration
2 Days
-
Start date
Different dates available
Across the spectrum of embedded systems there is a universal need for reliability and robustness beyond that required for desktop computer software. Failure detection and recovery is vital and the software must be designed so that it can run continuously without the need for a reboot. This course explores the accepted industry best practices for achieving that extra level of quality in your embedded software.
Facilities
Location
Start date
Start date
About this course
A two day course providing an introduction to the building blocks of a dependable embedded system.
Course objectives:
After completing the course, attendees will:
Understand the processes that can be applied to ensure quality code, such as code inspections and Hazards Analysis
Understand how to write defensive code and code which allows a device to test itself
Understand how to make the best use of watchdog timers
Understand how to organise non-volatile storage to avoid corruption and loss of data
Understand the advantages and weaknesses of using features such as dynamic memory management and real time operating systems
Application programmers, software engineers or technical staff who need to address reliability or robustness issues at a code level. The course is ideal for engineers who can write software, but are new to embedded systems, especially if those embedded systems have safety concerns or require high reliability.
A working knowledge of C.
This course is based on 10 years of experience writing embedded software for life-critical medical equipment. It has been developed by Niall Murphy, author of “Front Panel: Designing Software for Embedded User Interfaces” and regular contributor to Embedded Systems Programming magazine.
Reviews
This centre's achievements
All courses are up to date
The average rating is higher than 3.7
More than 50 reviews in the last 12 months
This centre has featured on Emagister for 6 years
Subjects
- Industry
- Systems
- IT
- IT Systems
- Embedded Systems
- Deadlock
- Embedded
- Error Handling
- Embedded programming
- Robust
- IT programming
- Robust software
Teachers and trainers (1)
Bright Solutions
Trainer
Course programme
Course Outline
- Delegate handbook
Introduction
- Definitions for Safety, Availability, Reliability
- Graceful degradation
- Industry magic bullets
Data Integrity Checks
- Checksums
- CRCs
Persistent Storage
- Error Detection
- Double Buffering
- Versioning
Real Time Operating System
- Tasking
- Decomposition
- Preemptive Kernels
- Priority Inversion
- Queuing
- Timing Accuracy
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
Robust Software for Embedded Systems