Mastering Embedded Systems With C And Arm Cortex (Stm32)

Posted By: ELK1nG

Mastering Embedded Systems With C And Arm Cortex (Stm32)
Published 6/2025
MP4 | Video: h264, 1920x1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 10.49 GB | Duration: 19h 22m

Become an expert in Embedded Systems using C and STM32 ARM Cortex — fundamentals to real-time hardware implementation.

What you'll learn

Fundamentals of Embedded Systems and C programming

Flow control, loops, functions, arrays, pointers, and strings in C

STM32CubeIDE setup and embedded project development

Hands-on practice with ARM Cortex STM32 microcontrollers

Bitwise operations, memory mapping, register-level coding

Advanced concepts: volatile/const qualifiers, structures, unions, bit-fields

Requirements

Basic understanding of programming logic

Enthusiasm for hardware and embedded development

A Windows-based PC with internet access

Optional: STM32 development board for hands-on practice

Description

Introduction: Dive into the powerful world of embedded systems where software meets hardware. This comprehensive course walks you through the fundamentals of embedded systems using the C programming language, and gradually transitions into advanced programming with ARM Cortex-based STM32 microcontrollers. Whether you are a beginner or a budding engineer, this course will bridge the gap between theory and hands-on embedded application development.Section 1: C Programming for Embedded Systems This section sets the stage by providing a deep introduction to embedded systems, including their architecture, components, and differences between MCUs and MPUs. It then builds a solid foundation in the C programming language — starting from variables and operators to loops, flow control, functions, arrays, pointers, and strings. It wraps up with a complete embedded project cycle from coding to deployment, enabling learners to understand how C works in embedded environments.Section 2: Embedded C Programming Essentials Learn how to get your hands dirty with real embedded development. This section focuses on installing and using STM32CubeIDE, creating host and target projects, compiler setups, and key debugging practices. You'll also refine your knowledge of C syntax, data types, functions, scope, and memory addressing through embedded-specific demos and tool-based exercises.Section 3: ARM Cortex (STM32) Fundamentals – Building Embedded Systems Step into the ARM Cortex (STM32) domain where you apply C knowledge to manipulate I/O, control memory-mapped registers, and implement decision-making with real hardware. Learn core embedded programming concepts like bitwise operations, LED control, software delays, peripheral register access, and instruction-level debugging, leading to practical embedded system builds.Section 4: ARM Cortex (STM32) Deep Dive – Mastering Embedded Systems Take your embedded skills to an expert level. This advanced section introduces compiler optimizations, const and volatile usage, memory placements, and extensive structure and union handling. It culminates in advanced applications like GPIO register manipulation via structures and hands-on system design with bit-fields, arrays, and strings.Conclusion: By the end of this course, you'll confidently code embedded applications, manipulate hardware registers, and build real-time projects using C and STM32. You'll bridge the gap from basic C concepts to complex embedded projects that prepare you for industry-level challenges.

Overview

Section 1: Embedded Systems using C

Lecture 1 Introduction to the Course

Lecture 2 Embedded System - Overview

Lecture 3 Component and Structure

Lecture 4 Architecture of Embedded System

Lecture 5 MCU-vs-MPU

Lecture 6 Devices in Embedded System

Lecture 7 Environment Setup For Embedded System

Lecture 8 Introduction to C

Lecture 9 C Vs Embedded C

Lecture 10 How C Programming Works

Lecture 11 Basic C Program

Lecture 12 Variables in C

Lecture 13 Operators Introduction

Lecture 14 Arithmetic Operator and Assignment Operator Part 1

Lecture 15 Arithmetic Operator and Assignment Operator Part 2

Lecture 16 Relational Operator and Logical Operator Part 1

Lecture 17 Relational Operator and Logical Operator Part 2

Lecture 18 Relational Operator and Logical Operator Part 3

Lecture 19 Bitwise Operator and Size of Operator Part 1

Lecture 20 Bitwise Operator and Size of Operator Part 2

Lecture 21 Bitwise Operator and Size of Operator Part 3

Lecture 22 Conditional Operators

Lecture 23 Comma Operators

Lecture 24 Types and Storage Classes in C

Lecture 25 Introduction to Flow Controls and its Types

Lecture 26 If Condition and its Type

Lecture 27 Nested if Condition

Lecture 28 Multiple if-Else Statements

Lecture 29 Switch Statement Part 1

Lecture 30 Switch Statement Part 2

Lecture 31 Loops and Its Types

Lecture 32 For Loop

Lecture 33 While Loop

Lecture 34 Do-While Loop

Lecture 35 Nested Loop

Lecture 36 Break and Continue Statement

Lecture 37 Go to and Return Statement

Lecture 38 What is Function in C and its Types

Lecture 39 Programming Demonstration of Function Part 1

Lecture 40 Programming Demonstration of Function Part 2

Lecture 41 What is an Array

Lecture 42 1D Array and Its Iteration Part 1

Lecture 43 1D Array and Its Iteration Part 2

Lecture 44 2D Array and Its Iteration

Lecture 45 3D Array and Its Iteration Part 1

Lecture 46 3D Array and Its Iteration Part 2

Lecture 47 Arrays and Functions

Lecture 48 What Is A Pointer

Lecture 49 Pointers Demo

Lecture 50 Pointer to A Pointer

Lecture 51 What is A String

Lecture 52 Programming Demonstration of String

Lecture 53 Pointer and Strings

Lecture 54 Array and Strings

Lecture 55 Creating A Simple Project

Lecture 56 Programming Demonstration and Build

Lecture 57 Deployment of The Program Part 1

Lecture 58 Deployment of The Program Part 2

Section 2: Embedded C Programming Essentials

Lecture 59 Course Introduction

Lecture 60 Downloading Ide

Lecture 61 Key Features of The Stm32Cubeide

Lecture 62 Installing Stm32Cubeide

Lecture 63 Meet The Embedded Target of This Course

Lecture 64 Installing Compiler (Gcc) For Host (Windows)

Lecture 65 Importing Course Projects Into Workspace Part 1

Lecture 66 Importing Course Projects Into Workspace Part 2

Lecture 67 Creating A Project For The Host

Lecture 68 Creating A Project For The Target

Lecture 69 FPU Warning Fix

Lecture 70 Onlinegdb Web Tool

Lecture 71 Printf and Hello World

Lecture 72 Printf Exercise 1 Solution

Lecture 73 Escape Sequences in C

Lecture 74 Printf Exercise 2 Solution

Lecture 75 Printf Exercise 3 Solution

Lecture 76 Commenting in C

Lecture 77 Data Types in C

Lecture 78 C Integer Data Types and Value Ranges

Lecture 79 Char Data Type and Variable Definition

Lecture 80 Variable Definition Exercise

Lecture 81 Range Calculation For Char Data Type

Lecture 82 Sizeof

Lecture 83 Variables Naming Rules and Definition Vs Declaration

Lecture 84 Declaration Vs Definition - An Illustration

Lecture 85 Variables Scope and Illustration

Lecture 86 Address of Variables

Lecture 87 Storage Class Specifiers in C

Lecture 88 Use Cases of Static With Variables

Lecture 89 Use Cases of Static With Functions

Lecture 90 Extern Storage Class Specifier

Lecture 91 Introduction to Functions in C Part 1

Lecture 92 Introduction to Functions in C Part 2

Lecture 93 Function Prototypes

Lecture 94 Returning Data From A Function

Lecture 95 Function Exercise Part 1

Lecture 96 Function Exercise Part 2

Lecture 97 Ascii Codes

Lecture 98 Typecasting in C Part 1

Lecture 99 Typecasting in C Part 2

Lecture 100 Embedded - Hello World Part 1

Lecture 101 Embedded - Hello World Part 2

Lecture 102 Testing Printf Over Arm Part 1

Lecture 103 Testing Printf Over Arm Part 2

Lecture 104 Issues With Ide

Lecture 105 Compiler Settings on Stm32Cubeide

Lecture 106 Embedded Project Build Process Part 1

Lecture 107 Embedded Project Build Process Part 2

Lecture 108 Run Sizeof On Embedded Target

Lecture 109 Sizeof Testing

Lecture 110 What is A Microcontroller Part 1

Lecture 111 What is A Microcontroller Part 2

Lecture 112 Code Memory of The Microcontroller

Lecture 113 Code and Data of The Program Using Memory Browser Part 1

Lecture 114 Code and Data of The Program Using Memory Browser Part 2

Lecture 115 Analyzing Elf File Using Gnu tools Part 1

Lecture 116 Analyzing Elf File Using Gnu tools Part 2

Lecture 117 Disassembly Part 1

Lecture 118 Disassembly Part 2

Lecture 119 Ide Option for Instruction Level Debugging

Section 3: ARM Cortex (STM32) Fundamentals Building Embedded Systems

Lecture 120 Course Introduction

Lecture 121 Manipulating Decimal Numbers in C

Lecture 122 Single Vs Double Precision

Lecture 123 Working With Float and Double Variables Part 1

Lecture 124 Working With Float and Double Variables Part 2

Lecture 125 Scanf Introduction

Lecture 126 Scanf Exercise Implementation Part 1

Lecture 127 Scanf Exercise Implementation Part 2

Lecture 128 Scanf Exercise 2 Part 1

Lecture 129 Scanf Exercise 2 Part 2

Lecture 130 Pointers in C

Lecture 131 Pointer Variables and Initialization

Lecture 132 Pointer Variables and Pointer Data Types

Lecture 133 Read and Write Operation on Pointers

Lecture 134 Pointer Exercise 1 and Exercise 2 - Understanding

Lecture 135 Pointer Exercise 1 Implementation

Lecture 136 Pointer Exercise 2 Implementation Part 1

Lecture 137 Pointer Exercise 2 Implementation Part 2

Lecture 138 What Is Stdint Header File

Lecture 139 Understanding-Stdint-Header-File

Lecture 140 Operators in C

Lecture 141 Unary Operator in C

Lecture 142 Unary Operators with Pointers

Lecture 143 Relational Operators in C

Lecture 144 Logical Operators in C

Lecture 145 If Statement

Lecture 146 If Statement Exercise

Lecture 147 If and Else

Lecture 148 If and Else Exercise Implementation

Lecture 149 If -Else-If Ladder Statements

Lecture 150 If-Else-If Ladder Exercise Solution

Lecture 151 Conditional Operator

Lecture 152 Switch Case Statement in C

Lecture 153 Switch Case Exercise

Lecture 154 Switch Case Exercise Solution - Part 1

Lecture 155 Switch Case Exercise Solution - Part 2

Lecture 156 Bitwise Operators in C

Lecture 157 Bitwise and and Bitwise OR

Lecture 158 Applicability of Bitwise Operators - Testing of Bits

Lecture 159 Finding Even OR Odd Number Using Testing of Bits

Lecture 160 Applicability of Bitwise Operators - Clearing of Bits

Lecture 161 Applicability of Bitwise Operators - XOR

Lecture 162 Applicability of Bitwise Operators - Setting of Bits

Lecture 163 Coding To Turn on An Led

Lecture 164 Controlling Io Pin Using Software

Lecture 165 Process OR Addressable Memory Regions

Lecture 166 Stm32 Memory Map

Lecture 167 Memory Mapped Peripheral Registers and Io Access

Lecture 168 Procedure To Turn on Led

Lecture 169 Enabling Peripheral Clock

Lecture 170 Calculating Peripheral Register Addresses

Lecture 171 Led on Exercise Coding Part 1

Lecture 172 Led on Exercise Coding Part 2

Lecture 173 Led on Exercise Coding Part 3

Lecture 174 Led on Exercise Coding Part 4

Lecture 175 Bitwise Right Shift Operator

Lecture 176 Bitwise Left Shift Operator

Lecture 177 Applicability of Bitwise Shift Operators

Lecture 178 Modifying Led on Exercise Using Bitwise Shift Operators

Lecture 179 Bit Extraction

Lecture 180 Looping in C

Lecture 181 While Loop Exercise Part 1

Lecture 182 While Loop Exercise Part 2

Lecture 183 Do While Loop

Lecture 184 FOR Loop Exercise Part 1

Lecture 185 FOR Loop Exercise Part 2

Lecture 186 FOR Loop Exercise Part 3

Lecture 187 Modifying Led on With Software Delay

Lecture 188 Led Toggle Using Software Delay Part 1

Lecture 189 Led Toggle Using Software Delay Part 2

Lecture 190 Course Conclusion

Section 4: ARM Cortex (STM32) Deep Dive: Mastering Embedded Systems

Lecture 191 Const Type Qualifier Part 1

Lecture 192 Const Type Qualifier Part 2

Lecture 193 Placements of Const Variables in Memory

Lecture 194 Compiler Optimization and Flags

Lecture 195 Different Compiler Optimization Levels

Lecture 196 Volatile and Effect of Optimization

Lecture 197 When to use Volatile Qualifier ?

Lecture 198 Introduction to Structures

Lecture 199 Accessing Structure Member Elements Part 1

Lecture 200 Accessing Structure Member Elements Part 2

Lecture 201 Size of Structure

Lecture 202 Typedef and Structure

Lecture 203 Structures and Pointers Part 1

Lecture 204 Structures and Pointers Part 2

Lecture 205 Structures and Pointers Part 3

Lecture 206 Unions Part 1

Lecture 207 Unions Part 2

Lecture 208 Applicability of Unions Part 1

Lecture 209 Applicability of Unions Part 2

Lecture 210 Applicability of Unions Part 3

Lecture 211 Bit-Field Exercise Part 1

Lecture 212 Bit-Field Exercise Part 2

Lecture 213 Bit-Field Structure for RCC AHB1ENR

Lecture 214 Bit-Field Structure for GPIOx ODR

Lecture 215 Modifying LED Toggle Exercise with Structures Part 1

Lecture 216 Modifying LED Toggle Exercise with Structures Part 2

Lecture 217 Arrays in C

Lecture 218 Read-Write Operation on Array

Lecture 219 Passing Array to Function

Lecture 220 Strings in C

Lecture 221 String Literal

Engineering students and electronics enthusiasts,Embedded system hobbyists and programmers,Professionals switching to embedded development,Anyone seeking a hands-on and deep technical foundation in embedded systems