logo


slogan

4
About Us
Training
Calendar
Registration
Contact Us
10

F
undamentals of Embedded Systems and Software
 
   

Course Highlights:
This course 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. The course 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 course then introduces the students to multitasking application software design, using many application examples.  Different design approaches are shown for soft- and hard- real time systems.  In addition, both mathematical and empirical development and debugging tools will be studied.  The special facilities of the "C" programming language for embedded software development can be surveyed, as well as more disciplined approached to "C" language programming for use in critical systems.

Objective of the course
The primary goal of this course is to give the participant the concepts and techniques necessary to develop software for embedded computer systems with or without a real-time operating system.  This is a very practical, results-oriented course that will provide knowledge and skills that can be applied immediately.

Who Should Attend:
This course is intended for practicing software developers who will be transitioning into embedded systems software development.   Course participants are expected to be knowledgeable in the C programming language for general applications.
This is a course 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" .]

Course Outline:

Embedded Systems Basics

Embedded Computer Systems Overview
Embedded Systems I/O
Embedded / Real-Time Systems: Definitions and Issues
Introduction to Embedded Software Development: The Host-Target Dichotomy
Survey of Task Schedulers

RTOS Kernel Basics

Introduction to Real-Time Operating Systems
Task States and Task Scheduling
Exercise: Multitasking
Introduction to Intertask Communication and Synchronization
Message Passing from Task to Task
Exercise: Messages and Message Queues
Semaphores and Shared Data
Exercise: Binary Semaphores
Liveness Issues: Deadlock, Lockout, Starvation

Additional RTOS Services

Mutexes
Exercise: Priority Inversion
RTOS Timers
RTOS Events
Dynamic Memory Allocation
Memory Protection
Interrupt Handling in an RTOS Environment

Designing and Developing Embedded Applications

Partitioning of Software into Tasks
Exercise: Design of a Patient Monitor
Schedulability Issues: Hard vs. Soft Real-Time
Rate Monotonic Scheduling
Debugging Methods
"C"-Language in Embedded Systems
"C"-Language for Critical Systems

Final Examination.


INSTRUCTOR:  Dr. David Kalinsky
Dr David Kalinsky has more than thirty years of experience in the design and construction of real-time and embedded computer systems software.  He is a popular lecturer and seminar leader on technologies for embedded software development, appearing before audiences of professional engineers in North America, Europe and Israel.  David regularly presents classes at the Embedded Systems Conferences on topics such as "Architectural Design of Device Drivers" and "Principles of High Availability Embedded Systems Design".

He has built and managed high-tech training programs on aspects of software engineering for the development of real-time and embedded systems for a number of Silicon Valley companies.  He has also been involved in the design of many embedded medical and aerospace systems.  In addition, he has in the past developed and taught training courses on a number of major real-time operating systems (RTOSs), including VRTX, pSOS, VxWorks, OSEK / VDX, Nucleus, OSE and others.  With his broad experience, he has trained thousands of embedded systems software engineers and architectural designers throughout the world.



Who We Are
We are a professional organisation providing training services to companies.  We offer a comprehensive range of training courses, workshops and seminars covering every aspects relating to engineering. 

We provide various training programs that meet the immediate and future needs of engineers. The training is organised through seminar style, hands-on workshop, project-based tutorial or a mixture to bring the maximum learning benefits to the enginners.
Our Trainers
We have a quality pool of leading authorities, worldwide experts and fully trained up professionals who are constantly striving to uncover the pitfalls and best practices of modern technology development.
     
All rights reserved by
Omniscient International
     About Us      Training       Calendar      Registration      Contact Us