48434 Introductory Embedded Systems6cp; 3hpw, 1hpw (lecture); 2hpw (tutorial/laboratory)
Requisite(s): 48430 Fundamentals of C Programming
Knowledge of the C language and digital systems is essential for this subject.
Fields of practice: Electrical Engineering and ICT Engineering majors
Embedded systems play indispensable roles in our life. They can be as simple as an electronic desk clock or as complicated as an aircraft. They can follow fixed routines, such as a standard 45-min wash in your washing machine, or they can also be smart by adapting to changing environments, such as smart traffic lights changing based on real-time traffic flows. Regardless, all embedded systems come with a unified system structure: having one or more microcontrollers communicating with peripherals to react effectively to external inputs by performing predefined functions.
This subject introduces the most fundamental concepts of an embedded system, including microcontroller architectures, Boolean number systems, logic and arithmetic, memory addressing, interrupts, system timers, and peripheral inputs/outputs. Lab sessions accompanying lectures help students gain hands-on experiences and better understand the key concepts. Students also work in groups to develop small yet complete embedded systems to systematically practice the learned knowledge and skills in system design, embedded programming, system implementation, functionality testing, and embedded software debugging.
Students develop their ability to interpret and evaluate a set of software specifications and work in small groups to write software modules and applications for an embedded system. Students are introduced to abstracting hardware functionality into software modules and researching and implementing software data structures.
Students develop their ability to test and modify their software to ensure compliance with the application specifications and be introduced to reviewing and evaluating their own and others software.
The technical content is contextualised in a project in which students analyse the requirements of an embedded system and design the software to meet those requirements. Skills in debugging software are also developed through the practice-based nature of the subject. Students demonstrate their learning outcomes through quizzes, lab tasks, project works and exams.
Autumn session, City campus
Detailed subject description.