DCU Home | Our Courses | Loop | Registry | Library | Search DCU


Module Specifications

Archived Version 2010 - 2011

Module Title Embedded Systems
Module Code EE202
School School of Electronic Engineering

Online Module Resources

Module Co-ordinatorDr Robert SadleirOffice NumberS359
Level 2 Credit Rating 5
Pre-requisite None
Co-requisite None
Module Aims
The objective of this course is that, on completion, each student should have acquired a basic competence in the special problems of software development for embedded systems. This will include proficiency in one microprocessor assembler language (Motorola M6809) and the integration of a microprocessor assembly language (Motorola M6809) with a high level language (C). This will be supported on a general-purpose cross-development platform (Intel x86 PC compatible hardware, running MS-DOS).

Learning Outcomes

On completion of this module, the student will be able to

  1. List the components of an embedded system, describe in detail the operation of these components and outline the internal structure of the microprocessor from a programmer’s perspective. (PO1)
  2. Develop assembly language programmes that demonstrate the different addressing modes associated with a particular microprocessor. (PO1, PO2, PO3)
  3. Describe the effect that the execution of an assembly language instruction will have on the internal registers of a microprocessor. (PO1)
  4. Design programmes that utilise the different methods for implementing subroutines in assembly language and explain how the system and user stacks are used in facilitate subroutine calls. (PO1, PO3)
  5. Implement interrupt service routines and list the sequence of events that occur from the time an interrupt is generated to the point where the associated assembly language program resumes normal operation. (PO1, PO2)
  6. Design hybrid programs that incorporate both C and assembly to demonstrate how assembly language segments can be included in a program written using a high level programming language. (PO1, PO2, PO3, PO5)

Indicative Time Allowances
Lectures 24
Tutorials 9
Laboratories 15
Seminars 0
Independent Learning Time 27

Total 75
Assume that a 5 credit module load represents approximately 75 hours' work, which includes all teaching, in-course assignments, laboratory work or other specialised training and an estimated private learning time associated with the module.

Indicative Syllabus
· Introduction: Role and operation of the CPU. The microprocessor as a CPU in integratedcircuit form. Concept of an embedded system. Development system software.
· Basic CPU concepts: CPU architecture. CPU registers and the M6809 register model. General purpose, pointer (including program counter), and flags registers. The concept of instruction set. Assembler features. Assembler directives. One/two pass assemblers. Examples based on M6809, including discussion of native-versus cross-assembly. Linker concepts. Macros.
· Introduction to assembly language: Machine language programming. Intelligibility problems.Use of instruction mnemonics. Use of mnemonic labels in control flow. Automatic translation of mnemonics the assembler. Outline instruction set. Operands.
· Addressing modes: Inherent, register, immediate, base page direct, extended direct, indirect, extended indirect and indexed. Addressing mode examples based on M6809. Program relative addressing for branches.
· Stack concepts: Concept of a stack. The push and pop operations. Stack overflow and underflow. Use of stack to provide basic procedure linkage. Use of stack to provide temporary storage. Examples based on M6809.
· Problems: Simple register manipulation. Look up tables. Program loops. Character-coded data. Code conversion. Arithmetic problems. Writing position-independent code. Subroutines. Parameter passing techniques.
· I/O concepts: Integrating I/O. Problems of synchronisation with external events: polling (continuous and intermittent) and use of interrupts. Examples based on M6809 family I/O interface devices. Memory maps. Practical problems associated with using interrupts. Interrupted related instructions.
· Compiler concepts: Problems with assembly language programming: lack of portability (of applications and/or expertise); impoverished data and code structuring facilities. Solutions provided by high level language. Problems with use of high level language: access to special purpose instructions; size and speed efficiency. Solution based on combining assembly and high level language programming. Examples based on M6809 and C language.
Continuous Assessment25% Examination Weight75%
Indicative Reading List
Recommended text (Purchase optional) - Horvath, R., "Introduction to microprocessors", McGraw Hill, 1992.Additional texts - Leventhal, L., "6809 assembly language Programming", McGraw Hill, 1981. - Leventhal, L. & Cordes, S., "Assembly language subroutines for the 6809", McGraw Hill, 1985. - Brighouse, B. & Loveday, G., "Microprocessor in engineering systems", Pitman, 1987.

Contribution to Programme Areas:

Science & Mathematics

Discipline - specific Technology

Information and Communications Technology

Design and Development

Engineering Practice

Social and Business Context







Contribution to Programme Outcomes:

Knowledge and Its Application:

The ability to derive and apply solutions from a knowledge of sciences, engineering sciences, technology and mathematics

Problem Solving:

The ability to identify, formulate, analyse and solve engineering problems;


The ability to design a system, component or process to meet specified needs, to design and conduct experiments and to analyse and interpret data;

Ethical Practice:

An understanding of the need for high ethical standards in the practice of engineering, including the responsibilities of the engineering profession towards people and the environment

Effective Work and Learning:

The ability to work effectively as an individual, in teams and in multidisciplinary settings together with the capacity to undertake lifelong learning;

Effective Communication:

The ability to communicate effectively with the engineering community and with society at large







Teaching & Learning Strategies/Assessment Methodology:

This module is delivered as a series of lectures and laboratory assignments. The module is continuously assessed (25% of the final grade) with a final examination (75% of the final grade). The laboratory sessions provide the students with the opportunity to implement the concepts discussed in the lectures.

Programme or List of Programmes
BSSAStudy Abroad (DCU Business School)
BSSAOStudy Abroad (DCU Business School)
DMEB.Eng. in Digital Media Engineering
ECSAStudy Abroad (Engineering & Computing)
ECSAOStudy Abroad (Engineering & Computing)
EEBEng in Electronic Engineering
HMSAStudy Abroad (Humanities & Soc Science)
HMSAOStudy Abroad (Humanities & Soc Science)
ICEBEng Info and Communications Engineering
MEB.Eng. in Mechatronic Engineering
SHSAStudy Abroad (Science & Health)
SHSAOStudy Abroad (Science & Health)