Course Name:Embedded System Training
Course Duration:6 months
Course Fees: to know course fees contact 9864032319 or nail us at datacomes@gmail.com
Syllabus:
Fundamentals of C
> Datatypes and Constants
> Simple & Formatted I/O
> Memory Usage
> Operators & Expressions
> Flow Control
> Loops
Functions
> Role of Functions
> Pass by value / reference
> Returning values from Functions
> Recursive Functions
> Call Back Functions
> Implications on Stack
> Library Vs User defined function
> Passing variable number of arguments
Arrays
> Defining, initializing and using arrays
> Multi Dimensional Arrays
> Arrays of Characters and Strings
> Arrays and Pointers
> Passing arrays to functions
> String handling with and without library functions
Storage Classes
> Scope and Life
> Automatic, Static, External, Register
> Memory(CPU / RAM)
Structures & Unions
> What structures are for
> Declaration, initialization
> Accessing like objects
> Nested Structures
> Array of Structures
> Passing structures through functions
> Allocation of memory and holes
> Structure Comparison
> Structure bit operation
> Typedef for portability
> Unions
> Overlapping members
Enumerated data types
> Enum, Indexing, enum Vs #define
Bit Operations
> AND ( & ), OR ( | ), XOR ( ^ )
> Compliment ( ~ )
> Left-Shift ( << ), Right Shift ( >> )
> Masking, Setting, Clearing and Testing of Bit / Bits
Pointers
> The purpose of pointers
> Defining pointers
> The & and * operators
> Pointer Assignment
> Pointer Arithmetic
> Multiple indirections
> Advanced pointer types
> Generic and Null Pointer
> Function Pointers
> Pointers to Arrays and Strings
> Array of Pointers
> Pointers to Structure and Union
> Pointers to Dynamic memory
> Far, Near and Huge Pointers
> Pointer Type Casting
Dynamic Memory Allocation
> Malloc(), Calloc(), Realloc(), Free()
> Farmalloc(), Farcalloc()
File Handling Concepts
> Concept of a FILE data type
> Inode, FILE structure
> File pointer
> Character handling routines
> Formatted Data Routines
> Raw data Routines
> Random Access to FILE
Command line Arguments
> Argc, argv
> Variable Inputs to the main
Compiler in Practical
> Preprocessor Directives
> Compiler, Assembler, Linker
> Conditional Compilation
> Multiple File Compilation
> Code Optimization techniques
> Volatile, #pragma
Data Structures
> Linear & non-linear
> Homogeneous & non-homogeneous
> Static & Dynamic
> Single, Double & Circular Linked Lists
> Stacks & Queues
> Binary Trees
Sorting and Searching Techniques
> Insertion, Selection, Bubble, Merge, Quick, Heap
Concepts and Real-time Exposure
> Development Tools and Environment
> Make Utility
> MISRA Coding Standards
> Object / Executable File Format
> Debugger
Mini Project 1
Linux Internals
Introduction
> Kernel Architecture
> Application
> Shell and Services
> System Calls
> Error Handling
Library
> Linker and Loader
> Static Dynamic Library
Process Management
> Process Control Block
> Process Creation and Exit
> Process Scheduling Policies
> Process Limits
> Process Priorities
> Foreground & Background Processes
> Race Condition
> Synchronization
> Copy-on-write
> Process time values
> Daemon Process
Interrupts
> Process Interrupt
> Raise of Signal
> Catching signal
> Signal action
File Management
> Files and File Attributes
> File Descriptor
> File I/O
> Duplicating File & File Descriptor
> File Control operations
> File types
> Protection
> Inode
Inter Process Communication & Synchronization
> Pipe
> Fifo
> Message Queue
> Shared Memory
> Client – Server properties
> Semaphore
Threads
> Creation
> Termination
> Synchronization
> Attributes
Memory Management
> Paging
> Reentrancy
> Segmentation
> Virtual Memory
> Memory Protection
> Memory Sharing
Shell Script
> Types of Shell
> Shell Variables
> Control Statements
> Looping
> Command Line Arguments
Mini Project 2
Networking and TCP/IP Applications
> Network Structure
> Classifications and Topologies
> Switching and Routing
> Gateway, repeater, Hub, Bridge
> OSI & TCP/IP Protocol Layers
> Physical & Logical Addresses
> ARP & RARP
> nternet Protocol
> Routing Protocol and IP Datagrams
> Error and Control Messages (ICMP) UDP
> Transfer Control Protocol
> TCP Networking Applications
> (FTP, TFTP,TELNET,DNS,DHCP,SNTP,POP3,IMAP,SNMP)
Socket Programming
> Overview
> Concurrent Processing
> Programming Interface
> Socket Interface
> Client / Server Design
> Concurrent Connection-Oriented Servers
> Socket Calls for TCP and UDP
> Single Process
> Concurrent Servers
> Remote Procedure Call
> Implementation of TFTP / SMTP
Mini Project 3
Microcontroller Intel 8051
Introduction
> Microprocessor vs Microcontroller
> CISC vs RISC
Overview of Architecture of 8051
> Processor Core and Functional Block Diagram
> Description of memory organization
> Overview of ALL SFR’s and their basic functionality
Low-level Programming Concepts
> Addressing Modes
> Instruction Set and Assembly Language (ALP)
> Developing, Building and Debugging ALP’s
Middle Level Programming Concepts
> Cross Compiler
> Embedded C Implementation, prog. * Debugging
> Differences from ASNSI-C
> Memory Models
> Library reference
> Use of #pragma directive
> Functions, Parameter passing and return types
On-Chip Peripherals
> Ports: Input/output
> Timers & Counters
> Interrupts, UART
External Interfaces
> LEDS
> Switches (Momentary type, Toggle type)
> Seven Segment Display: (Normal mode, BCD mode,
> Internal Multiplexing & External Multiplexing)
> LCD (4bit, 8bit, Busy Flag, Custom Character Generation)
> Keypad Matrix
Protocols
> I2C (EEPROM), SPI (EEPROM)
Keil’s RTX51 Tiny / Pumpkin’s Salvo
> Overview
> Specifications
> Single-Tasking Programs
> Multi-Tasking Programs
> RTX51 Tiny Programs
> Theory of Operation
> Timer Tick Interrupt
> Task Management & Scheduler Events
> Round-Robin & Co-operative Task Switching
> Idle Task
> Stack Management
> Function Reference
> Porting on to H/W
> Implementation Examples
Selective Discussion during Project Development
> A/D & D/A Converter
> Stepper motor, DC Motor
> I2C (RTC:800583,DS1307 ADC:PCF8591, DS1621)
> SPI
(ADC:MCP3001)
> IR Communications (Phillips RC5 Protocol)
> ZIGBEE, GSM, GPS, USB, MMC & SD
> Ethernet MAC, CAN Protocol
Mini Project 4
Real Time Operating System
RTOS RT-LINUX
> RT- Linux
> Different types of Operating systems
> RTOS basics – Linux as Real Time
> RTOS Introduction (Hard Real Time, Soft Real time)
> Latency in Linux, Priority Inheritance
> Linux 2.6 features for realtime
> 2.6 Kernel Compilation
> RT LINUX patching
> Linux RTPREEMPT Patches
> Configuring the Kernel with RT-PATCH
> Implemantation of Real Time application
> Linux real-time API
> Measuring and camparing scheduling latency in standard Linux and in RT-Linux with the latest RT patches
> Porting RT-Linux on ARM and application development
Object Oriented Programming with C++
> Overview
> Characteristics
> Function Overloading
> Scope Resolution Operator
> Classes in C++
> Access Specifiers
> Constructor, Destructor
> Static members, Functions
> Friend Classes, Friend Functions
> Operator Overloading
> Data Conversions
> Inheritance, Polymorphism
> Exception Handling, Templates
> Input and Output Streams
Final Project
Optional Modules
> ARM
Additional Modules (Will be dealt based on MNCs Requirement)
> Android
> Linux Devices Drivers
> Embedded Linux
> Windows Mobile