Course Syllabus ECE 425 Microprocessor Systems Department of Electrical & Computer Engineering 1. Course Number and Name: 2. Credit Units/Contact Hours: 3. Course Coordinator: ECE 425 Microprocessor Systems 3/3 Xiaojun Geng 4. Text, References & Software Recommended Text: ARM Assembly Language: Fundamentals and Techniques, William Hohl, CRC Press, 2009, ISBN: 1439806101 Additional References: ARM System-on-Chip Architecture”, Stephen B. Furber, Addison-Wesley Professional, 2000, ISBN: 0201675196. UM10139 LPC214x User manual, NXP Semiconductors Software: The Keil µVision IDE: https://www.keil.com/demo/eval/arm.htm Internet Resources: ARM assembly guide: ARM information center: http://www.heyrick.co.uk/assembler/ http://infocenter.arm.com 5. Specific Course Information a. Course Description Studies of architecture, operation, programming, and application of microprocessor systems. The topics include microprocessor architecture; assembly language programming; exceptions and interrupts; general-purpose input/output; timer function; memory and address decoding; analog input/output; and serial data communications. b. Prerequisite by Topic Students must be familiar with high-level programming language and conventional techniques in designing digital logic circuit using discrete logics. Specifically, they must be familiar with flowcharting, program coding, conversion of numbers among various number systems, logic function minimization, timing analysis, and functions of standard MSI combinational and sequential circuits such as decoder, multiplexer, encoder, comparator, adder, subtractor, flip-flops, shift registers, and counters. c. Elective Course (EE), Required Course (CompE) 6. Specific Goals for the Course a. Specific Outcomes of Instructions – After completing this course the students should be able to: 1. Understand ARM architectures and concepts on on-chip peripherals (including digital and analog I/O, Timer, Input Capture, Output Compare, Serial Communication Interface, Serial Peripheral Interface, and Interrupts). 2. Write assembly language programs to program the ARM microcontroller. 3. Use software tools such as the KEIL µVision IDE to edit, assembler, and make ARM-based application programs. 4. Understand and appreciate the importance of life-long learning due to the existence of a large variety of microcontrollers and their rapid growth in industry. b. Relationship to Student Outcomes This supports the achievement of the following student outcomes: a) An ability to apply knowledge of math, science, and engineering to the analysis of electrical and computer engineering problems. b) An ability to design and conduct scientific and engineering experiments, as well as to analyze and interpret data. c) An ability to design systems which include hardware and/or software components within realistic constraints such as cost, manufacturability, safety and environmental concerns. i) A recognition of the need for and an ability to engage in life-long learning. k) An ability to use modern engineering techniques for analysis and design. m) An ability to analyze and design complex devices and/or systems containing hardware and/or software components. 7. Topics Covered/Course Outline 1. An Overview of Computing Systems 2. The ARM7 TDMI Programmer’s Model 3. Assembly Instruction Sets & Assembler Directives Loads, Stores and Addressing Constants and Literal Pools Logic and Arithmetic Loops and Branches Subroutines and Stacks 4. Exceptions and Interrupts Interrupts Error Conditions The Vector Table Interrupt Controller 5. Memory-Mapped Peripherals General purpose I/O ports Programmable Timer Input Capture and Output Compare Analog-to-digital Converter and Digital-to-analog Converter Serial communication interface and peripheral interface Prepared by: Xiaojun Geng, Professor of Electrical and Computer Engineering, October 2011 Ali Amini, Professor of Electrical and Computer Engineering, March 2013