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)