-
Introduction
- What is a real-time embeddedsystem?
- Review
of real-time programming background and theory
- Tasking
model
- Inter-task
communication - Solving the Resource Sharing Problem
- Real-time
design issues
- Problems
with Solving the Resource Sharing Problem
- The
Paradigm Embedded IDE
- Introducing
MicroC/OS
- Hardware
and target dependencies
- Building
and running a data acquisition application
- Debugging
Embedded Systems
- Design
and Implementation of MicroC/OS
- "Upgrades"
to MicroC/OS
- Writing
an interrupt-driven device driver
Back to Courses page
|
Programming
for embedded systems is an entirely different discipline from
traditional “desktop” or
main-frame programming. An embedded system must be able to respond to
external events in a predictable, reliable way. Real-time programs must
not only execute correctly, they must execute “on time”. A late answer
is a wrong answer.
Multitasking
has proven to be a powerful paradigm for building reliable and
understandable real-time programs. This intensive three-day seminar
provides a practical introduction to the concepts of multitasking with
particular emphasis on embedded applications.
Through a
combination of lectures and practical hands-on lab work,
seminar participants will gain a fundamental understanding of real-time
programming principles and techniques for applying these principles to
real-world design problems. Each participant receives a development kit
consisting of:
- Integrated
Development
Environment (IDE)
- Single
board computer with:
- 186-class processor
- 128
kbytes
of Flash memory and 32 kbytes of static RAM
- Two
serial ports with cables
- Digital
and analog I/O
In
addition to writing embedded applications, you’ll learn to design and
code interrupt-driven device drivers. You’ll also learn a wide range of
techniques for debugging and troubleshooting multi-tasking code.
Finally, we go “under the hood” to explore the design and
implementation of MicroC/OS,
a typical pre-emptive multitasking kernel. By examining the internal
workings of a multitasking kernel, you gain valuable insights into the
nature of preemptive programming, its benefits and challenges.
|