Microprocessor-based systems are at the heart of virtually all modern industrial, consumer and service sector equipment. They have the unique distinction of being both the most widely used engineering objects, while providing the means to create the most complex systems.
This course teaches necessary skills for building embedded processor-based systems, including the completion of a large-scale engineering project. The background knowledge taught in ECSE426 covers the basics of modern processor and system architectures, advanced use of tools such as assemblers, C compilers and debuggers in embedded systems, as well as the methods for peripherals interfacing and networking.
(1) understand the organization and design principles behind modern microprocessor-based systems;
(2) be proficient in assembly and high-level (C language) programming for embedded systems;
(3) understand the performance impact of the embedded software, including the energy and memory-limited design techniques;
(4) know how to connect peripheral devices and networking interfaces, and how to write programs for the efficient interface use;
(5) have experience in developing a realistic embedded system solution through teamwork;
A. Tanenbaum, Structured Computer Organization, Prentice-Hall, 1999.
C. Nagy, Embedded System Design using the TI MSP430 Series, Elsevier Science, 2003.
B. Shriver and B. Smith, The Anatomy of a High-Performance Microprocessor, IEEE Computer Society Press, 1998.
|Jan. 2||Course introduction|
|Jan. 9||Instruction Set Architecture, lab intro.|
|Jan. 16||Assembler, C, linker||Lab. 1: Assembler Programming|
|Jan. 23||Processor Microarchiteture||Lab. 1: Assembler Programming and C Programming|
|Jan. 30||Embedded Processors||Lab. 2: Simple hardware interfacing|
|Feb. 6||IO, processor interfacing||Lab. 2: Hardware interfacing, External hardware|
|Feb. 13||Buses, PCI||Lab. 3: Interfacing and interrupts|
|Feb. 27||Embedded OS primitives||Lab. 3: Interfacing, interrupts and Flash|
|Mar. 6||Real-time OS|