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 |
Course videos
Unit 1 | SES1:Linux basics and Embedded C-data types | 03:13:13 | |
Unit 2 | SES2:Embedded C-operators | 03:10:59 | |
Unit 3 | SES3 :Embedded C - Types of Variables, Functions and pointers | 03:21:24 | |
Unit 4 | SES4 :Embedded C - Control statements | 03:00:56 | |
Unit 5 | SES5 :Embedded C - Arrays and pointers | 02:55:23 | |
Unit 6 | SES6 :Embedded C - Data Structure | 03:05:28 | |
Unit 7 | SES7 :Embedded C - Data Structure continued | 01:45:57 | |
Unit 8 | SES8 :Embedded C - Operations using data-structures | 02:14:11 | |
Unit 9 | SES9 :Embedded C - Stack operations and Stack data structure | 02:36:31 | |
Unit 10 | SES10 :Embedded C - Recurssion and Tree data structures | 02:24:03 | |
Unit 11 | SES1:Basic Architecture of ARM-LPC1313 | 02:20:22 | |
Unit 12 | SES2:Basics of C-progarm for ARM-LPC1313 using keil microvision 4 software | 02:51:26 | |
Unit 13 | SES3:Implementing Key-touch program for ARM-LPC1313 and analysing using debugger | 02:45:53 | |
Unit 14 | SES4:Configuring ARM-LPC1313 ADC and analysing using deugger | 02:54:31 | |
Unit 15 | SES5: Configuring ARM-LPC1313 ADC Continued ,Basics of UART and configuring ARM-LPC1313 UART | 02:24:59 | |
Unit 16 | SES6 :Configuring ARM-LPC1313 SPI , Configuring ARM-LPC1313 LCD | 02:23:23 | |
Unit 17 | SES7: Configuring ARM-LPC1313 I2C module | 02:31:15 | |
Unit 18 | SES8 :Configuring ARM-LPC1313 Timers and counters to generate PWM and creating Task schedular , Basics of CAN Protocol | 01:29:36 | |
Unit 19 | SES9: CAN Protocol Continued , Embedded project design flow (Ex: light monitoring system in car) | 01:38:16 | |
Unit 20 | SES10:Configuring ARM-LPC1313 UART continued ,Bascics Serial pheripheral interface | 01:42:29 | |
Unit 21 | SES11:Process synchronization | 02:23:01 | |
Unit 22 | SES12 :Process synchronization continued , Memory management | 02:10:58 |
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