ELEC 5260/ELEC 6260:  Embedded Computing Systems

    Spring 2009

    Instructor: Victor P. Nelson

Syllabus

Assignments

·         Monday, Jan. 12: 4-5 page report on the architecture and components of a multimedia system (smart phone, music player, video game, digital television, etc.) - CPU, memory, input/output devices and interfaces, operating system, etc.

·         Wednesday, Jan 21: From the end of Chapter 1, submit answers for questions Q1-6, Q1-8, Q1-9, Q1-10(part b), Q1-13, Q1-15.

·         Monday, Feb. 2: From Chapter 1, update your previous solution to Q1-15, and then do Q1-16 (Collaboration diagram for the microwave oven – ignore the phone interface.) From the end of Chapter 2 (ARM assembly language), do Q2-5(c), Q2-7, Q2-9, Q2-10(a), Q2-10(b). For each of these, execute the program in the Keil debugger, with DCD directives to initialize variable values.  For this, you will need to either download a copy of the Keil software (link below) for your own PC, or else use one of the PCs in Broun 307 or 310.

·         Wednesday, Feb 11: Two ARM programs (described on linked document) – the first to be run on the uCdragon board.

·         Friday, Feb. 20:  Questions from Chapter 3, and two versions of an ARM program (assembly language and C)

·         Monday, Mar. 2: Mixed assembly language/C program with interrupts.

·         Friday, Mar. 6: From the end of Chapter 3, submit answers for questions Q3-19, Q3-20, Q3-21, Q3-24, Q3-27, Q3-29, Q3-30. (Related to cache memory and pipelining.)

·         Friday, Mar. 13: Interrupts and programmable timer exercise.

·         Friday, Mar. 27: Questions from Chap. 4 plus a memory design.

·         Monday, Apr.6:  Stopwatch design

·         Monday, Apr.13: Analog and ADC design

·         Wednesday, Apr.22: Real Time Operating Systems

·         Wednesday, Apr. 29: ELEC 5260 - RTOS Project

·         Wednesday, Apr. 29: ELEC 6260 - RTOS Project

Course Notes

·         Wednesday, 1/7/09     Embedded systems overview (Chap. 1)

·         Friday, 1/9/09              Design Methodology (Chap. 1)

·         Monday 1/12/09          Design Methodology, UML Modeling (Chap. 1)

·         Wednesday 1/14/09    UML modeling (Chap. 1.3) and Example (Chap. 1)

·         Friday 1/16/09             System on Chip Design with FPGAs (Dr. Stroud)

·         Monday 1/19/09          Martin Luther King Holiday

·         Wednesday 1/21/09    UML Example (continued), ARM CPU (Chap. 2)

·         Friday 1/23/09             ARM CPU (Chap. 2)

·         Monday 1/26/09          System on Chip Design with FPGAs (Dr. Stroud)

·         Wednesday 1/28/09    ARM instruction set (Chap. 2)

·         Friday 1/30/09             ARM instruction set (continued)

·         Monday 2/2/09            ARM instruction set (continued)

·         Wednesday 2/4/09      ARM instruction set and uCdragon board (continued)

·         Friday 2/6/09               ARM instruction set (concluded)

·         Monday 2/9/09            ARM subroutine examples

·         Wednesday 2/11/09    TMS32C5x DSP (Similar to TI C55x described in Chap. 2.3)

·         Friday 2/13/09             Input/output programming and LPC2292 UART (Chap. 3.1, LPC2292 references)

·         Monday 2/16/09          Input/output programming and LPC2292 UART (Chap. 3.1, LPC2292 references)

·         Wednesday 2/18/09    Interrupt programming (Chap. 3)

·         Friday 2/20/09             Interrupt programming and ARM/LPC2292 Interrupts (Chap. 3, LPC2292 ref’s)

·         Monday 2/23/09

·         Wednesday 2/25/09    Joe Bungo from ARM

·         Friday 2/27/09             LPC2292 Vectored Interrupt Controller

·         Monday 3/2/09            Pipelining in embedded CPUs (Chap. 3.5)

·         Wednesday 3/4/09      Cache memory (Chap. 3.4)

·         Friday 3/6/09               Programmable timers (LPC2292 user manual)

·         Monday 3/9/09            Programmable timers, Cache memory (finish)

·         Wednesday 3/11/09    CPU platforms and buses (Chap. 4.1, 4.2, 4.4)

·         Friday 3/13/09             Memory and device interfacing (Chap. 4.2-4.5, uCdragon docs)

·         (Spring break 3/16 – 3/20)

·         Monday 3/23/09          Memory and device interfacing (continued)

·         Wednesay 3/25/09      Memory and device interfacing (continued)

·         Friday 3/27/09             Device interfacing – LCD example (LCD links below)

·         Monday 3/30/09          Analog I/O systems

·         Monday 4/1/09            Analog I/O systems

·         Friday 4/3/09               No Class

·         Monday 4/6/09            Analog to Digital converters

·         Wednesday 4/8/09      Analog to Digital converters

·         Friday 4/10/09             Analog to Digital converters

·         Monday 4/13/09          Processes and Operating Systems

·         Wednesday 4/15/09    Real-time operating Systems

·         Friday 4/17/09             RTOS scheduling strategies

·         Monday 4/20/09          RTOS interprocess communication

·         Wednesday 4/22/09    ARM RL-RTX Real Time Executive Kernel

FINAL EXAM: Wednesday, May 6, 8-10 am

Resources

·         Text book errata

·         Wayne Wolf "Computes as Components, 2e” web resources

·         Kiel ARM development software (download page): http://www.keil.com/demo/

·         NXP/Philips LPC2292/2294 Microcontroller and "uCdragon" Board Resources

·             LPC 2292/2294 Product Data Sheet

·             LPC 2292/2294 User Manual

·             uCdragon Board Photo

·             uCdragon Board Schematics

·             uCdragon Board Quick Start Guide

·             Student's Guide to Building a Low-Cost Development Environment

·                 Download "H-JTAG" software.    (Executable .exe file)

·             Creating projects for Keil/H-JTAG/uCdragon

·             Summary of uCdragon board connections and resources

·         ARM Resources

·             ARM Architecture Reference Manual (ARM, Ltd.)

·             ARM7TDMI Technical Reference Manual (ARM, Ltd.)

·             ARM Assembly Language (Knaggs & Welsh - Bournemouth Univ.)

·             ARM home page: http://www.arm.com

·             ARM University Program: http://www.arm.com/community/academy/university.html

·             Online introduction to ARM: http://www.techonline.com/learning/course/100280

·         LCD Graphic Display

·             Hantronix HDM64GS12 Product Spec (equivalent to YM12864I_LCD)

·             Samsung KS108B LCD Driver/Controller

·             Interfacing Hantronix LCDs to an 8-bit uC (design example)

·             Sample Drivers: (HDM64GS12.c) (GLCD.c

)

)

·         UML Resources:

·             Object Management Group (OMG): http://www.omg.org

·             "Practical UML" (Borland): http://dn.codegear.com/article/31863

·             UML Tutorial (Kennesaw State): http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/

·             "StarUML" (UML modeling tool): http://www.staruml.com

·         Memory Devices on uCdragon Board

·             SST39VF1601 Nor Flash Memory (1M x 16)

·             IS61LV51216-12T SRAM (512K x 16)

·         I2C Specification