- What an Embedded System is
- Traits and Architecture of an Embedded System
- Embedded Hardware and Software
- Why C-language is Preferred for Embedded SW Development
- Installing Tool Chain
- Installing STM32CubeIDE
- Installing GCC Compiler
- Creating a New Project
- Basic Elements of a C-Program
- C-Program Layout
- Standard I/O - Library
- getchar and putchar
- printf and sprintf
- scanf and sscanf
- C Data Types
- Signed Data Representation
- Data Type - Overflow/Underflow Issues
- C99 Data Types
- Fixed Point and Floating-Point Representation
- FPU Usage
- ‘Enum’ and ‘Typedef’
- Operators in C
- Operators Precedence and Associativity
Embedded Programming Essentials
Quick Facts
particular | details | |||
---|---|---|---|---|
Medium of instructions
English
|
Mode of learning
Self study, Virtual Classroom
|
Mode of Delivery
Video and Text Based
|
Course and certificate fees
Fees information
₹ 40,000
The fees for the course Embedded Programming Essentials is -
Head | Amount |
Programme fees | Rs. 40,000 |
certificate availability
Yes
certificate providing authority
Skill Lync
The syllabus
Week 1 - C Language for Embedded Programming, C Input /Output Functions, C Data Types for Embedded Programming, C Language Operators
Week 2 - C Control Statements, Function Prototypes, Introduction to Pointers, C Storage Classes and Type Qualifiers
- Control Statements in ‘C’ language
- ‘if-else’
- Loops for Iterations
- Switch Case for Multiple Selections
- Tips and Traps for Switch-Case
- ‘if-else’ vs ‘switch’
- ‘goto’ Statement and Labels
- Introduction to vFunctions
- Advanced Control Flow with ‘setjmp( )’ and ‘longjmp( )’
- Functions ()
- Function Prototypes
- Recursive Function
- Function Pitfalls
- Introduction to Pointers
- Call by Value Vs Call by Reference
- Pointer Arithmetic
- Functions as ‘Pointer'
- C Storage Classes
- Automatic
- External
- Static
- Register
Week 3 - C Compilation Process, C Preprocessor Directives, Arrays in C, Arrays to Functions, and Array of Function Pointers
- Stages of the Compilation Process
- Pre-processing
- Compilation
- Assembling
- Linking
- GCC Commands for Each Stage
- Preprocessor Directives in C
- Macros and their Types
- Conditional Compilation
- #pragma
- Introduction to Arrays
- Array Initialization
- Accessing Array Elements
- 2D Arrays
- 3D Arrays
- Pointers and Arrays
- Passing Array Elements to a Function
- Array of Pointers
- ‘Function’ as ‘Pointer’ - Function Pointers
- Array of Function Pointers
Week 4 - Command Line Arguments, Variadic Functions, Strings and String Functions in C, Structures in C, Unions and Bitfields in C
- Command Line Arguments in C
- Variadic Functions in C
- Strings in C language
- String Functions from
- Structure Declaration in C
- Array of Structures
- Pointer Objects to Structure
- Memory Allocation of Structure and Structure Padding
- Structure Padding Comparison
- Bit Fields
- Unions
Week 5 - Advanced Function Arguments, Advanced Pointers-Void Pointers, File Operations in C, Standard Libraries C
- Function Pointers
- Passing Function Pointers as Arguments to a Function
- Inline Functions
- Passing a String as a Function Argument
- Returning a String from a Function
- Passing Arrays to Function Arguments
- Returning Multiple Values from a Function
- Passing Structure Pointers as Function Arguments
- Passing an Array of Structures to a Function
- Double Pointers with Example
- Void pointers with Example
- Miscellaneous Features
- File I/O Handling
- Read and Write Operations
- Error Handling Mechanisms
- General Properties of C Library
- Functions of C Library
- Need for Libraries - Static vs. Dynamic Libraries
- Utility Functions
Week 6 - C Memory Management, Dynamic Memory Allocation, Modular C Programming, Modular C Programming, and C Program Optimization
- C Memory Model
- Dynamic Memory Allocation on Heap
- Miscellaneous Memory Functions
- Variable Length Arrays
- Creating a User-Defined Library
- Makefile Project in STMCubeMX IDE
- Creating a Custom Makefile
- Introduction to Debugging
- Debugging using GDB Tool
- Debugging using Preprocessor Directives
- Optimization for Memory Usage and Execution Speed
- Optimization Methods
- Code Level Optimization
Week 7 - Stack and Stack Operations, Queue and Queue Operations, Linked List, Finite State Machine
- Fundamental Concepts of Data Structures
- Operation on Data Structure
- Arrays and Array Operations
- Stack and Standard Stack Operations
- Fundamental Concepts of Queue
- Operations performed in Queue
- Different Types of Queue
- Fundamental concepts of Linked List
- Types of Linked List
- Singly Linked List
- Doubly Linked List
- Circular Linked List
- Doubly Circular Linked List
- Introduction to FSM (Finite State Machine)
- State Diagram
- Explanation of State Diagram
- State Table
- Implementation of State Machine
- Mealy State Machine
- Moore State Machine
Week 8 - Process Management in C, Embedded Design Patterns
- Threads
- Memory Model of Threads
- Library
- Process Vs Threads
- IPC Mechanism
- Different Design Patterns of Embedded System
- Hardware Adapter Pattern
- Observer Pattern
- Debounce Pattern
- Interrupt Pattern
- Polling Pattern
Week 9 - C and Embedded C Standards
- C Standards
- K&R C
- K&R Standards
- ANSI C
- C90 Standards
- C99 Standards
- C11 Standards
- Embedded C
- C-General Coding Standards
- Embedded C Standards
Week 10 - AUTOSAR C Rules and MISRA C Guidelines
- Common Pitfalls in C Language
- Overstepping of Array Boundaries
- Example of Faulty Code
- Buffer Overflow
- Stack Overflow
- Glimpse into AUTOSAR and MISRA
- Prominent MISRA C Rules
Week 11 - Introduction to C++ and OOPS-Part 1
- Introduction of C++
- What is C++?
- Program Paradigm
- ANSI/ISO Vs Standard C++
- C++ Syntax and Structure
- C++ Language Fundamentals
- Benefits of C++ over C
- C vs C++
- Procedural Vs OOP
- Compiling a C Program in C++ Environment
- Undefined Behavior in C and C++
- Void * in C vs C++
- Name Mangling
- Use of Extern C in C++ Programming
- Structures in C Vs Class in C++
- C++ Vs Java
- Similarities between C++ and Java
- Exception Handling in C++ vs Java
- Default Virtual Behavior in C++ Vs Java
- Floating Point Operations and Property of Associativity in C, C++, and Java
- Dynamic Memory Allocation
- malloc()
- calloc()
- realloc()
- free
- new
- delete
- malloc Vs new
- free Vs delete
- Object Oriented Programming
- OOP’s Concepts - Briefing
- Class
- Default Access Specifier in a Class
- Access Modifiers
- Constructor
- Destructor
- Assignment Operator
- Copy Constructor
- Default Member Functions in a Class
- Object
Week 12 - OOPS - Part 2
Object-Oriented Programming
- Encapsulation
- Abstraction
- Message Passing
- Dynamic Binding
- Data Hiding
- Inheritance
- Use of Inheritance
- Modes of Inheritance
- Types of Inheritance
- Single Inheritance
- Multiple Inheritance
- Hierarchical Inheritance
- Multiple Inheritance
- Hybrid Inheritance
- Multipath Inheritance
- Diamond Problem
Week 13 - OOPS - Part 3
Object-Oriented Programming
- Polymorphism
- Compile Time Polymorphism
- Function Overloading
- Operator Overloading
- Runtime Polymorphism
- Function Overriding
- Virtual Keyword
- VTable
- Vptr-V Pointer
- Virtual Functions
- Abstract Class
- Pure Virtual Function
- Interface Vs Abstract Class
Week 14 - Constructor and Destructors
Constructor and Destructor
- Virtual Constructor
- Virtual Destructor
- Virtual Copy Constructor
- Shallow Copy Vs Deep Copy
- Default Constructor and Copy Constructor
- Copy Constructor and Assignment Operator
- Dangling Pointer
- Void Pointer and Opaque Pointer
- Null Pointer and Wild Pointer
- Private Constructor
- Private Destructor
- Copy Elision
- Explicit Keyword
Week 15 - Keywords in C++
- Static Keyword in C++
- Static Variables in a Function
- Static Variables in a Class
- Static Members of Class - Static Class Objects
- Static Member Functions in a Class
- Const Keyword in C++
- Mutable Keyword in C++
- Friend Function and Friend Class in C++
- This Pointer in C++
- ‘this’ Pointer
- Types of ‘this’ Pointer
- Delete ‘this’
Week 16 - Type Casting
- Type Casting in C++
- Implicit Cast
- Explicit Cast
- dynamic_cast
- static_cast
- reinterpret_cast
- const_cast
- Member Initializer List in C++
- Use of Initializer Lists
- Member Initializer Lists
Week 17 - Exception Handling
- Exception Handling in C++
- Exception Handling in C++
- Base Class and Derived Class Exception Handling
- Catch Block in C++
- Object Destruction
- Stack Unwinding in C++
- Templates in C++
- Introduction to Templates
- Function Templates
- Class Templates
- Template Specialization
Week 18 - Multi-Threading
- Multithreading in C++
- Posix Threads
- Std::thread
- Inter-Process Communication
- What is IPC?
- Various Methods in IPC
- Smart Pointers
- Use of Smart Pointers
- Types of Smart Pointers
- Auto Pointer
- Unique Pointer
- Shared Pointer
- Weak Pointer
Articles
Popular Articles
prev
next
Latest Articles
prev
next