Module Title |
Software Engineering 3
|
Module Code |
EE202
|
School |
School of Electronic Engineering
|
Online Module Resources
|
Module Co-ordinator | Dr Robert Sadleir | Office Number | S359 |
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
|
|
Hours
|
Lectures |
24
|
Tutorials |
9
|
Laboratories |
15
|
Seminars |
0
|
Independent Learning Time |
27
|
|
|
Total |
75
|
Placements |
|
Assignments |
|
|
NOTE
|
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.
|
Assessment | Continuous Assessment | 15% | Examination Weight | 85% |
|
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
|
BSSA | Study Abroad (DCU Business School) |
BSSAO | Study Abroad (DCU Business School) |
DME | B.Eng. in Digital Media Engineering |
ECSA | Study Abroad (Engineering & Computing) |
ECSAO | Study Abroad (Engineering & Computing) |
EE | BEng in Electronic Engineering |
ES | BEng in Electronic Systems |
HMSA | Study Abroad (Humanities & Soc Science) |
HMSAO | Study Abroad (Humanities & Soc Science) |
ICE | BEng Info and Communications Engineering |
ME | B.Eng. in Mechatronic Engineering |
SHSA | Study Abroad (Science & Health) |
SHSAO | Study Abroad (Science & Health) |
Archives: | |