Embedded Systems Training
InSkills Training (VG-EMBEDDED) is 5 months course to enable engineers develop skills in full breadth of InSkills starting from Advanced C, Data Structures, LPC1313 Micro controller architecture with ARM Cortex M3 processor, Linux internals and C++.
- 56 HoursCourse Duration
- 22 SessionsRecorded & Live
- 4.6/5Learner Rating
- 3000+Enrolled Learners
Course Overview
About Course
InSkills Training (VG-EMBEDDED) is 5 months course to enable engineers develop skills in full breadth of InSkills 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. InSkills Training in Bangalore is targeted towards BE, ME fresher’s and Engineers working in other domains planning to make career in InSkills domain. Course structure is framed keeping in mind the current industry requirements.
InSkills Training divided in to multiple aspects, with training focused on all aspects from InSkills 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.
InSkills 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 InSkill. 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.
InSkills 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 InSkills. 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 InSkill 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 InSkills Training course.
Introduction to InSkills
C Programming on InSkills
Fundamentals of C programming
C Data structures
InSkills interfacing with peripherals
Micro controller Architecture
ARM 32-bit Micro-controller
Hands on projects
Linux Internals
C++ Programming
Detailed Syllabus
6 modules- 1.INTRODUCTION TO C
- 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
- 1.Linked list
- Introduction to single linked list
- Traversing a single linked list
- Inserting an element in SLL
- Deleting a node from SLL
- Question on rearranging an SLL
- Question on moving last node to front of list
- Printing the elements of SLL using recursion
- Recursive program to reverse an SLL
- Doubly linked list
- Circular linked list
- Problems on DLL and CLL
- 2. Stacks and Queues
- Introduction to stacks
- Implementing of stacks using arrays
- Linked list implementation of stack
- Implementing of queue using arrays
- Implementing of queue using Linked list
- Implementation of queue using circular array
- Infix to postfix conversion algorithm
- Postfix evaluation algorithm
- Problems on Stacks and queues
- 3.Trees
- Introduction to tree traversals
- Implementation of traversals and time and space analysis
- Double order traversal
- Triple order traversal
- Number of binary tress possible
- Recursive program to count number of leaves and non leaves
- Recursive program to find the height of tree
- Binary search Tree
- Problems on BST
- 1.Introduction to ARM Cortex m3
- 2.Introduction to LPC 1313
- 3.Memory Architecture
- 4.GPIO Handling
- Configuring General Purpose Input and Output Module
- Switching the Peripherals (on / off)
- Signaling LED’s
- Monitoring the User Keys…etc
- LED Blinking
- 5.Analog Joystick
- 6.Analog touch Sensor
- 7.Analog Encoder
- 8.Seven Segment Display
- 9.LCD
- 10.ADC
- Implementation of Analog to Digital Converter
- Observing LM35(Temperature)
- Analog Voltage Measurement (POT)
- Finding Analog Joystick Positions
- 11.DA
- 12.PWM
- Implementation of Pulse Width Modulation
- Motor Speed Control
- Light Intensity Control
- Buzzer Sound Control
- 13.Timers
- Implementation of Timers
- We Can Implement Task Scheduler
- For Counting Events
- For Encoder Pulses
- 14.Systic timer
- 15.NVIC
- 16.Interrupts
- 17.UART
- Implementation of Universal Asynchronous Receiver and Transmitter
- See the Controller data at live time in another Screen
- Send Instructions to Machine when it is running
- Perform Simplex communication
- 18.I2C
- Implementation of Inter Integrated Circuit
- Transmitting the Data from Master to Outside Slave
- Saving the Live Data in EEPROM
- Handling Real Time Clock
- 19.SPI
- Implementation of Serial Peripheral Interface
- Processor to Processor Communication
- Handling DAC with SPI
- Sending data to MAX7219(4 digit SSD)
- 20.CAN
- Elaboration of Control Area Network
- Real time data Transmission
- Data Security
- Filtering data
- Error Handling
- 21.Cooperative task Scheduler
- Implementation of Co-operative Task Scheduler
- Periodic Execution of tasks
- 22.Real Time Projects
- Project1 : Setting Factory Defaults
- Usage: 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)
- 1. Operating System
- What is an operating system
- Why Linux?
- Linux Kernel Architecture
- 2. The Process
- Process State
- Process Control Block
- Context Switch
- CPU scheduler
- Dispatcher
- 3. Scheduling Algorithms
- FIFO Scheduling Algorithm
- Round robin
- Priority Based Scheduling
- Shortest Job First
- 4. Processes
- Creating Sub process with fork
- Synchronising With the Creator process
- System commands
- The Process Table
- Orphan and Zombie Process
- 5. Threads
- 6. Signals
- 7. The Operating System Interface
- What are System Calls?
- System call Interface
- 8.Inter-Process Communication
- Pipes
- What is Pipe?
- Parent and Child Processes
- Reading closed Pipes
- FIFO
- Accessing a FIFO
- Client/Server Using FIFO
- 9. Process Synchronisation
- Need of Synchronisation
- Introduction to Synchronisation Mechanisms
- Conditions for Synchronisation Mechanisms
- Lock Variables
- TSL
- TSL Question
- Disabling Interrupts
- Turn Variable or Strict Alteration Method
- interested Variable
- Peterson Solution
- Tracing Peterson Solution
- Sleep and Wake
- 10. Introduction to Semaphores
- Counting Semaphores
- Problems on Counting Semaphore
- Binary Semaphore or mutexes
- 11. Threads
- Introduction
- Threads Creation
- Thread Termination
- Thread Synchronization
- Mutexes
- Semaphores
- Reentrancy
- 12.Inter Process Communication
- Message Queues
- msgget
- msgsnd
- msgrcv
- msgctl
- Shared Memory segment
- shmget
- shmat
- shmdt
- shmctl
- Semaphores
- Semaphore Definition
- Linux semaphore Facilities
- Using Semaphore
- 13. Memory Management
- Memory Hierarchy
- Virtual memory
- Fragmentation and Compaction
- Dealing with Fragmentation
- Page Table in Memory
- Memory allocation with Paging
- Sharing the processor and sharing Memory
- Swapping
- 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
- What is Deadlock?
- Why Deadlock is a problem?
- Conditions for Deadlock to Occur
- How to deal with Deadlock
- Deadlock Prevention
- Deadlock Avoidance
- Deadlock Recovery
- Deadlock Handling Mechanisms
- 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 Behaviour
- Facing an Exception
- Catching Multiple Exceptions
- Nesting Exceptions
- Group discussions will be running throughout the course
Session-wise Content
22 sessions · 55h 31m- 1Linux basics and Embedded C-data types3h 14m
- 2Embedded C-operators3h 11m
- 3Embedded C - Types of Variables, Functions and pointers3h 22m
- 4Embedded C - Control statements3h 1m
- 5Embedded C - Arrays and pointers2h 56m
- 6Embedded C - Data Structure3h 6m
- 7Embedded C - Data Structure continued1h 46m
- 8Embedded C - Operations using data-structures2h 15m
- 9Embedded C - Stack operations and Stack data structure2h 37m
- 10Embedded C - Recurssion and Tree data structures2h 24m
- 11Basic Architecture of ARM-LPC13132h 20m
- 12Basics of C-progarm for ARM-LPC1313 using keil microvision 4 software2h 52m
- 13Implementing Key-touch program for ARM-LPC1313 and analysing using debugger2h 47m
- 14Configuring ARM-LPC1313 ADC and analysing using deugger2h 55m
- 15Configuring ARM-LPC1313 ADC Continued ,Basics of UART and configuring ARM-LPC1313 UART2h 25m
- 16Configuring ARM-LPC1313 SPI , Configuring ARM-LPC1313 LCD2h 24m
- 17Configuring ARM-LPC1313 I2C module2h 31m
- 18Configuring ARM-LPC1313 Timers and counters to generate PWM and creating Task schedular , Basics of CAN Protocol1h 30m
- 19CAN Protocol Continued , Embedded project design flow (Ex: light monitoring system in car)1h 38m
- 20Configuring ARM-LPC1313 UART continued ,Bascics Serial pheripheral interface1h 43m
- 21Process synchronization2h 23m
- 22Process synchronization continued , Memory management .2h 11m
Your Instructor
Benefits of eLearning?
- Access to the Instructor - Ask questions to the Instructor who taught the course
- Available 24/7 - VLSIGuru eLearning courses are available when and where you need them
- Learn at Your Pace - VLSIGuru eLearning courses are self-paced, so you can proceed when you're ready
What Our Students Say
Frequently Asked Questions
- Course presentations for all topics
- Session notes
- Lab documents with detailed steps
- User guides
- 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
- Course will cover multiple Hands on Embedded Systems Projects based onRaspberry Pi & PIC Microcontroller. These projects are integrated in to eachsession of course giving practical overview of each aspect learnt.
- Ex: While learning Interface protocols like GPIO, SPI, I2C, we will use Raspbery Piboard to teach how these protocol communication work on board.
- 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)
- 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
- Each session of course is recorded, missed session videos will be shared
- 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
- 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