C Programming for Real Time Developers

4.5
1 review
  • The courseware was great very applicable content.
    |

Course

In London

Price on request

Description

  • Type

    Course

  • Location

    London

  • Start date

    Different dates available

Learning the C programming language is one thing, but learning how 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 emphasising the pragmatic use of C in a real-time environment. This is achieved through both lecture and direct hands-on experience.Approximately 50% of the course is consists of writing code for a real target. During the week attendees will build up a complete solution to a case study that exercises all significant parts of the course.

Facilities

Location

Start date

London
See map
78 Cannon Street, EC4N 6AG

Start date

Different dates availableEnrolment now open

About this course

Upon completion of this course, you will be able to:To provide an understanding of the essentials of the C programming language.To give you practical experience of writing C for real-time and embedded systems.To demonstrate the traps and pitfalls of the language when used in a real-time system.To give you the confidence to apply these new concepts to your next real-time project.

This course is designed for engineers who are embarking on a project using C for the first time. It is also suitable for those needing to support a customer using C, and those requiring to be brought up to date since initially being taught at University.

Experience of programming, e.g. assembly languagePrior knowledge of C is useful but not essential

Cover CoversThe core C syntax and semanticsHow to access hardware and program interrupts in the languageAbout memory and performance issues associated with CHow real-time operating systems (RTOS) affect the use of the language

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Reviews

4.5
  • The courseware was great very applicable content.
    |
100%
4.8
excellent

Course rating

Recommended

Centre rating

Analox

4.5
06/02/2018
What I would highlight: The courseware was great very applicable content.
What could be improved: .
Would you recommend this course?: Yes
*All reviews collected by Emagister & iAgora have been verified

This centre's achievements

2018

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 6 years

Subjects

  • C programming
  • Programming

Course programme


#text-block-10 { margin-bottom:0px; text-align:left; }

Introduction to Real-Time Systems
 Characteristics and demands of real-time software development
Introduction to C Programming
 Structure of a C program
 The C compilation process
Types and Operators
 C base types
 Precedence & associativity
 Arithmetic operations
Control Flow
 Logical expressions and operations
 Decision Making
 Loops
Pointers
 Pointer basics
Bit Manipulation & Hardware Access
 Accessing hardware with pointers
 Manipulating information at the bit level
 General Purpose IO (GPIO)
Functions
 The Function as a logical program unit
 How parameters are passed
 Memory segments
Arrays, Pointers and Strings
 Arrays as circular buffers
 Relationship between pointers & arrays
 Pointer arithmetic
 C string handling

#text-block-11 { margin-bottom:0px; text-align:left; }

Device Interaction & Synchronization
 Polling devices
 Serial peripheral programming
Structures and Unions
 Structures
 Big & Little Endian
 Unions
 Using structures to access I/O devices
 Bit-field structures
Interrupts
 Internal & External interrupt control
 Nested Interrupts
 Priorities & Masks
 Software Interrupts
Dynamic Memory Management
 Malloc and free
 Issues (leaks, fragmentation, etc.)
Program Structure
 Definitions and declarations;
 Header files
 Scope and lifetime
The C Pre-Processor
 Macros
 Conditional Compilation
Type safety
 Conversions, promotions, truncation
Portability
 Considerations between different compilers & platforms.
Concurrency and multi-tasking
 Scheduling strategies
 Context switching
 Function pointers
 Task synchronisation and communication
 MMU and memory protection
 Concurrency and libraries
 Using a RTOS
The Standard C Library
Target Specific Considerations
 Language features affecting portability
 Non-standard C language features
 Assembly language interfacing
 What happens at power-on?
 Initialising the C runtime

C Programming for Real Time Developers

Price on request