Each day, our lives become more dependent on 'embedded systems', digital information technology that is embedded in our environment. This includes not only safety-critical applications such as automotive devices and controls, railways, aircraft, aerospace and medical devices, but also communications, 'mobile worlds' and 'e-worlds', the 'smart' home, clothes, factories etc. All of these have wide-ranging impacts on society, including security, privacy and modes of working and living. More than 98% of processors applied today are in embedded systems, and are no longer visible to the customer as 'computers' in the ordinary sense. New processors and methods of processing, sensors, actuators, communications and infrastructures are 'enablers' for this very pervasive computing. They are in a sense ubiquitous, that is, almost invisible to the user and almost omnipresent. As such, they form the basis for a significant economic push.
Practical C
• Why C is fast?
• Role of C in Embedded
• Importance of C
• Concept of compiler, assembler, interpreter, loader and linker
• Execution Environment
• Fundamentals of C
• Pre-Processor concepts
• Conditional Statements
• Loops, Functions
• Arrays, Strings
• Storage Classes
• Structures & Unions
• Enumerated data types
• Bit Operations
• Pointers
• Dynamic Memory Allocation
• File Handling Concepts
• Raw Data Handling
• In-line Assembly Programming
• Command line Arguments
• Data Structures
• Make Utility and Multi file Programming
• Industry Coding Standards
• Object/Executable File Format
• Debugging of programs
• Sorting and Searching Techniques
• Development Tools and Environment
Linux Internals
• Introduction
• Linux Kernel Architecture
• Shell and Services
• System Calls
• Linker and Loader
• Static Library
• Dynamic Library
• Process Management
• Interrupts/Signals
• File Management
• Inter Process Communication
• Pipe, FIFO, Message Queue
• Shared Memory
• Semaphore
• Multi Threading
• Memory Management
• Virtual Memory
• Shell Scripting
• Commands
Networking & TCP/IP Applications
Computer Networking Overview
• History
• Common Technologies
• Jargon Demystified
The Network Stack
• Brief overview of the OSI Stack
• The TCP/IP Stack
• Ethernet
• Wireless Protocols
• WAN Protocols
The IP Protocol
• Routing - the reason for IP
• The IP Packet
• Netmasks
• Private Networks(RFC1918) and NAT
• The reason for TCP - Sessions
• Compare and contrast TCP and UDP
• Packet Structure
• Port addresses and Sockets
• The netstat command
Understanding Important Application Layer Protocols
• Mail
• Web(HTTP/S)
• File Protocols
• VPN technologies
Other Useful tools
• Sniffers
• Port Scanners
• Ethtool
• Wire shark
Socket Programming
• Overview
• Socket Interface
• Client Server Model
• Socket Calls for TCP and UDP
• TCP Networking Applications
• Wireless Networks
PIC Controller
Introduction to Embedded Systems
• Definition for embedded System
• Features of embedded system
• Examples about present applications of embedded systems
• Difference between CISC and RISC processors
• Difference between Von Neumann and Harvard systems
• Difference between processor and controller
• About compilers, cross compilers and IDE (brief information of all these things)
• Difference between C language and embedded C
Basics of Microcontrollers
• Introduction to Microcontrollers
• 8/16/32 Bit Microcontrollers
• General Architecture of Microcontrollers
• Pin Configuration of Microcontrollers (Packages)
Introduction to PIC controller
• Getting Started
• Applications
• Features
• Architecture
• IDE and Programming
• Register Memory Organization
• EEPROM/Flash Organization
• Input/Output
• Timer Modules
• CCP Modules
• Instruction sets
Interfacing with:
• LEDs, LCDs, Keypad, Motors, Sensors
• Other peripherals
Arduino Platform
Working with controllers:
• ATmega328
• ESP8266
Interfacing sensors to above controllers
• Projects based on PIC controller
• Projects on Arduino and nodeMCU
Interview Tips
• Tips to crack interviews
• Introduction to ARM
• Introduction to IoT