Embedded Software Fundamentals Masterclass
Duration: 4 or 5 days
Number of participants: recommended optimum 15, maximum 25
The primary goal of this Masterclass is to give the participant the concepts and skills necessary to develop software for embedded computer systems, including the use of a real-time operating system and debugging tools and techniques. This is very practical, results-oriented training that will provide knowledge and skills that can be applied immediately.
This Masterclass introduces the concepts shared by most embedded systems and their software. It also introduces the techniques used in the development of embedded multitasking application software, including real-time operating systems, and debugging techniques specific to real-time and embedded software. The Masterclass begins with the fundamental elements of embedded systems hardware and software, including their design and development. Fundamental processor and operating system concepts relevant to multitasking systems are introduced, with focus on the basic services provided by off the shelf real-time operating system (RTOS) kernels.
The Masterclass then introduces the students to multitasking application software design. Design approaches are shown for soft- and hard- real time systems. In addition, development and debugging tools are studied. The special facilities of the C programming language for embedded software development are surveyed, as well as more disciplined approaches to C language programming for use in critical systems.
The Masterclass concludes with an extensive 2-day session on the “Top 50” bugs in embedded software, and tools and techniques that are used to deal with them.
This Masterclass is intended for practicing software developers who are transitioning into embedded systems software development. This is technical training for engineers working in industry with less than a year of experience in the specifics of embedded systems development. For those with more experience, we recommend the advanced course “Architectural Design of Real-Time Software”.
Masterclass participants are expected to be knowledgeable in the C programming language for general applications.
The course is based on presentation with student work exercises.