VECTOR Institute offers 24-Week Advanced Course in Embedded Systems. This course is designed to offer application oriented training & real time exposure to students, there by provides for bridging the gap between industry’s requirements and students’ academic skill set. By pursuing the Institute's Program in Embedded Systems the students gain ready acceptance in the market.
VECTOR Institute's Advanced Course in Embedded systems serves the interests of practicing embedded software engineers as well as those engineers planning to enter the embedded field. The course content of this Program is approved by the industry and it,
- Presents practical lessons and techniques for use in designing, implementing, integrating, and testing software for modern embedded systems
- Describes what an embedded system is, what makes them different, and what embedded systems designers need to know to develop embedded systems
- Provides the student with a life cycle view for designing multi-objective, multi-discipline embedded systems
- Imparts a solid understanding of the role of embedded systems and embedded systems design and development in modern day's technology-enabled society
What the students gain through the course?
So, the students completing the Advanced Course in Embedded systems will be equipped with the needful technical skills concerning
- Evaluating
- Developing
- Implementing
- Integrating
Embedded systems, and will understand the role of embedded systems in the context of complex engineering systems.
VECTOR Institute’s Advanced Course in Embedded systems aims at imparting technical skills to the students right from the basics to advanced level, such that, by the end of the Program the student is developed as the finished product, ready to join the industry.
Duration :6 Months
Eligibility : B.E/B.Tech, M.Tech, M.sc (electronics branches)
Admission Through All India Entrance test conducted around 20 centers
ADVANCED COURSE IN EMBEDDED SYSTEMS
C
Why C in Embedded
ANSI Standard
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 Inter 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 Protocol
(RTC:800583,DS1307
ADC:PCF8591,
DS1621)
- SPI Protocols
(ADC:MCP3001)
- IR Communications (Phillips RC5 Protocol)
- ZIGBEE, GSM, GPS, USB, MMC & SD
- Ethernet MAC, CAN Protocol
Mini Project 4
Real Time Operating System
VxWorks RTOS
- Introduction to Tornado
- Wind Kernel and POSIX features
- Tornado Development Tools
- Task Management
- Priority based, Round Robin based
- Inter Task Communication and Synchronization
- Dead Lock Handling, Watch-Dog Timer
- Semaphores & Message queue
- Pipes & I/O Drivers
- Priority Inversion and inheritance
- Socket Programming
- B.S.P Creation
- Kernel configuration, Build and Load
- Application loading through Target Server
- Installation and Implementation
- Porting of VxWorks on Intel-X86 board
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
Additional Modules
- Symbian
- WinCE
- Windows Mobile
- Linux Device Drivers
- VHDL
ASSIGNMENTS
During the course of the Program in Embedded Systems, the students have to submit a number of assignments. These assignments relate to the sessions dealt with in the classroom. The faculty is entrusted with not only giving the relevant assignments to the students, but also evaluating the assignments submitted by the students, and giving the needful corrections, clarifications and suggestions of the same.
Proper weight-age in terms of marks is given to these assignments.
- Reinforcing what has been learnt in the classroom
- Gauging the understanding of the student of a concept or application
- Providing enough room for creativity in implementation
- Creating an avenue for getting more knowledge of the related concepts
TESTS
VECTOR Institute conducts tests periodically, which are dependent on the sessions attended and practicals completed by the students. Tests are a part of the course process, and are of two types - written and practical.
The written tests are held as per the time-table, and the practicals are conducted once the student had enough exposure to scripting programs relating to Embedded Systems. The tests administered at VECTOR Institute are of high standard, and basically meant to gauge the students’ understanding of the embedded technology, and their readiness to take up a job in the relevant field. |