[The University of Leicester] Programming Embedded Systems

Overview

This page provides access to materials used at the University of Leicester to support the teaching of two core undergraduate modules in embedded systems (EG2065 and EG2066).

The materials are provided for use by students taking these modules. They may also be of interest to lecturers and students at other universities or colleges.

Note 1: If you are just looking for the notes or OHPs, please go to the bottom of this page.

Note 2: If you are looking for pictures of the MSc "intruder alarm" project (using Philips LPC2129 chips), you'll find them here.

Note 3: If you are looking for "the MSc robot page" (using Atmel AT89C2051 chips) you'll find it here.

Note 4: If you are looking for the user manual for the RapidiTTy tools (used in Semester 2 / PES II) you will find this on the TTE Systems site.

Note 5: This is a "teaching" page. If you are interested in finding out about our research in this area you can do so here.

PES I and PES II

This page provides information about two courses. The courses are referred to here as "Programming Embedded Systems I" (PES I, EG2065) and "Programming Embedded Systems II" (PES II, EG2066).

In each case, the course lasts for ten weeks (one university semester). At the University of Leicester, both PES I and PES II involve - every week - a one-hour seminar (or lecture), a related three-hour laboratory session, and a "surgery hour" (in which students come and ask questions).

We teach PES I immediately followed by PES II, over the course of an academic year (the second year of a three- / four-year programme). However, if you require only an introductory course, PES II could be dropped.

What topics do these courses cover?

PES I is an introductory course, for students who have previously programmed "desktop" computers but have little or no previous experience with embedded systems.

PES I covers the following topics:

Seminar 1: "Hello, Embedded World"

Seminar 2: Basic hardware foundations (resets, oscillators and port I/O)

Seminar 3: Reading Switches

Seminar 4: Adding Structure to Your Code

Seminar 5: Meeting Real-Time Constraints

Seminar 6: Creating an Embedded Operating System

Seminar 7: Multi-State Systems and Function Sequences

Seminar 8: Using the Serial Interface

Seminar 9: Case Study: Intruder Alarm System

Seminar 10: Case Study: Programming a Mobile Robot

PES II builds on PES I: it is mainly concerned with the design and implementation of systems containing more than one embedded processor.

PES II covers the following topics:

Seminar 1: A flexible scheduler for single-processor embedded systems (Part 1)

Seminar 2: A flexible scheduler for single-processor embedded systems (Part 2)

Seminar 3: Analogue I/O using ADCs and PWM

Seminar 4: A closer look at co-operative task scheduling (and some alternatives)

Seminar 5: Improving system reliability using watchdog timers

Seminar 6: Shared-clock schedulers for multi-processor systems

Seminar 7: Linking processors using RS-232 and RS-485 protocols

Seminar 8: Linking processors using the Controller Area Network (CAN) bus

Seminar 9: Applying "Proportional Integral Differential" (PID) control

Seminar 10: Case study: Automotive cruise control using PID and CAN

What hardware is used in these courses?

The courses use 8051 and ARM microcontrollers as the example platform.

No previous experience with microcontrollers (of any kind) is assumed at the start of PES I.

How much experience of programming is required

All of the programming in this course is in C.

Students taking PES I are assumed to have had previous programming experience (typically in Java or C++) on a "desktop" computer.

Students taking PES II are assumed to have completed PES I.

What programming tools are used?

In PES II, we use an 8051 compiler from Keil.

In PES II, we use the RapidiTTy tools from TTE Systems.

Note 1: There is a free copy of the RapidiTTy Tools available (RapidiTTy Lite). This includes the GCC compiler, IDE and debugger (but not the TTE Builder tool, or support for timing analysis). You can download RapidiTTy Lite this from the TTE Systems site.

Note 2: If you are looking for the user manual for the RapidiTTy tools, you will find this on the TTE Systems site.

What course texts are used?

Two books are used to support this teaching.

The main text in PES I is "Embedded C".

The main text in PES II is "Patterns for Time-Triggered Embedded Systems".

What materials are available for PES I?

Copies of the overhead projector slides (one slide per page) are available here (in PDF format, 2664 KB).

Copies of the lecture handouts (two slides per page) are available here (in PDF format, 2470 KB).

What materials are available for PES II?

Copies of the overhead projector slides (one slide per page) are available here (in PDF format, 2664 KB).

Copies of the lecture handouts (two slides per page) are available here (in PDF format, 2470 KB).

[University Home][Department of Engineering Home][University Index A-Z][University Search][University Help]

Last updated: 12 December 2007 06:37
Department of Engineering Web Maintainer
This document has been approved by the head of department or section.
If you are an authorised user you may edit this document through your Web browser.