Embedded Programming With C++
Published 7/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.81 GB | Duration: 6h 10m
Published 7/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.81 GB | Duration: 6h 10m
Advanced C++ concepts for embedded project development
What you'll learn
Use the C++ concepts of generic programming and object oriented programming principles for writing firmware
Debug the code and make the appropriate changes
Understand the datasheet and reference manual of cortex microcontroller
Understand the way to write peripheral driver and memory management using C++ features
Learn the ways to verify concepts using debugging principles
Requirements
Basic experience in C programming is required
Description
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 we have only standard libraries are considered, for the sake of a clear and practical understanding of concepts.
Overview
Section 1: Introduction
Lecture 1 Introduction and Overview
Lecture 2 KEIL IDE download
Lecture 3 KEIL IDE installation
Lecture 4 Package installation for STM32 device
Lecture 5 Creating a project in KEIL
Lecture 6 Dev C++ installation
Section 2: C++ topics
Lecture 7 concept of "constexpr"
Lecture 8 Use of 'namespaces' in embedded program
Lecture 9 Use of 'explicit conversions' in embedded program
Lecture 10 Intro to class: lec-1
Lecture 11 Intro to class: lec-2
Lecture 12 use of "dynamic polymorphism"
Lecture 13 Intro to template: lec-1
Lecture 14 Intro to template: lec-2
Lecture 15 Intro to template: lec-3
Section 3: Register Access
Lecture 16 Memory model of Cortex-M3 microcontroller
Lecture 17 Accessing a register using macro
Lecture 18 Accessing a register using “reinterpret_cast”
Lecture 19 Accessing a register using “template class”
Section 4: GPIO Driver
Lecture 20 GPIO peripheral explanation
Lecture 21 GPIO driver development
Lecture 22 Adding template class to GPIO driver
Lecture 23 OOP based GPIO driver
Section 5: Custom Memory Management
Lecture 24 Basic heap usage
Lecture 25 Custom Pool Allocator
Firmware developers,hobbyists,Students and Instructors,Embedded software developers,Researchers