| 
 
|  |  | 
	
		|  |  
		| 
            | Embedded Systems Training Overview 
 Programming for embedded systems is an entirely different discipline from traditional “desktop” or main-frame programming. An embedded system must be able to respond to external events in a predictable, reliable way. Real-time programs must not only execute correctly, they must execute “on time”. A late answer is a wrong answer.
 
 Multitasking has proven to be a powerful paradigm for building reliable and understandable real-time programs. This intensive three-day seminar provides a practical introduction to the concepts of multitasking with particular emphasis on embedded applications.
 
 Through a combination of lectures and practical hands-on lab work, seminar participants will gain a fundamental understanding of real-time programming principles and techniques for applying these principles to real-world design problems. Each participant receives a development kit consisting of:
 
 Integrated software development environment (IDE)
 
 Single-board computer with:
 In addition to writing embedded applications, you’ll learn to design and code interrupt-driven device drivers. You’ll also learn a wide range of techniques for debugging and troubleshooting multi-tasking code.  186-class processor
 128 kbytes of Flash memory and
32 kbytes of static RAM
 Two serial ports with cables
 Digital and analog I/O
 
 Finally, we go “under the hood” to explore the design and implementation of MicroC/OS, a typical pre-emptive multitasking kernel. By examining the internal workings of a multitasking kernel, you gain valuable insights into the nature of preemptive programming, its benefits and challenges.
 
 Embedded Systems Training Course duration
 
 3 Days
 
 Embedded Systems Training Course outline
 
 
 What is a real-time embedded
system?
Review of real-time programming background
and theory
Tasking model
Inter-task communication - Solving the
Resource Sharing Problem
Real-time design issues
Problems with Solving the Resource Sharing
Problem
The Paradigm Embedded IDE
Introducing MicroC/OS
Hardware and target dependencies
Building and running a data acquisition
application
Debugging Embedded Systems
Design and Implementation of MicroC/OS
"Upgrades" to MicroC/OS
Writing an interrupt-driven device driver
 
 |  |  |  |