EEE3074W: Embedded Systems

Outcomes and Syllabus



Consultation Times


Details Labs and Project


Scope: This page indicates the outcomes and syllabus for EEE3074W.


What you get out depends largely on what you put in... You will do well in this course if you approach the work in a serious manner, if you participate actively in the assignments, and set aside time to read the text book and class notes. The following points summarize intended outcomes of this course:

    * General understanding of the standards available, but not details of pin assignments and signal traces.




Introduction Definition of what en embedded system is, examples. What the course involves: lectures, pracs, projects, exams. Introduction to general systems theory (GST).
History A look at the history leading towards the development of the (arguably) first embedded system. Explanation of why so many embedded systems are developed using standard ANSI C, and the increasing popularity of embedded C++.
The Development Environment Hardware and software tools use in developing an embedded system in relation to general embedded system platforms. We introduce the CSB337 evaluation boards used in the pracs and project. Discuss the "Basic Toolset".
Conceptualization Process Issues of coming up with new product concepts. The concept presentation. Best practices.
Boot Loaders Programs that are initially executed at system startup, and are used to load an application programs (boot monitors provide more features).
Advanced RISC Machines (ARM) Overview of ARM architecture. Introduction to programming an ARM-based microprocessors. Addressing modes, using memory maps, etc. Writing a simple ARM assembly language program. Types of instructions, their mnemonics. Using GCC-ELF-AS, macros, labels, etc.
Special Software Techniques Using memory mapped peripherals. In-line assembly. Bitwise operations and their C operators and ARM instructions. Volatile variables in C. Speed and code density. Use of interrupts vs. polling. Implementing interrupt service routines.
Modeling Recap of UML modeling (you are expected to know UML). Introduction to Real-Time UML. The AOD diagram.
Embedded System Design Lifecycle A broad look at general embedded system development, from the product specification phase, to maintenance, upgrade, and finally retirement. Covers methods used in: 1) Specification, 2) Partitioning, 3) Implementation, 4) Design, 5) Integration, 6) Acceptance test, 7) Maintenance and update.
Real-Time Aspects Introduction to important real-time requirements and design issues.
Dynamic Behavior Look StateCharts, using UML timing diagrams, etc. Case study of 1-wire Protocol.
Debugging Tools On-chip Debugging Standards (BDM, JTAG, and Nexus). In-Circuit Emulation (ICE). We look at the standards, their benefits and drawbacks, but we don't go into detail.
Testing Strategies for testing embedded systems, and details of the Factory Acceptance Test (FAT).
Industry We plan to have an industry representative talks about local embedded systems industry in South Africa; common difficulties they experience; demonstrate products (e.g. video footage); local employment prospects and what employers like to see.
The Future What embedded system products, and their design may be like in the future (discussion topic).

Navigation: [Start]

Copyright (c) 2010, S. Winberg, University of Cape Town. Site maintained by: S. Winberg, Department of Electrical Engineering, University of Cape Town.