ELEC 5260/ELEC 6260:  Embedded Computing Systems

    Spring 2012

    Instructor: Victor P. Nelson

Syllabus

Assignments

1.      Wednesday, 1/11/12: Read about and write a 4-5 page report an a multimedia embedded system (smart phone, video game, etc.) The report should list and describe the major components (processors, memory, input/output devices and controllers), system architecture, operating system, and other relevant system information. Do not discuss “marketing” information.  Be sure to list all references used.

2.      Wednesday, 1/18/12: Answer the first eight questions at the end of Chapter 1 (Q1-1 to Q1-8)

3.      Wednesday, 1/25/12: Answer the following UML-related questions at the end of Chapter 1: Q1-9, Q1-10, Q1-13, Q1-14,Q1-15.

4.      Wednesday, 2/1/12: Write a report describing the characteristics of one FPGA that has embedded processor and memory, and then describe one commercial product that contains that FPGA.  Consider looking at one of the FPGA vendor web sites, which will provide technical information on their products and write-ups on various applications of their devices.

Also, try downloading the public-domain Eclipse IDE and the Gnu C compiler (gcc) and debugger (gdb) for the ARM.  We will be using these in our ARM programming and system design projects.

5.      Friday, 2/10/12: From the end of chapter 2, questions Q2-5(c), Q2-9, Q2-10(a), Q2-10(b). The programs should be assembled and executed using either the Keil or GNU tools and simulators.

6.      Wednesday, 2/15/12: Subroutines (open file)

7.      Wednesday, 2/22/12: Chapter 3 – Input/Output and UML (open file)

8.      Monday, 3/5/12:         Interrupts on the uCdragon board (open file)

9.      Friday, 3/9/12:                        From the end of chapter 3, questions Q3-19, Q3-21, Q3-22, Q3-24,                                                          Q3-30.  (memory and pipelining)

10.   Thursday, 3/22/12 (by 11 am): Timer interrupts

11.   Thursday, 4/5/12 (by 11 am): Memory questions (Chaps. 3 & 4)

12.   Wednesday, 4/11/12   Digital stopwatch on the uCdragon board

13.   Monday, 4/16/12        Data acquisition design

14.   Monday, 4/30/12        Real-Time O/S Project (Due 11 am)

Course Notes

1.      Monday, 1/9/12          Embedded systems overview (Chap. 1)

2.      Wednesday, 1/11/12   Overview continued

3.      Friday, 1/13/12           System design methodology (Chap. 1.2)

4.      Wednesday 1/18/12    System modeling with UML (Chap. 1.3,1.4)

5.      Friday 1/20/12            Continue: System modeling with UML (Chap. 1.3)  UML Example (Chap 1.4)

6.      Wednesday, 1/25/12         ARM Processor Architecture, ARM University Presentation

7.      Friday, 1/27/12           Dr. Stroud – FPGAs in embedded systems

8.      Monday, 1/30/12        Dr. Stroud – FPGAs in embedded systems

9.      Wednesday, 2/1/12     ARM Processor Architecture

10.   Friday, 2/3/12             ARM Processor Architecture (continued)

11.   Monday, 2/6/12          ARM Processor Architecture (continued)

12.   Wednesday, 2/8/12                 ARM Processor Architecture (continued)

13.   Friday, 2/10/12           ARM Processor Architecture (continued), TI DSP Architecture

14.   Monday, 2/13/12        TI DSP Architecture (continued), Computer I/O (Chap. 3)

15.   Wednesday, 2/15/12   Computer I/O (Chap. 3)

16.   Friday, 2/17/12           LPC2292 Parallel I/O Ports; 

17.   Monday, 2/20/12        Interrupt-Driven I/O (Chap. 3.1, 3.2);

18.   Wednesday, 2/22/12   Interrupts (continued)

19.   Friday, 2/24/12           Midterm Exam #1

20.   Monday, 2/27/12        ARM/LPC2292 Interrupts

21.   Wednesday, 2/29/12   Interrupts (continued), CPU Pipelining (Chap. 3.5)

22.   Friday, 3/2/12             Memory hierarchy (Chap. 3.4)

23.   Monday, 3/5/12          uCDragon/LPC2292 startup code & configuration (ref’s below)

24.   Wednesday, 3/7/12     Memory hierarchy (continued) (Chap. 3.4)

25.   Friday, 3/9/12             LPC2292 Timers (LPC2292 User Manual)

26.   Monday, 3/19/12        System buses and memory interfacing,  SoC with Cortex

27.   Wednesday, 3/21/12   System buses and memory interfacing (Chapter 4)

28.   Friday, 3/23/12           System buses and memory interfacing (Chap. 4, uCdragon doc’s)

29.   Monday, 3/26/12        System buses (concluded)

30.   Wednesday, 3/28/12   System buses (concluded), uCDragon LCD Display

31.   Wednesday, 4/4/12     Analog Input/Output

32.   Friday, 4/6/12             Analog Input/Output

33.   Monday, 4/9/12          Analog Input/Output

34.   Wednesday, 4/11/12   Serial Peripheral Interface (SPI)

35.   Friday, 4/13/12           Introduction to real-time operating systems (Chap. 6)

Midterm Exam #2 (Take home) – Distributed Monday 4/16/12, due Wednesday 4/18/12.

36.   Monday, 4/16/12           Processes, Real-Time Operating Systems (Chap. 6)

37.   Wednesday, 4/18/12      RTOS – Process Scheduling (Chap. 6)

38.   Friday, 4/20/12              RTOS communication (Chap 6), Keil RTX (Keil documents)

39.   Monday, 4/23/12          

40.   Wednesday, 4/25/12     

 

FINAL EXAM: Friday, May 4, 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

·            Creating projects for Keil/uCdragon

·            Summary of uCdragon board connections and resources

·            uC Dragon Demo Program:  startup.s    hex file

·            PREVIOUS Windows XP setup for parallel port JTAG wiggler:

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

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

·        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/university/

·            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)

·            Practical UML (Borland)

·            UML Tutorial (Kennesaw State)

·            StarUML (UML modeling tool)

·        Memory Devices on uCdragon Board

·            SST39VF1601 Nor Flash Memory

·            IS61LV51216-12T SRAM

·        I2C Specification