Embedded Software Development using C++

Video Tutorials, Courses


Embedded Software Development using C++
Genre: eLearning | MP4 | Video: h264, 1280x720 | Audio: AAC, 48.0 KHz
Language: English | Size: 3.05 GB | Duration: 6h 53m

Object-oriented design and HAL application programming


What you'll learn
Students will be able to design and develop libraries using C++ to interface the STM32 with external devices.
Students will be able to develop embedded software using STM32Cube HAL drivers and C++
Students will be able to apply object-oriented design principles when solving embedded software problems
Students will be able to design, develop and run games on an STM32 microcontroller e.g. Tic Tac Toe
Students will be able to design and develop manual and autonomous robot cars using the STM32 microcontroller
Students will be able to design and develop embedded software by crafting algorithms and deriving workable codes from those algorithms

Description
The Embedded Software Development using C++ course demonstrates the application of object-oriented programming (OOP) in embedded systems. C++ is the language of choice because it has facilities that make OOP easy to implement and it also allows programming at the hardware level. As feature-rich and fantastic as C++ is, it is easy to misuse and this might cause code bloat. In this course, specific features of the language have been chosen to ensure the programs developed obey the following:

Simplicity

Readability

Maintainability

Core concepts of OOP such as abstraction, encapsulation and polymorphism are covered. The course aims to present this style of programming as simple and friendly as possible hence inheritance isn't covered. In order to make library and application development relatively faster, the STM32Cube HAL APIs are used and direct register-level programming is reduced to a minimum. The STM32F401RE Nucleo Board is used throughout this course and the Keil uVision5 MDK is used for software development and debugging. Since the course predominantly uses the HAL, then anyone taking the course can use a different STM32F4 microcontroller and run the same code (with few modifications) due to the portability of the HAL.

Most embedded software are written in C and with a procedural approach to programming. C++ isn't a replacement for C and neither is OOP a replacement for procedural programming. But C++ does provide some features that our embedded software can benefit from and if used judiciously, it would be rewarding for application development. In the end, it is a matter of preference and use case and this course ensures the applicability of the language and programming paradigm (OOP) are reflected and appreciated.

As a student of this course, you'd be exposed to the following:

Object-oriented programming on an embedded system and the following will be applied:

Class, Encapsulation, Abstraction, Polymorphism

Private and Public keywords

Pointers and References

Type safety

Development of libraries using C++, STM32Cube HAL drivers and information from documentations to interface the STM32 microcontroller with external components like:

20x4 LCD

4x4 Keypad

SG90 Servo

HC05 Bluetooth Module

HC-SR04 Ultrasonic Sensor

L298N Motor Driver

Code generation using STM32CubeMx as well as modification and customization of the CubeMx generated code to suit the application being developed.

HAL GPIO, UART and Timer programming on the STM32F4

Use of timers for PWM signal generation as well as PWM input capture for determination of an input signal's duty cycle

Software design prior to the development of a library or application code

As this course is project-based, students will build at least two projects some of which include:

A Tic-tac-toe game console

An Autonomous car

I can guarantee that anyone that enrolls for this course will be able to build embedded software for projects with little to no supervision after completing this course. Also, as a graduate of this course, you'd be able to design and develop simple, readable and maintainable embedded software for several projects with well defined requirements using C++.

To get the best out of the course, students are required to purchase some hardware components and install some software in order to follow the lectures, exercises and projects with ease.

Software requirements:

Keil uVision5 MDK

Java runtime environment (required for the STM32CubeMx)

STM32CubeMx

Students are also expected to be familiar with STM32 programming at a basic level i.e. understanding of basic peripherals and their registers (GPIO, UART and Timers in normal counting mode). Knowledge of embedded C would also be helpful.

Who this course is for:
Students, Engineers and C++ programmers that want to apply OOP techniques to embedded systems programming
Embedded systems enthusiasts that want to develop custom libraries for an STM32 microcontroller using C++
Engineers that want to try a combination of C++ and STM32Cube HAL for quick application development
Students, Engineers and Programmers that want to explore embedded software programming from a different perspective i.e. methods other than Embedded C
Students, Engineers and Programmers that want to design and develop embedded software with the aid of projects



Download From Rapidgator


https://rapidgator.net/file/3b9a8bd258e98d189a0acf0ac43cfd4e
https://rapidgator.net/file/69a78faa2146ff307174e5b39afeedf0
https://rapidgator.net/file/35e73ef3bba61be0f8a9a226e666558d
https://rapidgator.net/file/f6ee7df8e624ad787f4578c42738a4f1


Download From Nitroflare


https://nitro.download/view/A98DE3BB0803498
https://nitro.download/view/5812ED47846C3B0
https://nitro.download/view/BF44C4739C81550
https://nitro.download/view/4DEC02C8C12C36C


Download From Uploadgig


https://uploadgig.com/file/download/Aa84dd62fBDb1Ada/BaDshaH.Embedded_Software_Development_using_C__.part1.rar
https://uploadgig.com/file/download/dE45650e6C2939Fe/BaDshaH.Embedded_Software_Development_using_C__.part2.rar
https://uploadgig.com/file/download/3a3639A07cd3136f/BaDshaH.Embedded_Software_Development_using_C__.part3.rar
https://uploadgig.com/file/download/0aEDe6c07Dc65Cfc/BaDshaH.Embedded_Software_Development_using_C__.part4.rar