|
DEEP simulates an interactive classroom environment for the
participants. |
|
Home > Courses |
|
|
Course contents of current courses
|
Choose from courses ::
Prof. Kavi Arya, Prof. Krithivasan |
The course assumes that you are already familiar with some microprocessors or
micro-controllers and interfacing peripherals. You should have sufficient
familiarity with the C programming language. |
The "Embedded Systems (Software)"
course is targeted at software people who wish to make the transition to
working with "embedded systems". We will introduce the various concerns of
the embedded system designer and introduce the vocabulary.
The course is mostly software oriented where we presume exposure to
microcontrollers and DSPs. For those who have not encountered them a brief
exposure will be given in lab-sessions for Microcontrollers and DSPs.
Hardware aspects such as board level design, sensors, actuators, drivers,
etc. are also out of the scope of this course but are presented as black
boxes, where the student is made aware of the issues of interfacing with
hardware.
The emphasis is on new paradigms for building embedded systems using
technology such as the Esterel language for control-dominated systems and
Handel-C for data-dominated applications. We will visit real-time systems
and RTOS in detail and go through examples of building embedded applications
from scratch. The last month of the course is dominated by project work
where the student is given a chance to use their knowledge to build a
sizable system in teams.
The course assignments and project are such, that students will pick up a
general awareness of the "other side" (ie. their "weaker" side) from the
course material, the coursework as well as from their peers by the end of
the course.
|
1. Embedded Systems: Introduction,
hardware/software co-design, issues in deciding where to split the problem.,
examples of embedded systems, sensors and interfacing techniques.
2. Real-time OS and concepts: introducing the
problem domain + tools (e.g. RT-Linux), RTOS services/capabilities (in
contrast with traditional OS), Resource Management/scheduling paradigms:
static priorities, static schedules, dynamic scheduling, best effort,
Current best practice in scheduling (eg Rate Monotonic vs. static
schedules), Real-world issues: blocking, unpredictability, interrupts,
caching, Examples of OSs for embedded systems -- RT Linux, VRT. Case
studies, Controlling an Injection moulding process and Flight simulator.
3. Programming Languages for Embedded Systems: -
tools for building embedded systems - with case studies. Esterel is good for
control applications / Handel-C is good for casting algorithms into
re-configurable hardware, Embedded Software Development Methodology.
4. Lab assignments + a project of 1 month
duration: a seminar + examples tie the elements of the course together.
Students will present seminars on selected embedded system-based
applications: smartcards, process-control, robotics, network appliances,
etc.
|
· Jack Ganssle, "The
Art of Designing Embedded Systems", Newnes, 1999.
·
David Simon, "An
Embedded Software Primer", Addison Wesley, 2000.
·
C.M. Krishna and
Kang G. Shin, "RTS: Real-Time Systems", McGraw-Hill, 1997, ISBN 0-07-057043.
·
Frank Vahid, Tony
Givargis, "Embedded System Design: A Unified Hardware/ Software
Introduction", John Wiley & Sons Inc., 2002.
|
|
|