CS/ECE 5780/6780 - Embedded Systems Design - Spring 2012

Announcements

Last Updated 8 months ago

4-24-2012 - Final Project Videos

Course Administrativa

Course:
CS/ECE 5780/6780, Spring 2012, 4 Units
Instructor:
Thomas Schmid
TAs:
Jinpeng Lv
Xueyan Duan
Homepage:
http://wiesel.ece.utah.edu/redmine/projects/ece5780-s12/wiki
Mailing List:
ece5780s12@list.eng.utah.edu Everyone enrolled in the class should subscribe to the list https://sympa.eng.utah.edu/sympa/info/ece5780s12
Meetings:
T,H 12:25 PM - 1:45 PM WEB 1250
Labs: MEB 2265
Session 1: Tuesday 2pm-5pm
Session 2: Wednesday 8am-11am (canceled)
Session 3: Wednesday 2pm-5pm
Session 4: Thursday 8:00am-10:30am
Office Hours:
Wednesday, 1pm - 2pm
Text Book:
There is no required textbook that we will follow. See the Resource section below for many online texts that will be used throughout the course.

Course Description

This class is focused on the principles and practices of modern embedded systems design. In class, we will focus on computer architecture beyond the CPU, fundamentals of the hardware/software interface, techniques for sensing and controlling the physical world, and a few other topics. In lab, we will focus on the ARM Cortex-M3, Microsemi FPGAs, and other supporting hardware, to learn how to design, build, and program embedded systems. Labs during the first half of the course will focus on essential topics. The second half of the course will focus on the design and implementation of non-trivial, open-ended projects involving both hardware and software. The labs and project will require a substantial amount of time -- this is a lab-intensive class with a heavy workload.

Course Calendar

Syllabus (Tentative)

Mtg Date Lecture Files Speaker(s) Lab HW
ARM System Architecture
1 Jan 10 Introduction, Architecture lec1.pdf Etherpad Schmid Lab 0: Start with HW1.1 HW1.1: Reading Datasheets and Creating a Schematic
Due: 1/12/12 @11:59pm
Video Walkthrough
2 Jan 12 no class, sick Schmid
3 Jan 17 Architecture, Assembly lec2.pdf Etherpad Schmid Lab 1: FPGA + Hardware Tools
Lab 1 Answer Sheet
HW1.2: Creating a PCB, Gerbers, and verification
4 Jan 19 ISA, Assembly, Toolchains lec3.pdf Etherpad Schmid
5 Jan 24 Memory and I/O Architecture lec4.pdf Etherpad Schmid Lab 2: MCU + Software Tools
Lab 2 Answer Sheet
6 Jan 26 Memory/Peripheral Bus: AMBA lec5.pdf Etherpad Schmid
7 Jan 31 Memory-Mapped Peripherals lec6.pdf Etherpad Schmid Lab 3: Memory and Memory-Mapped I/O
Lab 3 Answer Sheet
8 Feb 2 Interrupts, ARM NVIC lec7.pdf Etherpad Schmid
Peripheral Interfacing
9 Feb 7 Interrupts, ARM NVIC (cont) lec7_2.pdf Etherpad Schmid Lab 4: Interrupts
Lab 4 Answer Sheet
Homework 2, due Feb 16th hw2.pdf
You can find some hints here Hw2
HW2 Solution hw2_solution.pdf
10 Feb 9 Timers lec8.pdf Etherpad Schmid
11 Feb 14 Memory Technologies lec9.pdf Etherpad Schmid Lab 4: Interrupts Wrap Up
Lab 4 Answer Sheet
12 Feb 16 Serial busses: UART, SPI, and I2C lec10.pdf Etherpad Schmid
13 Feb 21 ADCs/DACs lec11.pdf Etherpad Schmid Lab 5: Timers and Counters
Lab 5 Answer Sheet
14 Feb 23 Sensors and Actuators lec12.pdf Etherpad Schmid
15 Feb 28 Project Overview ECE_CS_Project_S12_Slides.pdf Projects_Handout_S12.pdf Etherpad Schmid Lab 5: Timers and Counters Wrap Up
Lab 5 Answer Sheet
16 Mar 1 Midterm Exam
Projects & Selected Topics
17 Mar 6 Wireless Communications Lab 6: Serial Bus Interfacing
Lab 6 Answer Sheet
18 Mar 8 NO LECTURE: Project Meetings
19 Mar 13 Spring Break No Lab. Work on Projects.
20 Mar 15 Spring break
21 Mar 20 D. Crane: F-16 F16_EmbeddedPresentation.pdf
M. McCracken: XBee xbee_wifi.pdf
Lab 7: Data Converters
Lab 7 Answer Sheet
22 Mar 22 No Class
23 Mar 27 A. Forys: Tegra3
J. Davies: CC430
Projects
24 Mar 29 W. Lutz: GreenPack mcu_presentation.pdf
S. Teli: SDR on SmartFusion
25 Apr 3 M. Thueson: Beagle Board beagle_board.pdf
B. Buckley: Teensy teensy.pdf
Projects
26 Apr 5 J. Christianson: Kindle/eInk/LCD Tech kindle_eink.pdf
P. Saebi: TI DSP C5535 ezDSP
27 Apr 10 No Class, ECE Technical Open House Projects
28 Apr 12 J. Kindseth: Parallax MCU
29 Apr 17 Projects
30 Apr 19
31 Apr 24 Last Day of Lecture, Project Videos Projects
32 Apr 26 Reading Day
33 May 1 Final Exam Week, Project Demos

Prerequisites

CS/ECE 5780

  • CS/ECE 3700 OR ECE/CS 3810 (Computer Organization)
  • CS 2000 (Introduction to Program Design in C), CS 1410 ( Introduction to Object-Oriented Programming), OR CS 4400 (Computer Systems)

CS/ECE 6780

  • You have to be enrolled as a CS or ECE graduate student.

Policies

  • The College of Engineering guidelines.
  • The University of Utah's Student Code covers cheating and other student conduct policies, also see lecture 1 notes.

Grading

Item Weight Description
Labs 28% 7 labs, 4% each
Project 25% Group project demonstrating understanding of major topics.
Exams 22% Two exams: Midterm (10%); Midterm 2 (12%)
Quizzes 10% Approximately four 1-minute quizzes given at random (coin-flip)
Homework 10% Two or three homework assignments weighted roughly equally.
Presentation 5% Group presentation to instructional staff on project status.

Resources

ARM Documentation

ARMv7 Architecture Reference Manuel ARMv7-M_ARM.pdf
ARM Cortex-M3 Embedded Software Development (AN-179) ARM_Cortex_AppNote179.pdf
ARM and Thumb-2 Instructrion Set Quick Reference Card ARM_QRC0001_UAL.pdf
ARM Architecture Procedure Call Standard (EABI) ARM-AAPCS-EABI-v2.08.pdf
ARM Cortex-M3 Technical Reference Manual v2.1 ARM-Cortex-M3-TRM-v2.1.pdf
AMBA® 3 AHB-Lite Protocol ARM_IHI0033A_AMBA_AHB-Lite_SPEC.pdf

Actel/Microsemi Documentation

SmartFusion DataSheet SmartFusion_DS.pdf
SmartFusion MSS User Guide SmartFusion_MSS_UG.pdf
SmartFusion Analog User Guide SmartFusion_Analog_UG.pdf
SmartFusion Fabric User Guide SmartFusion_Fabric_UG.pdf
Microsemi A2F Eval Kit User Guide A2F_EVAL_KIT_UG.pdf

Documentation on the Class Hardware & Software

Toolchain Documentation

CodeSourcery Getting Started CodeSourcery_Getting_Started_Guide.pdf
GNU Assembler Assembler.pdf
GNU Compiler Compiler.pdf
GNU Linker Linker.pdf
Linkers and Loaders http://www.iecc.com/linker/
GNU Debugger Debugger.pdf
GNU Binary Utilities Binary_Utilities.pdf

Books on Embedded Systems

Verilog Tutorials

Additional Documentation

Websites for Parts

Similar Courses

Old CS/ECE 5780/6780 Websites

Support

This material is based upon work supported by the National Science Foundation under grant #1111541. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
This course and lab uses hardware and software provided by Cypress Semiconductor, including the PSoC 5 First Touch Starter Kits and Development Kits.
This course and lab use hardware and software provided by Microsemi Corporation, including the SmartFusion MCU+FPGA development boards and the Libero Gold and Platinum software development tools.
This course and lab uses hardware and software provided by Texas Instruments, including the TI CC2520 Radio and Beagle Boards.

Acknowledgments

This course is modeled after the University of Michigan's EECS 373 class taught by Prabal Dutta. I helped to refresh this course during my postdoctoral studies in Fall 2010, mostly working on the labs. Many of the lecture slides and materials were created by Prabal, and this course would not exist in its form without him. Thanks also goes to Matt Smith and Mark Brehob and the TAs that made this class happen.

Attached Files

cypress.gif (4.8 kB) Thomas Schmid, 08/22/2011 10:03 am

nsf.jpg (3.9 kB) Thomas Schmid, 08/22/2011 10:03 am

ARM_QRC0001_UAL.pdf (187.1 kB) Thomas Schmid, 10/24/2011 10:23 am

PCBDesignTutorialRevA.pdf (384.9 kB) Thomas Schmid, 11/15/2011 05:14 pm

ARM_Cortex_AppNote179.pdf (195.8 kB) Thomas Schmid, 12/01/2011 11:25 am

ARM_QRC0001_UAL.pdf (187.1 kB) Thomas Schmid, 12/01/2011 11:25 am

ARM-AAPCS-EABI-v2.08.pdf (333.9 kB) Thomas Schmid, 12/01/2011 11:25 am

ARM-Cortex-M3-TRM-v2.1.pdf (1.1 MB) Thomas Schmid, 12/01/2011 11:25 am

ARMv7-M_ARM.pdf (7.2 MB) Thomas Schmid, 12/01/2011 11:25 am

SmartFusion_DS.pdf (9.5 MB) Thomas Schmid, 12/01/2011 11:31 am

SmartFusion_Analog_UG.pdf (3.2 MB) Thomas Schmid, 12/01/2011 11:31 am

SmartFusion_Fabric_UG.pdf (1.8 MB) Thomas Schmid, 12/01/2011 11:31 am

SmartFusion_MSS_UG.pdf (12.4 MB) Thomas Schmid, 12/01/2011 11:31 am

A2F_EVAL_KIT_UG.pdf (5.3 MB) Thomas Schmid, 12/01/2011 11:31 am

Binary_Utilities.pdf (371.3 kB) Thomas Schmid, 12/01/2011 11:38 am

CodeSourcery_Getting_Started_Guide.pdf (516.4 kB) Thomas Schmid, 12/01/2011 11:38 am

Assembler.pdf (1.6 MB) Thomas Schmid, 12/01/2011 11:38 am

Compiler.pdf (2.6 MB) Thomas Schmid, 12/01/2011 11:38 am

Linker.pdf (666.3 kB) Thomas Schmid, 12/01/2011 11:38 am

Debugger.pdf (2.4 MB) Thomas Schmid, 12/01/2011 11:38 am

microsemi.jpg (7.2 kB) Thomas Schmid, 12/01/2011 11:43 am

VerilogQuickRef.pdf (120 kB) Thomas Schmid, 01/10/2012 09:45 pm

ARM_IHI0033A_AMBA_AHB-Lite_SPEC.pdf (538.1 kB) Thomas Schmid, 01/26/2012 11:42 am

lec7.pdf (3 MB) Thomas Schmid, 02/02/2012 11:37 am

ti.png (7.1 kB) Thomas Schmid, 02/03/2012 10:02 am

hw2.pdf (105.6 kB) Thomas Schmid, 02/07/2012 12:09 pm

lec7_2.pdf (3.7 MB) Thomas Schmid, 02/07/2012 12:09 pm

lec8.pdf (1.9 MB) Thomas Schmid, 02/09/2012 06:54 pm

lec6.pdf (2.6 MB) Thomas Schmid, 02/13/2012 02:00 pm

lec1.pdf (15.3 MB) Thomas Schmid, 02/13/2012 02:00 pm

lec2.pdf (3.5 MB) Thomas Schmid, 02/13/2012 02:00 pm

lec3.pdf (1.4 MB) Thomas Schmid, 02/13/2012 02:00 pm

lec4.pdf (1.2 MB) Thomas Schmid, 02/13/2012 02:00 pm

lec5.pdf (3 MB) Thomas Schmid, 02/13/2012 02:00 pm

lec9.pdf (1.3 MB) Thomas Schmid, 02/14/2012 09:31 pm

lec10.pdf (1.8 MB) Thomas Schmid, 02/16/2012 12:22 pm

hw2_solution.pdf (125.6 kB) Thomas Schmid, 02/19/2012 09:42 am

lec11.pdf (2.2 MB) Thomas Schmid, 02/21/2012 11:49 am

lec12.pdf (3.1 MB) Thomas Schmid, 02/23/2012 11:11 am

Projects_Handout_S12.pdf (1.3 MB) Thomas Schmid, 02/28/2012 10:08 am

ECE_CS_Project_S12_Slides.pdf (2.4 MB) Thomas Schmid, 02/28/2012 10:11 am

beagle_board.pdf (606.7 kB) Thomas Schmid, 04/15/2012 09:48 am

xbee_wifi.pdf (759.1 kB) Thomas Schmid, 04/15/2012 09:48 am

teensy.pdf (8.7 MB) Thomas Schmid, 04/15/2012 09:50 am

F16_EmbeddedPresentation.pdf (256.1 kB) Thomas Schmid, 04/15/2012 08:42 pm

mcu_presentation.pdf (1.1 MB) Thomas Schmid, 04/17/2012 09:09 pm

kindle_eink.pdf (10.5 MB) Thomas Schmid, 04/18/2012 10:12 am