ECE 36200 Microprocessor Systems and Interfacing (26, 25 Fall, 25 Spring)
Undergraduate Course, Purdue University Fort Wayne, Department of Electrical and Computer Engineering, 2026
The objective of this course is to become familiar with the architecture and the instruction set of an ARM microprocessor. Assembly language programming will be studied, as will the design of various types of digital and analog interfaces. The accompanying lab is designed to provide practical hands-on experience with microprocessor software applications and interfacing techniques.
Course Coverage
This course is divided into two main parts: assembly programming and interfacing. The board we currently use is the TM4C123/Tiva board by Texas Instruments. The general course schedule is listed below:
- Course introduction
- Fixed-point decimal number conversion and IEEE 754 floating-point conversion.
- Introduction to TM4C123 (including processor structure, on-board resources, and related PCB design strategies).
- Assembly programming: Addressing mode
- Assembly programming: Arithmetic, Logic, and Shift operations
- Assembly programming: Memory operations
- Assembly programming: Branch operations, Subroutine assembly program design, and mixed Assembly/C programming
- Interfacing: General Purpose Input Output (GPIO) structure and registers; SysTick timer; Interrupt.
- Interfacing: Serial communication: UART communication; and brief introduction to I2C, SPI, One-wire protocol with additional application examples.
- Interfacing: Data Conversion (ADC/DAC): ADC/DAC circuit structures, performance evaluation metrics; on-board ADC configurations; ADC/DAC embedded system applications.
- Interfacing: Timer/PWM: Concept of Timer; Timer use cases; On-board timer configurations; Concept of PWM; on-board PWM configurations; PWM use cases.
- Special Topics: Complex Instruction Set Computers; CMSIS Library; AHB/APB/AXI bus protocol; floating point instructions.
Reference books
This course sources the course materials from multiple books in providing comprehensive experience in both assembly programming and interfacing experience.
- Joseph Yiu, The Definitive Guide to ARM Cortex-M3 and Cortex-M4 Processors, current edition
- Cortex-M3M4F Instruction Set Technical User’s Manual, current version, Texas Instruments
- Tiva TM4C123GH6PM Microcontroller Data Sheet, current version, Texas Instruments
- Yifeng Zhu, Embedded Systems with Arm Cortex-M Microcontrollers in Assembly Language and C, Current Edition
- Jonathan W Valvano, Embedded Systems: Introduction to ARM Cortex-M Microcontrollers, current edition
- Edward A. Lee and Sanjit A. Seshia, Introduction to Embedded Systems — A Cyber-Physical Systems Approach link
- Alexander G Den, Embedded Systems Fundamentals with ARM Cortex-M based Microcontrollers: A Practical Approach FRDM-KL25Z Edition
- David Harris, Sarah Harris, Digital design and computer architecture ARM Edition, current edition, Morgan Kaufmann, 2015.
