Course: C for Real-Time Embedded Developers

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. 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 an intensive five day course covering C in the context of real-time embedded application development. Approximately 50% of the course 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.

Course objectives:

  • 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.

Delegates will learn:

  • The core C syntax and semantics
  • How to access hardware and program interrupts in the language
  • About memory and performance issues associated with C
  • Best practices in writing C for robust systems

Pre-requisites:

  • Experience of programming, e.g. another high-level language
  • Prior knowledge of C is useful but not essential

Who should attend:

This course is designed for engineers who have little or no experience of using C in a real-world production environment. It brings real-world knowledge to those with an academic understanding or who are self-taught. 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. 

Duration:

  • Five days

Course materials:

  • Delegate handbook

Course workshop:

This course makes use of target hardware during the real-time practical exercises. The board targeted is an ARM Cortex-M based MCU which gives attendees a real sense of embedded application development.

Looking for something specific?