Course Description
Introduction to Embedded Computer Systems, CPE 323, is a junior class covering both software and hardware aspects of embedded computer systems.
Texas Instruments' MSP430 microcontroller is used as a teaching vehicle. The course covers the following topics: MSP430 instruction set architecture, MSP430 assembly language, programming and debugging microcontrollers using C/C++, executable files and software reverse engineering, principles of I/O interfacing, I/O peripherals, clocks, timers, watchdog timers, parallel ports, serial communication (UART, SPI, I2C), analog-to-digital and digital-to-analog converters, LCD display controllers, DMA controllers. The course is accompanied by Embedded Systems Laboratory (CPE 325).
Lecture Slides
| Topics | Links | |
| 1 | Introduction | Slides (pdf) |
| 2 | Review: Data Types and Number Representations in Modern Computers | Text (pdf) |
| 3 | MSP430 Instruction Set Architecture (ISA) | Slides (pdf), Text (pdf) |
| 4 | MSP430 Assembly Language | Slides (pdf), Text (pdf) |
| 5 | MS430 Assembly Language and C (C++) | Slides (pdf), Text (pdf) |
| 6 | System View: Peripherals, I/O Interfacing | Slides (pdf) |
| 7 | Interrupts | Slides (pdf), Text (pdf) |
| 8 | Digital I/O (Parallel Ports) | Slides (pdf) |
| 9 | Clocks, Time, Timers (Watchdog, Timer_A/Timer_B) | Slides-CLKs (pdf), Slides-Timers (pdf) |
| 10 | Serial Communication (UART, SPI, I2C) | Slides (pdf), Text-UART (pdf) |
| 11 | Software Reverse Engineering | Slides (pdf), Text (pdf) |
| 12 | Analog Signals, Analog-to-Digital and Digital-to-Analog Converters | Slides (pdf), Text (pdf) |
| 13 | Direct Memory Access Controllers | Slides (pdf) |
| 14 | LCD Displays | Slides (pdf) |
| 15 | Stack Smashing (For Fun, No Profit): An Embedded Example | Text (pdf) |
Embedded Systems Laboratory
| Topics | Tutorials | |
| Lab 1 | Introduction to Code Composer Studio | Text (pdf) |
| Lab 2 | C Data Types and Number Representation | Text (pdf) |
| Lab 3 | TI 430FG4618/2013 Experimenter's Board: LEDs and Switches | Board Intro (pdf), Text (pdf) |
| Lab 4 | Assembly Language Programming: Introduction | Text (pdf) |
| Lab 5 | Assembly Language Programming: Subroutines | Text (pdf) |
| Lab 6 | Interrupts and Clock Subsystem | Text (pdf) |
| Lab 7 | Timers | Text (pdf) |
| Lab 8 | UART Serial Communication | Text (pdf) |
| Lab 9 | Software Reverse Engineering | Text (pdf) |
| Lab 10 | Synchronous Serial Communication (SPI) / Bluetooth / DMA | Text (pdf) |
| Lab 11 | AD/DA Converters | Text (pdf) |
| Lab 12 | Final Project | Text (pdf) |
Note: Demo programs from the laboratory tutorials are publicly available at https://gitlab.com/lacasa/cpe325-lab-demos.
Important Links
-
MSP430 User Guides (MSP430x4xx, MSP430x20x)
-
MSP430 Reference Manuals (MSP430FG4618, MSP430F2013)
-
TI MSP430FG4618/F2013 Experimenter's Board (Schematic, User's Guide)
-
ADXL335 Accelerometer (Device Documentation)