D0003E: Real-Time Systems
web page from 2015
News and updates will always be announced here, with latest news on
|2016-02-01||All keyvards should now work.|
related to this course specifically: When the new keycard system was
launched, a large njumber of pincodes got lost. If this is the case,
you might have to update your pin-code: Mitt LTU -> Mina Uppgifter
-> LTU Kort -> Ändra PIN-Kod. Information about this habe also
got information that the keycards does not work for the lab. I have
ordered that all the keycards for all the corses that are scheduled in
the lab should work. It became a huge order, so it will probably take a
day or two.|
|2016-01-22||Lab deadlines now exists!|
|2016-01-22||Updated links and added section on C programming. Added pdf link to C book.|
pick upp your lab equipment at the first lab-class on monday since
hasans office is not suitable for equpment hand-out i a large scale.|
||Nu börjar vi på 2016 års version av webbsidan.
Schedule for Luleå
|Introduction to real-time
systems and C
|Bit manipulation and hardware
(pdf), extra slides (pdf)
|Concurrent threads and mutual
|The inner workings of a kernel
(pdf), extra slides
|Events, interrupts &
|A model of reactive objects
|Continuation of lecture 6
|Clocks, timers, and periodic
|Deadlines and priorities
(pdf), examples (pdf)
|Scheduling and feasability
|More inter-process communication
|Real-Time Languages and
|Repetition and infamous
|slides (pdf, full-page),slides (pdf, 6 per page), infamous systems
The aim of the course is to give
competence in the
development of real time systems in high level programming
discuss various models of synchronization and communication between
concurrent processes in such
systems, and to study the characteristics
of real time systems and their constructions. The central
course are concurrency -
where programs are built using several concurrent threads of execution,
reacted to rather than requested, and real-time
- where the timing behavior of a reactive
system is also of interest.
- Model of abstraction based on encapsulated processes
- Models and methods for synchronization and communication
between concurrent processes
- Event-driven program structures
- Interrupts and signal-handling
Real Time Systems:
- Priorities and deadline requirements
- Connections of external devices, embedded systems
- Process scheduling and error handling
- Design of a real time kernel
Alan Burns and Andy Wellings.
Addison-Wesley, third edition, 2001.
Fouth edition is also perfectly usable.
Examiner & lecturer
Phone: 49 24 31
Lab supervisorHasan Derhamy
It is very easy to get started with the new equipment. Just connect the
AVR ISP programmer to the computer by USB and to the Butterfly
board with the USB cable. Programming is performed in "Atmel Studio".
Choose to crerate a new GCC C Executable project and select ATmega169P
as device. Use Tools > Device programming to program your device with an
file. Here, you need to select ATmega169P again. If you're
asked to upgrade the firmware on the programmer, choose to do so. Be
sure to work in your home directory and not on the local
| Lab 1:
| Lab 2:
| Lab 3:
generators with a GUI
| Lab 5:
Commanding a robot (not mandatory)
|deadline before exam
Target platform documentation
Target platform resources
, online supplier
of AVR Butterfly cards.
, another AVR Butterfly supplier.
supplier of AVR material.
source C cross-compiler, libraries and download utilities (for Windows).
, optional AVR integrated development environment for Windows
that installs on top of WinAVR.
source C cross-compiler, libraries and download utilities (MacOS X)
References for the C programming language
Links to related information