COMP10242: Microcontrollers (2008-2009)
This course aims to familiarise students with the use of microprocessors/microcontrollers for simple control and interfacing applications. The course aims to develop the understanding of the programming and operation of the ARM processor introduced in COMP10031 to include modular program construction, separation of user and operating system tasks and interfacing techniques at the hardware and software levels.
This course builds upon the understanding of processor operation and assembler programming introduced in COMP10031 and upon the logic design in introduced in COMP10211 to show how hardware and software interact in the solution of interfacing problems.
A student completing this course should:
Appreciate the function and need for an operating system. (A3)
Be competent in assembler programming. (B2, C5, C6, D5)
Know when and how to use interrupts. (A2, A3)
Have experienced a wide variety of interfaces and interface techniques. (B2, B3, C5, D4)
Understand the hardware-software interface and the implementation trade-offs around this boundary. (A3, B3)
Assessment of Learning outcomesAll learning outcomes are assessed incrementally in the laboratory.
Contribution to Programme Learning OutcomesA2, A3, B2, B3, C5, C6, D4, D5
Basic Interfacing 
Parallel I/O 
Procedure calls, Nesting & Stacking 
System calls, Privilege levels, Initialisation 
Real-time operation, User interaction 
System design 
Title: ARM Assembly Language: an introduction
Author: Gibson, J. R.
A straightforward, introductory text on ARM assembly language. Also reasonably cheap.