Embedded Systems Training  (VG-EMBEDDED) is  16 weeks course   to enable engineers develop skills in full breadth of Embedded systems starting from Advanced C,  Data Structures, LPC1313 Micro  controller architecture with ARM Cortex m3 processor, Linux internals and C++. Training  is offered in both classroom and online training modes. Embedded Systems Training in Bangalore is targeted towards BE, ME fresher’s and Engineers working in other domains planning to make career in Embedded systems domain. Course structure is framed keeping in mind the current industry requirements.

Embedded Systems Training divided in to multiple aspects,   with training focused on all aspects from Embedded Systems basics,   all   industry standard micro controller architectures,  Embedded C programming, standard interface protocols and   multiple   industry   standard projects on  Automotive. All these topics are covered with practical examples based on these boards.

Embedded Systems Training course also covers multiple   hands-on projects based on industry standard Automotive LPC1313 micro controller. Learning starts from developing simple board based projects to complex projects involving   multiple peripherals connected  to make a complex Embedded system. All these projects are done from scratch. Course curriculum also ensures that student does these projects hands-on with trainer guidance as part of dedicated lab sessions.

Embedded Systems Training also includes 30+ detailed assignments (10 in C and Data structures, 10 in Micro controllers and  Peripherals, 10 in Linux Internals). These assignments are prepared by industry experts covering all aspects from Embedded systems. Student gets to work on these assignments with complete guidance from trainers and student learning is evaluated using completion of assignments as the sole criteria. Student is offered with multiple (more than 10+) interview opportunities based on performance in assignments. Completion of all these assignments make a fresher as good as a 3+ year experienced engineer. That’s the quality of assignments!

VLSIGuru Institute has expertise in both VLSI and Embedded system domain. We have trained more than 1000 graduates over last 5 years since training was started in 2012. VLSIGuru Institute is rated among the Best Embedded Training Institutes in Bangalore .

Below is salient features of Embedded Systems Training course.

  • Introduction to Embedded Systems
  • C Programming on Embedded Systems
  • Fundamentals of C programming
  • C Data structures
  • Embedded Systems interfacing with peripherals
  • Micro controller Architecture
  • ARM 32-bit Micro-controller
  • Hands on projects
  • Linux Internals
  • C++ Programming

Find the Detailed syllabus topics for each section under Syllabus Tab.

Register for Embedded Training Institutes in Bangalore

C programming

    • Design Methods
      • Top Down Design
      • Bottom Up Design
    • Programming Languages
      • Low Level language
        • Machine Language
        • Assembly Language
      • High Level Languages
    • Structure of C Program
  2. Elements of C
    • C Character set
      • Alphabets
      • Digits
      • Special Characters
    • Keywords/Reserved Words
    • Data Types
    • Constants
      • Numeric Constants
      • Character Constants
      • String Constants
      • Variables
        • Variable Declaration
        • Variable Initialisation
  3. Operators And Expressions
    • Arithmetic Operators
      • Unary Arithmetic Operators
      • Binary Arithmetic Operators
    • Integer Arithmetic
    • Floating Point Arithmetic
    • Relational Operators
    • Logical Operators
      • AND (&&) Operator
      • OR (||) Operator
      • NOT (!) Operator
    • Sizeof Operator
  4. Control Statements
    • If  else
      • Nesting of If else Ladder
      • Else if Ladder
    • Loops
      • While Loop
      • Do While loop
      • For loop
      • Nesting of Loops
      • Infinite Loops
    • Break statement
    • Continue Statement
    • Switch Case
  5. Functions
    • Advantages of Using Functions
    • Library Functions
    • User defined functions
    • Function Definition
    • Function Call
    • Return Statement
    • Function Arguments
    • Types Of Functions
      • Function with no Arguments and no Return type
      • Function with no Arguments and Return type
      • Function with Arguments and no Return type
      • Function with  Arguments and  Return type
    • Recursion
      • Advantages and Disadvantages of recursion
      • Local variables In recursion
  6. Arrays
    • One dimensional Arrays
      • Declaration Of 1-D Array
      • Accessing 1-D Array
      • Initialisation of 1-D Array
      • 1-D array and Functions
    • Two dimensional array
      • Declaration and Accessing of 2-D Array
      • Initialisation of 2-D arrays
    • Introduction to Strings
  7. Pointers
    • About Memory Organisation
    • Address Operator
    • Pointer Variables
    • Pointer Addresses
    • Pointer arithmetic’s
    • Pointer to Pointer
    • Pointer And 1-D array
    • Pointer and 2-d array
    • Pointers and Functions
    • Function returning Pointer
    • Array of pointers
    • Void Pointers
    • Dynamic Memory Allocation
      • malloc()
      • calloc()
      • realloc()
      • free()
  8. Strings
    • String constants and String Variables
    • String Library Functions
      • strlen()
      • strcpy()
      • strcmp()
      • strcat()
    • String pointers
    • Array of strings
  9. Structures and Unions
    • Defining a structure
    • Declaring Structure variables
      • With structure Definition
      • Using Structure Tag
    • Initialisation of Structure Variables
    • Accessing of Members of structures
    • Storage of Structures in Memory
    • Structure Bit-Fields
    • Sizeof structures
    • Array of Structures
    • Arrays within Structures
    • Pointers to Structures
    • Pointers Within Structures
    • Structures and functions
    • Self Referential structures
  10. C Preprocessor
    • #define
    • Macros and Macros With Arguments
    • Nesting in Macros
    • Problems with Macros
    • Macros vs Functions
    • Conditional Compilation
    • Predefined Macros
    • #pragma directive
  11. Operation on Bits
    • Bitwise AND(&&)
    • Bitwise OR(|)
    • Bitwise XOR(^)
    • Bitwise Right Shift(>>)
    • Bitwise Left Shift(<<)
    • One’s Compliment
    • Masking
    • Bit fields
  12. Storage Classes
    • auto
    • register
    • static
    • extern

C Data Structures

  1. Linked list

1.1 Introduction to single linked list

1.2 Traversing a single linked list

1.3 Inserting an element in SLL

1.4 Deleting a node from SLL

1.5 Question on rearranging an SLL

1.6 Question on moving last node to front of list

1.7 Printing the elements of SLL using recursion

1.8 Recursive program to reverse an SLL

1.9 Doubly linked list

1.10 Circular linked list

1.11 Problems on DLL and CLL

  1. Stacks and Queues

2.1 Introduction to stacks

2.2 Implementing of stacks using arrays

2.3 Linked list implementation of stack

2.4 Implementing of queue using arrays

2.5 Implementing of queue using Linked list

2.6 Implementation of queue using circular array

2.7 Infix to postfix conversion algorithm

2.8 Postfix evaluation algorithm

2.9 Problems on Stacks and queues

  1. Trees

3.1 Introduction to tree traversals

3.2 Implementation of traversals and time and space analysis

3.3 Double order traversal

3.4 Triple order traversal

3.5 Number of binary tress possible

3.6 Recursive program to count number of leaves and non leaves

3.7 Recursive program to find the height of tree

3.8 Binary search Tree

3.9 Problems on BST

MicroProcessor and Micro-Controllers

1.Introduction to ARM Cortex m3

2.Introduction to LPC 1313

3. Memory Architecture

4. GPIO Handling

4.1 Configuring General Purpose Input and Output Module

4.2 Switching the Peripherals (on / off)

4.3 Signaling LED’s

4.4 Monitoring the User Keys…etc

4.5 LED Blinking

5. Analog Joystick

6. Analog touch Sensor

7. Analog Encoder

8. Seven Segment Display



10.1 Implementation of Analog to Digital Converter

10.2 Observing LM35(Temperature)

10.3 Analog Voltage Measurement (POT)

10.4 Finding Analog Joystick Positions


12. PWM

12.1 Implementation of Pulse Width Modulation

12.2 Motor Speed Control

12.3 Light Intensity Control

12.4 Buzzer Sound Control


13.1 Implementation of Timers

13.2 We Can Implement Task Schedular

13.3 For Counting Events

13.4 For Encoder Pulses

14.Systic timer




17.1 Implementation of Universal Asynchronous Receiver and Transmitter

17.2 Can able to see the Controller data at live time in  another Screen

17.3 We can able to send Instructions to Machine when it is running

17.4 Can perform Simplex communication

18. I2c

18.1Implementation of Inter Integrated Circuit

18.2 Transmitting the Data from Master to Outside Slave

18.3 Saving the Live Data in EEPROM

18.4 Handling Real Time Clock

19. SPI

19.1 Implementation of Serial Peripheral Interface

19.2 Processor to Processor Communication

19.3 Handling DAC with SPI

19.4 Sending data to MAX7219(4digit SSD)


20.1 Elaboration of Control Area Network

20.2 Real time data Transmission

20.3 Data Security

20.4Filtering data

20.5 Error Handling

21.Cooperative task Schedular

21.1Implementation of Co-operative Task Schedular

21.2 Periodic Execution of tasks

22.Real Time Projects

Project1–>Setting Factory Defaults

Usage: You can able to fix vehicles speed limit, rpm, engine Temperature etc.

Project2—>Smart Home Automation

Usage: You can able to Set any electronic device when to ON and When to OFF or Automatically sensing etc.

23.Interview Point of Questions

NOTE:All Implementations are from Scratch(by seeing controller User Manual)




Linux Internals

1. Operating System

1.1 What is an operating system

1.2 Why Linux?

1.3 Linux Kernel Architecture

2. The Process

2.1 Process State

2.2 Process Control Block

2.3 Context Switch

2.4 CPU scheduler

2.5 Dispatcher

3. Scheduling Algorithms

3.1  FIFO Scheduling Algorithm

3.2  Round robin

3.3  Priority Based Scheduling

3.4  Shortest Job First

4.  Processes

4.1  Creating Subprocess with fork

4.2  Synchronizing With the Creator process

4.3 System commands

4.4 The Process Table

4.5 Orphan and Zombie Process

5. Threads

6. Signals

7. The Operating System Interface

7.1 What are System Calls?

7.2  Systemcall Interface

8.Inter-Process Communication

8.1 Pipes

What is Pipe?

Parent and Child Processes

Reading closed Pipes


Accessing a FIFO

Client/Server Using FIFOS

9. Process Synchronization

9.1  Need of Synchronization

9.2 Introduction to Synchronization Mechanisms

9.3 Conditions for Synchronization Mechanisms

9.4 Lock Variables

9.5 TSL

9.6 TSL Question

9.7 Disabling Interrupts

9.8 Turn Variable or Strict Alteration Method

9.9 nterested Variable

9.10 Peterson Solution

9.11 Tracing Peterson Solution

9.12  Sleep and Wake

10. Introduction to Semaphores

10.1  Counting Semaphores

10.2 Problems on Counting Semaphore

10.3 Binary Semaphore or mutexes

11. Threads


Threads Creation

Thread Termination

Thread Synchronization




12.Inter Process Communication

12.1 Message Queues





12.2 Shared Memory segment





12.3 Semaphores

Semaphore Definition

Linux semaphore Facilities

Using Semaphore

13. Memory Management

13.1 Memory Hierarchy

13.2 Virtual memory

13.3 Fragmentation and Compaction

13.4  Dealing with Fragmentation

13.5  page Table in Memory

13.6  Memory allocation with Paging

13.7  Sharing the processor and sharing Memory

13.8 Swapping

13.9 Page Tables

Levels of page Table

Page Table Hierarchy

Page Tables problem

Page Replacement

Page Replacement Algorithms

Virtual to Physical address translation

Two level Translation

Three level Translation

14. DeadLocks

14.1 What is Deadlock?

14.2 Why Deadlock is a problem?

14.3 Conditions for Deadlock to Occur

14.4 How to deal with Deadlock

14.5  Deadlock Prevention

14.6  Deadlock Avoidance

14.7  Deadlock Recovery

14.8 Deadlock Handling Mechanisms

14.9  Bankers Algorithm

Resource allocation Graph


1. Introduction

  • Why C++
  • Difference Between C and C ++
  • Procedural Oriented Programming Language
  • Object Oriented Programming Language

2.What is C++

  • Features of C++
    • Data Encapsulation
    • Data Abstraction
    • Polymorphism
    • Inheritance

3.  Basic Input Output Statements in C++

  • The standard output stream(cout)
    • C++ program Structure
    • Compiling and Executing C++ Program
  • Namespaces
  • New Datatypes in C++

4. Scope Resolution Operator

  • Syntax of Scope resolution operator
  • References
    • C++ References vs Pointers
    • C++ pointers vs References

5. Function Overloading

  • What is function Overloading
  • Default Values in parameters
  • Argument passed by value and reference
  • Inline functions
    • What is Inline function?
    • Reason for the need of Inline Function
    • Difference between Inline functions and Macros
    • Advantages of Inline functions

6. Class

  • What is Class?
  • Features of Class?
  • How to Write a Class?
    • Access Specifiers
  • Creation of Objects
  • Data Encapsulation Example
  • Malloc and New

7. Friend Classes

  • Friend functions
  • Friend Classes
  • Class Member Functions and Classes as Friends
  • Friend Declarations

8. Constructors

  • Types of Constructors
    • Default Constructor
    • Parameterized Constructor

Copy Constructor

  •   Destructor

9. Operator Overloading

  • Operator overloading Restrictions
  • Operator overloading of Different Unary and Binary Operators

10. Inheritance

  • Inheritances Between classes
  • Types of Inheritance
    • Single Inheritance
    • Multiple Inheritance
    • Multi Level Inheritance
    • Hybrid Inheritance
    • Hierarchical Inheritance

11. Polymorphism

  • Pointers to Base class
  • Abstract base classes

12. Templates

  • Function Templates
  • Class Templates
  • Advantages of templates

13. Exception Handling

  • Exceptional Behavior
  • Facing an Exception
  • Catching Multiple Exceptions
  • Nesting Exceptions

Moderated Group Discussion

  • Group discussions will be running throughout the course
Course Embedded Systems Training
Duration 16 weeks
Next Batch 12/Oct 2019
Demo Session 12/Oct 2019(9:00AM – 12:30PM IST)
Registration 13/Oct
Schedule Both Saturday & Sunday(9:00AM – 12:30PM IST)
Course repeats Every 8 Weeks(2 Months)
Fee(All Inclusive) INR 29000 (Classroom) INR 35000 (Online Training)
Mode of training Classroom training at VLSIGuru Institute(Horamavu)
Online training using live training sessions
Certificate Issued based on 50% assignment completion as criteria
Assignments 20
Batch Size 20
Placement support Interview opportunity in at least 6 companies

What are the Course Prerequisites?

  • Exposure to C Language programming
  • Exposure to any processor architecture
  • Exposure to some standard interface protocols like I2C, SPI, GPIO etc
  • Above all is good to know, however trainer will start from basic concepts without any assumptions on student exposure to above topics

Does course cover practical aspects of Embedded Systems?

  • Course will cover multiple Hands on Embedded Systems Projects based on
    Raspberry Pi & PIC Microcontroller. These projects are integrated in to each
    session of course giving practical overview of each aspect learnt.
  • Ex: While learning Interface protocols like GPIO, SPI, I2C, we will use Raspbery Pi
    board to teach how these protocol communication work on board.

Is course targeted towards industry requirements? Does course help in getting jobs?

  • Course has been framed by industry veteran(Girish Kumar) with 16+ years of industry experience
  • Course will be completely executed by Girish Kumar(Previously manager with Cisco Systems)

Do I have option to attend course online?

  • Embedded systems training course is offered both classroom and through online
  • Online sessions will be done using gotomeeting.com
  • Student has option to attend a demo session(for both class room & online) before registering for course

What if I miss few sessions during course?

  • Each session of course is recorded, missed session videos will be shared

Course has started few weeks back, can I still join the course in between?

  • Yes, You will have option to view the recorded videos of course for the sessions missed
  • You will have option to repeat the course any time in next 1 year

Do you offer support after course completion?

  • Yes, Course fee also includes support for doubt clarification sessions even after course completion
  • Student has option to mail queries or clarify doubts in person
  • Embedded Systems overview documents
  • Standard interface protocol specifications for SPI, I2C, GPIO
  • ARM, 8086, PIC architecture documents
  • Embedded C programming document
  • Course Checklist
  • Course Assignments
error: Content is protected !!