This
site contains the material for the ST training in January 2014. Goals are to
understand the issues of real-time and how application requirements translate to
solutions consisting of tasks that must meet deadlines. In addition, through
simulation and measurements, understand that computer actions take time, and
that this is non-trivial to understand.
The topics addressed are:
First
part (Jan 15-Jan 20)
Second
part (three
more days):
3.
A
summary of part 1, lessons learned.
4.
Leftover
of ‘Day 4’ above.
5.
Timer
queue management (improving over the downcounting, and generalizing)
6.
Resource
sharing, resource access protocols.
In the ‘First
part’ we start from the concept of repetitive real-time tasks and show
how a simple kernel can be built around the timer interrupt. We also visit
‘traditional’ RTOS concepts. In the ‘Second part’ (not
in January) we examine a real-time kernel that is used in existing products, we
see how it works and can be used.
This
course reflects research work we are currently involved in and has some rough edges.
The predominant way of learning we see is by doing: designing, programming,
measuring. There are many - probably too many -- exercises in the slides.
We
have lectures, questions and discussion in the morning (2-3h, somewhat more the
first day). The remainder of the time is for practicing. There will always be
someone available for questions and feedback.
Students work in pairs on the exercises. We have exercises of varying level and complexity to account for differences in background. Besides the topics mentioned, the training involves working with Linux in a virtual machine, using Linux compile tools and using a hardware simulator.
Write a report in the form of a logbook while you work. It will be judged on two independent metrics: quality and quantity. Indicate in that report what you plan and what the result is. Add explanations, diagrams, photographs, videos and measurements where needed. Hand in a (partial) report at the end of each day on a website or dropbox (i.e., I want to receive a link); grow the report while the course proceeds.
We
provide a TI MSP430 microprocessor, as part of the Sensixa BSN.v3 platform (a
wireless sensor) or as part of the Crosbow TELOSB platform. We provide a
programming environment in the form of a Linux virtual machine with a special C
compiler and loader tools. You can either load a binary onto a physical node
and use an oscilloscope to perform measurements or use the provided simulator.
The
material is found on https://www.win.tue.nl/san/education/OOTI/.
Source codes for the
programs discussed in the course are in principle located in the virtual
machine as explained on the above site. They can also be downloaded from below
(to ensure a fresh copy). This and further material is listed below.