- This event has passed.
Transitioning from C to C++
October 9 @ 2:00 pm - October 13 @ 2:30 pm
The C Programming language has been a dominate tool in embedded systems since its inception but as compiler and microcontroller technologies have advanced, more modern and object-oriented languages are beginning to make much more sense. I this course, Jacob Beningo will walk attendees through an introduction to C++ and demonstrate how it can be used in a real-time application running on ARM Cortex-M microcontrollers. Attendees will walk away with an understanding on when, where and how to begin using C++ in their applications.
Session 1 – C++ Fundamentals
Developers are very familiar with C but when it comes to C++, many developers have either never touched the language or forgotten everything they have learned. In this session, attendees will get a brief refresher course on critical object-oriented concepts such as object and classes, encapsulation, inheritance and polymorphism. Attendees will have the opportunity to write a C++ program without the need for any specialized hardware.
Session 2 – Designing a C++ Application
Developers working in C typically think in a very functional or procedural mindset. When working with an object-oriented language, developers need to think in terms of objects and operations. In this session, attendees will learn how to design a C++ application by performing functional decomposition. Attendees will walk away with a new mindset on how to design application and how to encourage more reuse and portability from their software.
Session 3 – Beginning the Transition
In this session, attendees will examine how to get C++ up and running on a target development board and create their first embedded C++ applications. We will discuss the various tools developers should be using and get an LED blinky program up and running on hardware. Attendees will walk away with real world C++ experience along with ideas on how they can start transitioning their own code over to C++.
Session 4 – Real-time C++
In the past, many complaints about using C++ rather than C were related to performance or code size issues. In many cases, this simply was due to the developer using language features that are not appropriate for a real-time system. In this session, we will continue to build on our LED blinky program by examining inheritance, dynamic polymorphism, pure and virtual abstractions and how they can affect the applications real-time performance.
Session 5 – Getting into the Bits and Bytes
In this final session, we will examine the concepts and techniques developers require to map their application into the low-level hardware. Attendees will examine how to access microcontroller registers,
create drivers and the template class. At the end of the course developers will know enough C++ to intelligently design applications and understand the potential pitfalls with different language constructs.
Registration: www.designNews.com Continuing Education Center