As there are many features and intricate details incorporated in C++ language, embedded developers are finding it a fascinating topic in recent years. The present course will essentially give a practical understanding to write software for the ARM cortex microcontrollers, along with modern C++ features.
In the present course, the author has mainly concentrated to teach a way to leverage the C++ features along with object-oriented principles for microcontroller software. The C++ 11 version has been considered, for writing the drivers to peripherals and memory management of the STM32F446RE microcontroller.
In section-1, the discussion is all about understanding the build process, KEIL, and DEV IDE installation. Such that reader will get comfortable with using ARM version-6 compiler for writing software to Cortex devices. Throughout the course, the community edition of those IDE’s are used for exploring the subject and it is free.
In section-2, the discussion is all about giving some insight into the key topics related to C++ 11, such as templates and classes. For a better understanding, real-time examples were considered. In addition, some focus is given to the scalability, modularity, and performance of software.
In section-3, we have discussed the topic of register access, by simply using both macros and explicit casting. In addition, the concept templates were also considered for understanding real-time usage.
In section-4, the discussion is all about creating a GPIO peripheral driver and then a custom library using advanced C++ topics for controlling the Led connected to STM32F446RE. The listener will understand the usage of UML and generic programming concepts while designing the code.
The section-5 is all about heap usage and custom memory management in the microcontroller, by using C++ concepts. Here only the standard libraries are considered, for the sake of a clear and practical understanding of concepts.