Skip to main content

Unit information: Embedded System Integration in 2012/13

Please note: you are viewing unit and programme information for a past academic year. Please see the current academic year for up to date information.

Unit name Embedded System Integration
Unit code COMS35102
Credit points 10
Level of study H/6
Teaching block(s) Teaching Block 2 (weeks 13 - 24)
Unit director Dr. Hollis
Open unit status Not open
Pre-requisites

COMSM1302

Co-requisites

None

School/department Department of Computer Science
Faculty Faculty of Engineering

Description including Unit Aims

The over-arching aim of this unit is to explore the combination and unification of both theory and practice from previous units. The unit focuses on development of embedded computing systems, and how a close interaction between and understanding of hardware and software is vital. Basic knowledge of computer architecture is a pre-requisite.

Aims:

Focussing on modern embedded processors, this unit will show you how to develop a complete state-of-the-art embedded computer system including processors, storage sub-systems, multi-processing and co-processor devices, and an operating system. Review and assimilation of the following topics should be achieved:

  • The memory hierarchy: copying data, disks, file systems, transferring data between the disk and the system, DMA, cache coherency, snooping caches, virtual memory and memory management, protection, relocation, the memory hierarchy revisited.
  • Performance and scalability: splitting caches, interleaved memory, multi ported memories, multiple bus segments, crossbar interconnects, more general switches, I/O ports, channels, coherency issues, scalability issues.
  • OS and software development: device drivers, fundamentals of the operating system, buffering requirements in operating systems, threads and mutexes in C, resource management and deadlocks, multiple users.
  • Multiple processors: tightly coupled multi-processors, operating system consequences.

Intended Learning Outcomes

On successful completion of this unit, students will be able to:

  • integrate hardware and software components into a working embedded system,
  • recognise and reason about how components interfere and interact with each other,
  • understand and write the operating system components that act as glue between hardware and software, and develop applications for the resulting system.

Teaching Information

Roughly 2/3 of teaching in lecture format, 1/3 in laboratory or problem class format.

Assessment Information

100% coursework, using laboratory based development of an embedded computer system; the coursework will be broken down into stages, each targeting one of the learning objectives of the unit, for example:

Learning outcome: knowledge of ARM assembler; Assessment: interactive marked labs where programs are built in assembler using the latest tools and methodologies.

Learning outcome: knowledge of internals and implementation of an Operating System; Assessment: marked labwork where an operating system is implemented.

Learning outcome: understanding of how modern embedded systems are integrated; assessment: interactive marked labs where multiple components in different programming languages are combined to produce a complete working system.

Reading and References

John L. Hennessy, David A. Patterson Computer Architecture: A Quantitative Approach (4th Edition) ISBN: 978-0123704900 Background

David Seal ARM Architecture Reference Manual (Second Edition) Addison-Wesley ISBN: 978-0201737196 Recommended

Michael Barr, Anthony Massa Programming Embedded Systems: With C and GNU Development Tools O'Reilly ISBN: 978-0596009830 Background

A. Silberschatz and P. Galvin. Applied Operating System Concepts. John Wiley 1999. ISBN: 0471365084 Background

Joseph Yiu The Definitive Guide to the ARM Cortex-M3 (2nd Edition) Newness 2009 ISBN: 978-1856179638 Recommended

J. Stanley Warford, Jones and Bartlett Computer Systems", 4th Ed., ISBN: 978-0-7637-7144-7 Recommended

Feedback