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


Module Specifications

Archived Version 2004 - 2005

Module Title Software Engineering 3
Module Code EE202
School School of Electronic Engineering

Online Module Resources

Module Co-ordinatorDr Robert SadleirOffice NumberS359
Level 2 Credit Rating 5
Pre-requisite EE105
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
Having successfully completed this course, the student will: 1. Have acquired a basic competence in the special problems of software development for embedded systems. 2. Have a proficiency in one microprocessor assembler language (Motorola M6809). 3. Have the ability to design and implement hybrid 'C' / assembly language programs

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 Assessment15% Examination Weight85%
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.
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
ESBEng in Electronic Systems
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)