Careers in embedded systems technology till recently
had very few takers. Today however, a growing number of young professionals
are hoping to master a technology that promises to become one of the most
profitable businesses within the global marketplace. It is anticipated
that the need for professionals in this field will rise tremendously,
as the next generation of hardware and software leverages on embedded
technology to become more manageable, adaptable, and flexible. As telecom
and embedded technologies are still in the evolving stage, this implies
that almost the entire embedded sector is in dire need of skilled manpower.
Courses are now being introduced in order to meet this requirement.
We the JobsIndya and IKSEN beleive that the future of technology
depends on enabling the industry to move forward by equipping the professionals
in advanced technologies to meet the challenges of the future. IKSEN
has established itself for presenting timely and important new developments
in the Embedded Systems Design and Development. We provide an atmosphere
conducive to freely expressing ideas, breaking the rules and freeing people
to design their own products in future. .
Target Audience:
B.E./ B.Tech/ M.E./ M.Sc. in Electronics/ Electronics and Telecommunication/
Electrical/ Computer Sciences/ IT/ Instrumentation/ M.C.A or equivalent.
Students who have appeared for final exams of above mentioned courses
may also apply.
Selection Procedures
Stage I : Entrance test consist of a online examination test consisting
of Objective questions based on C and Assembly language, Aptitude &
Numerical Ability, Logic and reasoning and Current Technological trends
etc.
Stage II : Shall consist of Technical / Personal interview and review
of scholastic records leading to confirmation of admission.
Prerequisites : Basic Knowledge of
OS and Progamming also Good Communication Skill.
Batch Capacity : 20 Students /Batch.
Opportunity : Mainly following industry segments requires Embedded System
like Telecom/Mobile Communication, Wireless, Industrial Engineering, Consumer
Electronics, Aerospace, Military, Automotive, Medical etc
Special Offer :
In addition to deliver the course effectively , JOBSINDYA and IKSEN
also shapes the students into professionals easily recruitable into the
industry. We feel our responsibility to guide and help the student getting
into the industry.
If you use our placement service, we do what it takes to rocket you
to the top. We are so confident of our ability that as a company, we offer
unparallel value for money plus an iron clad placement guarantee that
is difficult to beat.
For this purpose,JOBS INDYA has a well established Placement Cell to
facilitate students to get into industry. The Placement cell coordinates
the task of organizing the campus interviews for our students.
Our Team not only brings the companies to the campus but also enables
the students to go through the campus recruitment process. Keeping in
mind the company requirement , we not only supplement the technical contents
of the course but also conduct soft skill classes for the students for
an overall personality development by which they improve on their communication
skills, presentation skills, Aptitude, Interview techniques, group discussion
skills and many other aspects of their personality.
Syllabus For Embedded System Design
Master the fundamental concepts of real-time embedded system programming
and jumpstart your embedded projects with effective design and implementation
practices. This course bridges the gap between higher-level abstract modeling
concepts and the lower-level programming aspects of embedded systems development.
You gain a solid understanding of real-time embedded systems with detailed
practical examples and industry wisdom on key concepts, design processes,
and the available tools and methods.
We have divided the course in the following major chronological categories
:
C/C++ for Embedded Systems:
C/C++ as a computer language is well known but the usage of the same in
Embedded system is little or misunderstood by most of the programmers.
This module covers as to how efficiently should these languages be used
while developing an Embedded System. Programming considerations like memory
usage, runtime library usage, interrupt service routines. Booting process,
memory mapping/address space, external registers/system registers, cache
management etc will be covered in detail. In this module students will
be encouraged to revisit their C/C++ and operating system concepts as
we believe this is the basic component of the course. More Details
Operating System Fundamentals:
The course begins with the fundamental elements of an Operating System
multitasking embedded application software design and development. Processor
and operating system concepts relevant to multitasking systems are examined,
with focus on preemptive task scheduling, intertask communication and
synchronization.
The module continues with a detailed survey of popular operating system
kernel services, giving many application examples. Topics include timer
services, dynamic memory allocation schemes, network communication programming
interfaces and device driver supervisors. Multitasking code development
is discussed and example programs are reviewed and debugged. Practical
experience is gained during student work exercises.
More Details
Embedded Systems:
The focus of this course is really the analysis of the design of embedded
systems. Students will work individually to analyze and understand the
design and operation of an existing microprocessor-based computer system.
Students will not design hardware in this course, but will analyze hardware,
and design and implement software to facilitate this analysis. Laboratory
work will consist of multi-week projects that involve utilizing a digital
oscilloscope and logic analyzer to investigate the details of embedded
systems behavior, and the interaction of hardware and software.
This will cover the following sections:
Session 1: Basics of developing an
embedded system
This section will cover the basic concepts involved in the design and
development of the embedded system and will be a brief walkthrough of
the overall course structure This will cover the various technical details
associated with the usage and development of various emebedded system
tools including software and hardware.
Session 2: CPU Architectures &
Assembly Language Programming for 89c51/ ARM and its derivatives
In this course, we will investigate the; microcontroller with a comparative
analysis of some popular forms; memory devices, interface and other support
circuitry; assembly language and machine language programming; microcontroller
use in dedicated applications. The course includes a laboratory devoted
to software and hardware design. This section will mostly deal with the
microcontroller architecture which includes 89c51/ARM(its derivatives).
Following are some of the details pertaining to this section:
Basic microcontroller architecture, the bus structure and memory map
Instruction set of the 89c51/ARM(and its derivatives) and writing simple
programs
Hardware Interfacing - 8255,8279, ADC/DAC,LCD Display interface etc.
Subroutines, passing parameters and relocatable program modules
Design of memory systems for the microcontroller
Input-output structure for the microcontroller: Isolated and Memory-mapped
I/O
More Details
Session 3: Introduction of RealTime
Operating System
RTOS Includes :- RTLinux, QNX, uC/OS This course introduces the principles
shared by many real-time operating systems, and their use in the development
of embedded multitasking application software. The course begins with
the fundamental elements of real-time multitasking embedded application
software design and development.
The course continues with a detailed survey of popular operating system
kernel services, giving many application examples. This module will cover
the following details:
Difference between and regular OS and RTOS
Various RTOS Scheduler Algorithm ( Rate monotonic, Deadline monotonic)
Priority, Priority Inversion
Task, Threads, Processes
Memory Management
Understanding of commercially available RTOS (QNX, ThreadX, VXWorks, Nucleus,
WinCE) comparisons and various parameters to evaluate an RTOS
Session 4: Introduction to Board Support
Packages
This session examines the requirements and characteristics of a Board
Support Package (BSP) and Device Drivers for embedded applications. It
deals with issues important to engineers who need to write a BSP for custom
hardware. It is also useful for application software engineers who want
to have a better understanding of underlying firmware and how it relates
to their application. Rather than focusing on the BSP requirements for
a specific real-time operating system (RTOS), this course examines features
that are shared by most BSPs. In addition, real world RTOS examples are
used to demonstrate how certain problems are solved by different operating
systems.
More Details
Session 5: Device Driver Designing
for Embedded Systems
This course examines features and design similarities that are shared
by device drivers in a variety of environments. The module begins with
a presentation of the basic structure of device drivers and device I/O
supervisors. This is followed by an in-depth discussion of fundamental
issues in the design of device driver software or firmware, such as mutual
exclusion, and synchronous vs. asynchronous execution. High-level design
of device drivers is presented with emphasis on tailoring the structure
of the driver to the characteristics of specific hardware devices and
the nature of the data they carry. Interrupts, exception handling and
DMA are discussed in detail.
More Details
Session 6: Real Time Kernel Based
Multitasking
This session covers details of "kernel" as a major firmware
component of an embedded application. Different execution architectures
are discussed and advantages of using kernel are emphasized .We then introduce
concepts of task & task states and review problems of multitasking
and ways to resolve these. The mechanisms of inter-task communication/synchronization
and resource sharing are then introduced.
Session 7: RTOS Scheduling
This session covers how to meet the external world response time requirements
under the worst-case situation of, sporadic and a-periodic events. We
then briefly discuss scheduling theory mathematically, which guarantees
determinacy for the time responses to simultaneous external events. This
covers the various aspects of customizing the scheduler as per your requirements
.
Session 8: Real Time Operating System
Design Details
This module covers the activities of high-level design of real-time and
embedded systems software that's to be developed using a real-time operating
system (RTOS).The class begins with a quick examination of some fundamental
issues in real-time multitasking embedded application software design
and development, and briefly reviews several modern techniques for real-time
and embedded software requirements specification. It then quickly focuses
on how to structure a software system that must execute within strict
deadline and resource limits. Emphasis is placed on multitasking and timing
behaviors, rather than object orientation.
More Details
Session 9: Real Time Operating System
- Development Tools
This session covers the techniques required to be followed in debugging
embedded, multitasking, real time, Distributed application, defining code
Segment, Data Segment (Initiated /Un-initialized Data, Stack Space, Dynamics
Memory Allocation) Use of Cross Compiler, Linker, Locator, Loader, Code
Coverage Analyzer are then discussed.
More Details
Session 10: Real Time Operating System
- Case Study
This module goes into the details of an RTOS related to its design, implementation
and deployment. Based on the above knowledge gathered, students will be
given an opportunity to work with RTOS's like uC/OS/RTLinux/QNX and will
be required to write sample program and will be given an exposure to real-life
implementation by allowing them to perform various assignments in this
area.
More Details
Session 11: Digital Signal Processing(Optional)
In this module we explain DSP including its advantages, applications
and limitations. We offer real understanding of the practice and limitations
of converting analog to digital signals, principles and applications of
correlation and convolution; frequency spectrum analysis and the Fourier
Transform, basics of digital filters and their application, and an initial
introduction to digital filters. Following topics will be covered during
this session:
The Generic DSP Processor Architecture
Application Specific Integrated Circuits
DSP Design and Analysis Software
Converting analogue signals
Sampled data systems
Filters- Analog, Digital, IIR, FIR
Impulse and frequency responses
More Details
Device Drivers:
This module will teach you how to write your own drivers and how to hack
around in related partsof the kernel. We have taken a device-independent
approach; the programming techniques and interfaces are presented, whenever
possible, without being tied to any specific device. Each driver is different;
as a driver writer, you will need to understand your specific device well.
But most of the principles and basic techniques are the same for all drivers.
This module will give you a handle on the background you need to make
your device work.
Session 1: Windows Device Drivers(Optional)
This hands on training course provides the knowledge and practice necessary
to begin writing Windows device drivers for Windows XP, Windows 2000 and
Windows NT 4.0. This course provides a thorough grounding for Windows
device driver development. Through lecture, class discussions and hands
on lab work, the student will develop an immediately useful knowledge
of how to write a device driver that will interface hardware to the system
and to application programs. The various topics covered under this section
are:
windows Device Driver Architecture
Windows Device Driver Development Kit
Device Driver Development and Debugging Techniques
Device Driver Performance tuning techniques
More Details
Session 2: Linux Device Drivers
The module covers the key issues in developing and testing Linux device
drivers. This provides substantial practice with the key steps in developing
Linux device drivers. The module shows how device drivers work with the
Linux kernel, how to compile and load drivers, how to debug drivers, how
to access PCI/ISA hardware, as well as other essential topics. Attendees
will develop a complete, simple, driver that demonstrates the process
of creating a Linux device driver. The course covers the key issues in
Linux device drivers. Such questions as: how do I develop a character
device, how do I debug a driver, how do I use task queues, are examined.
The topics include the following:
Linux Device Driver Architecture
Linux Driver Development Resources
Device Driver Development and Debugging Techniques
Device Driver Performance tuning techniques
More Details
Specialized Course:
This module will focus on the latest technology which is in demand in
the industry and will cover the basics of the same. Students will be given
an opportunity to understand the technology and all the relevant exposure
to further contribute to the same.
Storage Technology
This is the latest happening in the IT market now days and is in hot
demand. This module will cover the basics of the storage technology and
will give exposure to the following:
History of Storage Technology
Why is it in focus these days?
Introduction to SCSI
Introduction to RAID
Introduction to Fibre Channel
Introduction to ISCSI
Introduction to Volume Manager