Embedded C Programming with Real Time Linux (i86) — A 5-day Course
Synopsis
This C course is extensive and contains many advanced concepts. The range of modules covers a full introduction to C, real-time and embedded systems concepts through to the design and implementation of real time embedded or standalone systems based on real-time operating systems and their device drivers. Real time Linux (RTLinux) is used as an example of such a system. The modules include an introduction to the development of Linux device drivers.
Predominantly intended to be taught to development teams at customer sites it is not expected that any one course would cover the full range of modules in a typical five day period. For teams without experience of C and high-end real time operating sytems it would typically require eight to ten days of intensive training to give full coverage to the topics included here. The course covers all of the important features of the C language as well as a good grounding in the principles and practices of real-time systems development including the POSIX threads (pthreads) specification.
The design of the modules is intended to provide an excellent working knowledge of the C language and its application to serious real time or embedded systems. Those wanting in-depth training specifically on RTLinux or Linux kernel internals should contact us to discuss their requirements; this set of modules is geared more towards providing the groundwork for approaching those domains rather than as in-depth training on a specific approach.
The course contains essential information for anyone developing embedded systems such as microcontrollers, real-time control systems, mobile device, PDAs and similar applications. This C course is based on many years experience of teaching C, extensive industrial programming experience and also participation in the ANSI X3J11 and BSI standards bodies that produced the standard for C. We focus on the needs of day-to-day users of the language with the emphasis being on practical use and delivery of reliable software.
Suitable for
Programmers and engineers who already have some understanding of programming and who now wish to gain a solid understanding of the use of C for embedded and real-time systems software development.
Prerequisites
- Programming experience
- A good understanding of real-time programming issues
Delivery
This is instructor led C training. Each section of the material covered by the tutor is followed by hands-on practical exercises for which worked examples of the solutions are typically provided.
This embedded C courses is available only as an in-house course. For details of this course and bespoke C courses that we can provide, please email training@gbdirect.co.uk
Contents
An Introduction to C
Introduction to Embedded C Programming
Variable Types and Constants
Operators
Flow Control
Functions
Arrays
Evaluating Expressions
Bit Manipulation
Pointers
Other Data Types: Structures, Unions, and Enums
The Preprocessor and Multiple-File Programs
String Handling
|
Real-Time - C Techniques for Dealing with Time
Tasks, Threads, POSIX Pthreads
Self-Referential and Dynamic Data Structures
Developing on Real Time Linux
Interprocess Communication in Real Time Linux
Linux Device Drivers
Further Pointers
Building Software with Make
Advanced Use of the Preprocessor
Efficient C Programming
MISRA C — Designing Safer C Programs
|
