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
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