Embedded Programming Essentials

BY
Skill Lync

Mode

Online

Duration

3 Months

Fees

₹ 40000

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 -

HeadAmount
Programme feesRs. 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

  • 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

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

Trending Courses

Popular Courses

Popular Platforms

Learn more about the Courses

Download the Careers360 App on your Android phone

Regular exam updates, QnA, Predictors, College Applications & E-books now on your Mobile

Careers360 App
150M+ Students
30,000+ Colleges
500+ Exams
1500+ E-books