TI2720-C Embedded Software

weedyhospitalΗλεκτρονική - Συσκευές

25 Νοε 2013 (πριν από 3 χρόνια και 9 μήνες)

88 εμφανίσεις

TI2720
-
C Embedded Software

Stefan Dulman


13 November 2012


INTRODUCTION


The IN2305
-
B course offers an introduction to real
-
time programming in an
embedded system context. The student acquires the principles of real
-
time
programming in C (interrupts,
multitasking) through a simple Real
-
Time
Operating System (RTOS). The course looks at the principles of an RTOS, its
operation, and how real
-
time applications may be programmed using an RTOS.
The lecture will be accompanied by a short lab session of three
half
-
days in
which students will program a real
-
time engine control system on a
microcontroller platform that controls the speed of the engine (simulation of a
cruise control system). The platform to be used is a soft core (X32) implemented
on an FPGA de
monstration board that connects to the setup of the electrical
engine.


The learning objectives for this course can be summarized as follows:




At the end of this course, the student should know how to employ the
principles of real
-
time programming, on top
of RTOSs for embedded
systems. In order to achieve this, the student must be able to illustrate the
characteristics of embedded
-
systems programming, to formulate the
principles of real
-

time programming and to explain the mechanisms
behind RTOSs.



The secon
dary goal of this course is to provide the theoretical and the
experimental training, allowing the student to differentiate the principles
of good embedded systems design and quantify the estimated time to
achieving an embedded
-
software project.



At the end

of this course, the student should be able to use the
development environment and tool chain needed for programming the
soft core (X32) of the FPGA board used in the lab.

SCHEDULE


The full information on the timetable can be obtained at:
http://timetable
s.tudelft.nl/ (contains also the latest updates). In short, the
organization of this course is as follows: three weeks for lectures (2 lectures each
week), one free week, three weeks for lab sessions (two lab sessions each week),
one free week and then the

exam. More precisely:




Week 2.1

lectures



Week 2.2

lectures



Week 2.3

lectures



Week 2.4

labs



Week 2.5

labs



Week 2.6

labs



Week 10

exam

REQUIREMENTS


The lab session comprises t
wo

half
-
days spanning three weeks (with time slots
available on
Mondays
and Wednesdays
, depending on which half
-
day you have
been assigned to). The

lab sessions are compulsory (including presence on t
wo

days), and it must be passed in order to pass the entire module IN2305
-
B.
Because
the lab session only comprises
t
wo

half
-
day
s, it is essential that you
prepare the work at home (e.g., use the X32 simulator, or the DOS version of
uC/OS that comes with the book). Students who have not prepared their lab
sessions sufficiently, or arrive at the labs too late, will not be admitted t
o the lab
session, meaning that they will fail the entire module. Attendance of the labs is
compulsory for the t
wo

half
-
days. Inevitably, absence leads to failure of the lab
and, consequently, failure of the module.


The lab sessions are carried out in gro
ups of two students per experimental
setup. Apart from registering with TAS, you will have to register on a lab sessions
list that will be made available in the first lecture. If you do not have a partner for
cooperation already, you can register as a sing
le person.


You will be assigned a group through the student assistant. The assignment of
students to time slots may be changed depending on availability of lab resources.

All the details for this course (lab assignments, example code, lecture notes,
othe
r communications, etc.) are made available on the blackboard website.

GRADING


The final grade will be calculated based on the lab sessions (finished in
December) and the exam (in January). Students who have not (yet) done the labs
or the exam will not rec
eive a final grade.

The final grade of the course comes
from the lecture (test/exam) and from the lab sessions. You'll get two grades,
one from the lecture and one from the lab sessions (called c and p, respectively).
The lecture will be tested through a
m
ultiple choice
questions exam. The lab
sessions will be tested in terms of a grade "A", "B", and "C", that counts for "10",
"8" and "6". A failed lab session does not exist. If there is no grade A, B, or C for
the lab sessions, there is no final grade of t
he course. The final grade, called e,
only becomes valid if the lab sessions were performed successfully. The final
grade will be calculated through the following formula:


e = 0.75c + 0.25p


Attention: failing completing the lab means failing the course!
Failing the written
exam means failing the course! The formula above applies only when both the
lab and the written exam were passed.

ADDITIONAL INFORMATION


The two teaching assistants helping with the lab assignments are:

Chiel de Roest (
m.a.deroest@student.tudelft.nl
)

and

Harmjan Treep
(
H.J.Treep@student.tudelft.nl
)
.

You can contact me at: s.o.dulman@tudelft.nl.