Spring 2009
Instructor: Victor P. Nelson
· 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
· 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 refs)
· 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
· 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
· 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
· 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)