Course Description:
Many engineers work with the C programming language
everyday for real-time embedded development. However some
hit a plateau and never feel comfortable with certain aspects of
the language. This course aims to move people off that plateau
and give them a fuller appreciation of the more advanced aspects
of the language. Because of the requirements for programming
real-time embedded systems, this course goes beyond just
addressing the language issues and explores compile, link and
run-time issues. In addition it covers interrupts and multi-tasking
areas specific to C.
As part of the course, approximately 50% of the time is given
over to writing code for a real target.
Overview:
An intensive four day course covering the advanced aspects of
the C programming for the real-time embedded programmer.
Course Objectives:
• To become comfortable with the advanced aspects of the C
programming language
• To gain an in-depth knowledge on what is happening at
compile, link and runtime on a target processor
• To introduce good quality and style for real-time embedded
programming
• To gain hands-on experiences of programming up interrupts
and real-time operating systems.
Delegates will learn:
• Advanced aspects of the C programming language
• The traps and pitfalls of the language (e.g. structure packing,
dynamic memory, etc.)
• Compile, link, and run-time memory models
• MISRA-C (www.mira.org) guidelines
• What parts of C should and should not be used in real-time
embedded systems programming.
Pre-requisites:
• A good grasp of the fundamentals of C, or
• Attendance of Feabhas course C-501 : C for Real-Time
Programmers.
Who Should Attend:
The course is designed for engineers who want to improve their
grounding and understanding of the C programming language. It
is specifically aimed at issues relevant to real-time embedded
software engineers.
Duration:
Four days
Course Materials:
• Delegate Handbook
Related Courses:
• RTOS-201 Fundamentals of Real-Time Operating
Systems
• OO-503 Real-Time Software Design with UML 2.0
• MC-101 Guidelines for Writing High Integrity Software
in C
• C-501 C for Real-Time Developers
Course Workshop:
The course workshop uses the GNU compiler and the Philips
LCP2129 ARM7TDMI microcontroller as a target for the handson
sessions. Exercises are designed to stretch attendees’
abilities and explore subtleties of the language. A good working
knowledge of the C programming language is essential as some
of the exercises involve extensive programming. The µC/OS-II
RTOS is used for the hands-on exercises relating to multitasking.
|