Mô tả

Are you tired of Copying and Pasting code you don't understand?

This course is for anyone seeking to improve their embedded  firmware development skills. This course focuses on how to apply object-oriented principles to embedded firmware development.

By the end of this course  you will be able to write Objected-Oriented Embedded-C Applications as well as Objected-Oriented Embedded-C++ Applications.

So with that understood, let me tell you…


                                                                                     Exactly What You’re Getting

This is dramatically different from any course you have ever taken because it’s more of a professional hands-on “field guide” to stm32 bare metal firmware development.
The reason why is because there’s no fluff or filler. It immediately gets down to the actual subject, showing you exactly what to do, how to do it, and why.

Plus, it’s easy.

And you’ll immediately “get” the entire mythology I personally use to build firmware for consumer devices in my professional life.



                                                                         It's About MORE Than Just Getting the Code to Work

See, this course will change your professional life forever. Here is what one student had to say about the 1st version (STM32F4) of the course :


  "So far this class has been awesome. I'm a C programmer that's been using Python a lot lately so this class helps to make my C code look a little more object oriented and class based. Also, he goes through how to transform some C code into C++ code which is pretty great"

Here is what another student had to say :

    "Absolutely it was a good match for me because I am new to the OOP in Embedded system and I have now gained good Understanding of C++ and OOP for Microcontrollers. Very detailed and nicely designed course I will regularly check for the new update. I think it is the best course about OOP on Embedded system."


If at least one of the following applies to you then keep reading if not then simply skip this course:

" Escape From "

  1. Copying/Pasting code you don’t understand

  2. Using third party libraries and header files like HAL, LL and StdPeriph

  3. Experiencing bugs you don’t understand

  4. Being afraid of technical documentations like the reference manual and datasheet of the chip

  5. Imposter syndrome

" Arrive At "

  1. Building every single line of code from scratch by writing to the microcontroller’s memory space directly.

  2. Using No third party libraries or header files

  3. Understanding and writing every single line of code yourself- no Copy/Paste

  4. Using the debugger effectively to analyze and resolve any bugs

  5. Developing proficiency in your embedded development skills and confidently take the next steps

So like I said, there’s more than just getting each piece of code to work.

Here’s an overview of what you’re getting...

  • Analyzing the chip documentations:

    Before developing the firmware for any chip you have to learn how to read the documentation provided by the chip manufacturer.


  • Defining Peripheral address

    All components on the microcontroller have an address range. To write to a component or read from a component you need to locate its address range in the documentation and properly define the addresses in your code.


  • Creating registers from the address:

    The addresses in the address range of a component represent the registers of that component. To access these registers you have effectively typecast the addresses.


  • Understanding CMSIS:

    Cortex-Microcontroller Interface Standard (CMSIS)CMSIS is a standard developed by Arm for all Cortex-Microcontrollers. This is the standard used in professional firmware development


But it gets better because you’re also getting…


                                                         Deep Lessons on Object-Oriented Concepts

Like:

  • Polymorphism

  • ​Inheritance

  • Encapsulation



                                                           Specially Designed For People Who Hate Copy/Paste

Listen. If you don’t like “Copy/Paste” you’re not alone. I can’t stand it either. I’d literally rather have a piece of code that I wrote from scratch that doesn’t work than someone else’s working code I copied and pasted.

And that’s why I’ve spent months designing and recording this course in which I show you how to locate every single register used and the meaning of every hexadecimal value written into the register.


Also it comes with a money back guarantee so you have nothing to loose.

Bạn sẽ học được gì

Apply Objected-Oriented Principles to Firmware development

Write Objected-Oriented Embedded-C Applications

Write Objected-Oriented Embedded-C++ Applications

Write Embedded Systems Drivers and Libraries using Objected Oriented C and C++

Write firmware by applying Object-Oriented principles like Polymorphism, Inheritance and Encapsulation in C and C++

Write embedded drivers from scratch in C++ using information from the datasheet. E.g. GPIO drivers, TIMERS drivers, UART drivers etc.

Write embedded drivers from scratch in object-oriented C using information from the datasheet. E.g. GPIO drivers, TIMERS drivers, UART drivers etc.

Build every single line of code from scratch by writing to the microcontroller’s memory space directly.

Use No third party libraries or header files

Understand and write every single line of code yourself- no Copy/Paste

Use the debugger effectively to analyze and resolve any bugs

Develop proficiency in your embedded development skills and confidently take the next steps

Define addresses for the different peripherals

Analyze the chip documentation

Create registers from the addresses

Yêu cầu

  • No programming experience needed - I'll teach you everything you need to know.
  • NUCLEO-STM32F4 DEVELOPMENT BOARD

Nội dung khoá học

12 sections

Introduction

5 lectures
Downloading Keil uVision
01:18
Installing Keil uVision 5
01:51
Installing Packs
04:19
Overview of Keil uVision 5
10:02
Changing the Compiler
01:53

Object-Oriented Firmware Programming

5 lectures
Coding : Developing a UART Driver for monitoring results
41:58
Source Code Download
00:04
Coding : Creating an LED class in Object-Oriented C (Part I)
29:54
Coding : Creating an LED class in Object-Oriented C (Part II)
29:58
Coding : Creating an LED class in C++
26:44

Implementing Inheritance in Embedded-C and C++

4 lectures
Coding : Inheriting a Class in Object-Oriented C (Part 1)
16:28
Coding : Inheriting a Class in Object-Oriented C (Part 2)
08:38
Coding : Inheriting a Class in Object-Oriented C (Part 3)
07:36
Coding : Implementing Inheritance in C++
18:12

Developing an Object -Oriented GPIO Driver and Library in C From Scratch

9 lectures
Coding : Implementing a Structure to hold Registers
36:54
Coding : Implementing the RCC Registers Structure
24:26
Coding : Testing the Driver
11:56
Coding : Adding all GPIO Ports to the Driver
12:41
Coding : Creating the Interface and Implementation files
03:23
Coding : Implementing the Library
28:28
Notice
00:28
Coding : Implementing the Library Functions
20:43
Coding : Testing the Library
04:49

Implementing Polymorphism in Embedded-C and C++

3 lectures
Coding : Another class to our firmware in C
15:03
Coding : Implementing Polymorphism in C (Part I )
29:51
Coding : Implementing Polymorphism in C (Part II )
23:57

More General Purpose Input/Output (GPIO) Features (Optional)

1 lectures
Coding : Extending the GPIO Library for handling Alternate Functions
32:40

Developing an Object -Oriented GPIO Driver and Library in C++ From Scratch

1 lectures
Coding : Developing our General Purpose Input / Output Library in C++
48:04

Developing an Object -Oriented UART Driver and Library in C From Scratch

5 lectures
Coding : Implementing the UART Registers Structure
21:06
Coding : Developing the UART Driver
23:27
Coding : Developing the UART Library (PART I)
37:58
Coding : Developing the UART Library (PART II)
05:15
Coding : Testing the UART Library
02:49

Developing an Object -Oriented UART Library in C++ From Scratch

1 lectures
Coding : Developing the UART Library in C++
18:41

Developing an Object -Oriented SysTick Timer Library in C From Scratch

4 lectures
Coding : Implementing the SysTick Registers Structure
15:03
Coding : Testing the SysTick Driver
08:48
Coding : Implementing the SysTick Library C
14:23
Coding : Implementing the SysTick Library C++
15:58

Setting Up Option 2 - STM32CubeIDE

6 lectures
Download CubeIDE
04:16
Setting Up STM32CubeIDE
07:25
Installing Packages
06:07
Overview
17:17
Coding : Writing a GPIO Driver from Scratch (PART I)
34:02
Coding : Writing a GPIO Driver from Scratch (PART II)
17:29

Closing

1 lectures
Closing Remarks
00:17

Đánh giá của học viên

Chưa có đánh giá
Course Rating
5
0%
4
0%
3
0%
2
0%
1
0%

Bình luận khách hàng

Viết Bình Luận

Bạn đánh giá khoá học này thế nào?

image

Đăng ký get khoá học Udemy - Unica - Gitiho giá chỉ 50k!

Get khoá học giá rẻ ngay trước khi bị fix.