Learning Outcomes:
On successful completion of this module, students should be able to:
1. Design a digital system involving an embedded processor and other hardware;
2. Write software for an embedded system;
3. Use appropriate software tools in the design and verification of such systems;
4. Work in a team and collaborate effectively with other members of the team;
5. Maintain proper documentation and communicate the results of their work.
Indicative Module Content:
1 - A brief introduction to embedded systems and to the module;
2 - Programming in assembly language, using a small microcontroller as an example;
3 - Microcontroller hardware, using the same small microcontroller as an example;
4 - Interfaces in embedded systems, including serial bus protocols;
5 - Programming in C for embedded systems (assuming knowledge of C programming);
6 - Processor bus structures, in general and using AMBA examples;
7 - Review of hardware design at register transfer level and hardware description language (assuming prior knowledge);
8 - Microcontroller hardware and instruction set, using a larger microcontroller as an example;
9 - A brief introduction to caches as used in embedded systems;
10 - A brief introduction to operating systems, with emphasis on embedded systems;
11 - Embedded system design.