Top Eurotraining Course Directory
 
 

Course Description



Quality labelled course   

C for Real-Time Developers


Date: from 15 Nov 2004 to 19 Nov 2004

Duration 5 day(s)

Language English    Venue Stockholm, Sweden

Country 

Description
Learning the C programming language is one thing, but learning to use it effectively and appropriately in a real-time embedded environment is another. For many programmers, these skills are learnt the hard way, through trial and error on the job. This course addresses this issue by not only teaching the C programming language, but through emphasizing the pragmatic use of C in a real-time environment. This is achieved through both lecture and direct hands-on experience.

As part of the course, approximately 50% of the time is given over to writing code for a real target. During the week, attendees build up a complete solution to a case study that exercises all significant parts of the course.

Course Contents and Time Table
Workshop Agenda

* Introduction to Real-Time Systems
o Characteristics and demands of real-time software development

* Introduction to C Programming
o Structure of a C program
o The C compilation process

* Types and Operators
o C base types
o Precedence & Associativity
o Arithmetic operations

* Control Flow
o Logical expressions and operations
o Decision Making
o Loops

* Pointers
o Pointer basics

* Bit Manipulation & Hardware Access
o Accessing hardware with pointers
o Manipulating information at the bit level
o General Purpose IO (GPIO)

* Functions
o The Function as a logical program unit
o How parameters are passed
o Memory segments

* Arrays, Pointers and Strings
o Arrays as circular buffers
o Relationship between pointers & arrays
o Pointer arithmetic
o C String Handling

* Device Interaction & Synchronization
o Polling devices
o Serial peripheral programming

* Structures and Unions
o Structures;
o Big & Little Endian
o Unions
o Using structures to access I/O devices
o Bit-field structures

* Interrupts
o Internal & External interrupt control
o Nested Interrupts
o Priorities & Masks
o Software Interrupts

* Dynamic Memory Management
o Malloc and free
o Linked list
o Issues (leaks, fragmentation, etc.)

* Program Structure
o Definitions and declarations;
o Header files
o Scope and lifetime

* The C Pre-Processor
o Macros
o Conditional Compilation

* Program Design Concepts
o Why modular design?
o Coupling and cohesion
o Testing the program

* Concurrency
o Scheduling strategies
o Context switching
o Function pointers
o Task synchronisation and communication
o MMU and memory protection
o Concurrency and libraries

* The Standard C Library

* Target Specific Considerations
o Language features affecting portability
o Non-standard C language features
o Assembly language interfacing
o What happens at power-on?
o Initialising the C runtime

* Course Summary

Audience
The course is designed for engineers who are embarking on a project using C for the first time. It is also suitable for those having to support customers using C, and those requiring to be brought up to date since initially being taught in University or College.

Lecturers
Esperan has over 40 regular trainers, who are themselves design consultants working on some of the world`s most advanced projects ranging from multi-million gate ASIC projects to those involving state of the art programmable logic devices. We have hand-picked each trainer for their up to date experience, combined with their presentation skills and flair for helping others to learn. You will find your trainer takes a very personal approach, helping each individual to make the very most of their time in the classroom.

Further information
Please contact ESPERAN for the course fee.
Contact: Steve Tippins
Esperan LtD
Phone +44 1672 520101
Fax +44 1672 521039
Email info@esperan.com

  EuroTraining Course Directory ©2008