About Us | [Public iPhone iPad Courses] | [Public Android Courses] | [Public Arduino Courses] | [Contact Us]

Course IAR103
Developing embedded applications using Finite State Machines, Extended Finite State Machines, Hierarchical Finite State Machines and Statecharts using Visual State

Duration: 5 Days

Intended Audience

Attendees should have some experience of embedded systems programming and a sound basic knowledge of the C language. Course IAR101, "Introduction to C for Embedded Systems Developers" provides suitable background. They should also have some understanding of basic state machine concepts.

Course Overview

Analysis , Design and Implementation of systems based on state machines and their extensions is rarely taught in any depth. This course aims to, at least in part, redress the balance. The course explores the strengths and limitations of approaches based on Finite State Machines and their various extensions up to and including Statecharts. Unlike traditional UML courses the emphasis here is primarily on state machine and statechart approaches to the design and implementation of specialised embedded systems applications. As well as converting designs into code by hand the course also provides an in depth introduction to working with IAR's Visual State Case Tool. Topics covered include:

Lab exercises are used to consolidate key concepts.

The course uses ARM / AVR processors as embedded target platforms for hands-on work and IAR's Visual State CASE tool. Some of the labs will run on PC workstations and be developed using either Visual Studio or GNU C compilers.

Course Benefits

Students completing this course will considerably improve the discipline and rigour with which they design and write embedded systems applications in C by applying sound state machine and statechart approaches.

You will understand how state machine and statechart diagrams can be converted into working C code. In the case of more complex statecharts this will include an appreciation of the underlying multi-tasking and inter-process communications principles involved in realising the designs.

You'll learn how to use Visual State to its greatest effect both when designing and when implementing complex embedded systems applications.


Course Contents

Introduction to Simple Finite State Machines (FSMs)

Extending the Finite State Machine Approach

Hierarchical State Machines and Statecharts

Working with Visual State

Testing, Validation and Tuning

Statecharts and the design of user interfaces