This course introduces the C++ language for use on real-time and embedded applications. The course highlights areas of concern for real-time and embedded development. The focus is on developing core object-oriented programming skills and understanding of how to build effective, maintainable and efficient C++ programs.
Attendees perform hands-on embedded programming, on target hardware, during course practicals. Approximately 50% of the course is given over to practical work.
Course Objectives:
- To provide a solid understanding of the essentials of the C++ programming language.
- To give you practical experience of writing C++ for real-time and embedded systems.
- 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 in the language
- How to program interrupt handlers in C++
- About memory and performance issues associated with C++
- How real time operating systems (RTOS) affect the use of the language
Pre-requisites:
- A good working knowledge of C
Who Should Attend:
This course is designed for real-time engineers who are embarking on a project using C++ for the first time. It is also targeted at developers currently reluctant to move from C to C++ as they believe it poses too great an overhead. This course will clearly demonstrate both the strengths and weaknesses of C++ versus C.
Duration: Five days.
Course Materials:
- Delegate handbook
- Delegate workbook
- Delegate datakey
Related Courses:
OO-503 Real-Time Software Design with UML
OO-301 Applying Real-Time UML
AC++-501 Advanced C++ for Embedded Systems
C++-502 Real-Time C++
C-501 C for Real-Time Developers
RTOS-201 Fundamentals of Real-Time Operating Systems
Course Workshop:
This course makes use of target hardware during real-time practical exercises. The board targeted is an IAR Kickstart development board (NXP LPC2129 ARM7-based microcontroller). An application board is programmed via the LPC2129 to give attendees a real sense of embedded application development.