Skip to main navigationSkip to main content
The University of Southampton
Courses

COMP3215 Real-Time Computing and Embedded Systems

Module Overview

This module gives a broad introduction to development of real-time and embedded systems

Aims and Objectives

Learning Outcomes

Knowledge and Understanding

Having successfully completed this module, you will be able to demonstrate knowledge and understanding of:

  • The requirements placed on real-time systems
  • The design space in which real-time system designers operate
Subject Specific Intellectual and Research Skills

Having successfully completed this module you will be able to:

  • Select an appropriate architecture to meet a real-time requirement
  • Select an appropriate operating system and program design
Transferable and Generic Skills

Having successfully completed this module you will be able to:

  • Use graduate-level literature to expand your understanding of real-time and embedded systems
Subject Specific Practical Skills

Having successfully completed this module you will be able to:

  • Implement the design of a real-time system
  • Verify at least some of the functionality of a real-time system

Syllabus

Issues and concepts - Definition of real-time - Temporal and event determinism - Architecture review and interfacing - Interrupts, traps and events - Response times and latency - Real-time clocks Application domains - DSP - Safety critical - Small embedded - Large-scale distributed Low-level programming for real-time - I/O - Concurrency: memory models and synchronisation primitives - Monitors/condition variables - Semaphores - Optimistic scheduling - ARM and Intel assembly language, integration with C - Architectural issues, memory models Scheduling - RMS - EDF - Priority inversion - Time triggered Operating systems - Protected modes, virtual memory - Device drivers - Internet of things: examples including Contiki - FreeRTOS Languages in embedded and real-time systems - C and C++ Correctness - Concurrency Issues - Process algebras - Model checkers, temporal logic Embedded Systems - Example systems/applications - Hands-on experience with software development - Operating systems (eg ContikiOS, FreeRTOS, Android)

Learning and Teaching

TypeHours
Lecture24
Tutorial3
Follow-up work12
Preparation for scheduled sessions12
Wider reading or practice64
Completion of assessment task25
Revision10
Total study time150

Resources & Reading list

Richard Barry (2013). Using the FreeRTOS Real Time Kernel - a Practical Guide - Cortex. 

Hermann Kopetz. Real-Time Systems: Design Principles for Distributed Embedded Applications. 

Real Time Engineers Ltd. The FreeRTOS Reference Manual. 

Wayne Wolf (2012). High-Performance Embedded Computing: Architectures, Applications, andMethodologies. 

Burns, A and Wellings, A (2011). Real Time Systems and Programming Languages: Ada 95, Real-Time Javaand Real-Time POSIX. 

Joseph Yiu (2015). The Definitive Guide to ARM Cortex-M0 and Cortex-M0+. 

Assessment

Summative

MethodPercentage contribution
Examination  (2 hours) 70%
Laboratory 30%

Repeat

MethodPercentage contribution
Examination 100%

Referral

MethodPercentage contribution
Examination 100%

Repeat Information

Repeat type: Internal & External

Linked modules

Pre-requisites: (ELEC1201 AND ELEC1202) or (COMP1202 AND COMP1203) or COMP6238

Share this module Share this on Facebook Share this on Twitter Share this on Weibo
Privacy Settings