07-04-2012, 10:27 AM
Introduction to Embedded Systems
Introduction to Embedded Systems.pdf (Size: 182.49 KB / Downloads: 156)
Course Overview
The term “computer” usually conjures up in the minds of many people the image of a mainframe,
a minicomputer, a PC, a workstation or a laptop computer. However, computers have always
been embedded into all sorts of everyday items from automobiles and planes to TVs, in-house
entertainment centers and toasters. These are usually called embedded computers or embedded
systems, and actually account for more than 90% of all the world’s manufactured processors. In
general, users of embedded systems see a specialized function (such as a High-Definition TV)
and do not directly think of the computer embedded within the system. Such embedded
computers are gaining importance as an increasing number of systems use embedded processors,
RAM, disk drives, and networks. Embedded systems range in size from simple toasters and
mini-robots to large-scale systems deployed in process control, manufacturing, power generation,
defense systems, telecommunication systems, automotive systems, air traffic control, avionics,
video-on-demand and video-conferencing systems. Embedded systems also differ from their
conventional PC or workstation cousins in several ways. Embedded systems are typically used
over long periods of time, will not (or cannot) be programmed or maintained by its end-users, and
often face significantly different design constraints such as limited memory, low cost, strict
performance guarantees, fail-safe operation, low power, reliability and guaranteed real-time
behavior. These embedded systems often use simple executives (OS kernels) or real-time
operating systems with typically small footprints, support for real-time scheduling and no hard
drives. Many embedded systems also interact with their physical environment using a variety of
sensors and/or actuators. This introductory course on embedded computing focuses on these
issues germane to embedded systems.
Topics covered in this course will include:
• Embedded processor architecture and programming,
• I/O and device driver interfaces to embedded processors with networks, video cards and disk
drives,
• OS primitives for concurrency, timeouts, scheduling, communication and synchronization,
• Real-time resource management techniques, and
• Application-level embedded system design concepts such as basic signal processing and
feedback control.
A hands-on lab component will provide students with direct experience on both the hardware and
software commonly used in embedded system design.
Classroom lectures will also be augmented with handouts and other materials.
Goals of the Course
This course is designed with two complementary goals:
1. To understand the scientific principles and concepts behind embedded systems, and
2. To obtain hands-on experience in programming embedded systems.
The first goal will enable you to transcend the "hot technology du jour" and the "buzzword of the
month" trends, and apply concepts as technologies mature/obsolesce and new technologies are
born.
The second goal will instill practical skills using hands-on intensive experience and will serve as
the path by which you will be "learning by doing".
Specific Goals
• Understand the "big ideas" in embedded systems
• Obtain direct hands-on experience on both hardware and software elements commonly used
in embedded system design.
• Understand basic real-time resource management theory
• Understand the basics of embedded system application concepts such as signal processing
and feedback control
• Understand, and be able to discuss and communicate intelligently about