Embedded Systems Programming

ICT2104

Embedded systems are devices where the computing capabilities are embedded and may not be apparent to its users. Examples of embedded systems include digital wristwatches, MP3 players or even the Electronic-Control Unit (ECU) of the modern automobile. Computing capabilities in such devices are usually provided by microcontrollers (MCU). This module will introduce the student to the architecture and subsystems of embedded systems, microcontroller interfacing, memory maps, real-time operating systems (RTOS), typical embedded peripherals such as input/output (I/O) ports, timer, serial communication, support for interrupts, programming of the microcontroller and modern tools for embedded systems development. It will also review the concepts covered in the ICT foundations courses (e.g. ICT1003) and demonstrate the relevance between generic theoretical concepts and the applied embedded systems.