ELEC 5260/ELEC 6260:  Embedded Computing Systems

    Spring 2013

    Instructor: Victor P. Nelson (nelsovp@auburn.edu, Office: Broun 326)

Syllabus

Assignments

1.      Friday, 1/11/13: Read about and write a 4-page report an a commercial 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.      Tuesday, 1/22/13 by 11am: From the end of chapter 1, provide answers to the following questions. Q1-2, Q1-4, Q1-11, Q1-15, Q1-16, Q1-17(a), Q1-18(b), Q1-21, Q1-22

3.      Tuesday, 1/29/13 by 11 am: ARM assembly language program 1

4.      Friday, 2/1/13 in class: ARM assembly language programs 2 and 3

5.      Wednesday, 2/6/13 in class: ARM subroutines

6.      Wednesday, 2/13/13 in class: IIR filter on a DSP (Part 1 of HW)

7.      Friday, 2/15/13 in class: Input/output questions from Chapter 3 (Part 2 of HW)

8.      Friday, 2/22/13 (by 4 pm):  Input/output/interrupt handlers (STM32-Discovery board)

9.      Wednesday, 2/27/13 in class:  Interrupt version plus cache questions.

10.   Wednesday, 3/6/13 in class:  Rework quiz problems 3 & 4.

11.   Monday, 3/25/13 (by 4 pm):  PART 1 of the Audio Tone Generator Project

12.   Monday, 4/1/13 (in class):     PART 2 of the Audio Tone Generator Project

13.   Monday, 4/8/13 (in class):     Analog signal conditioning and ADC setup

14.   Monday, 4/22/13 (in class):   Processes and Operating Systems (Chap. 6)

15.   Monday, 4/29/13 (4:00pm):   RTX Project for ELEC 5260, RTX Project for ELEC 6260

Course Notes

1.      Wednesday, 1/9/13     Embedded systems overview (Chap. 1.1, 1.2)

2.      Friday, 1/11/13           Embedded systems overview continued (Chap. 1.1, 1.2)

3.      Monday, 1/14/13        System design process (Chap. 1.3)

4.      Wednesday, 1/16/13   Unified Modeling Language: UML (Chap. 1.3, 1.4)

5.      Friday, 1/18/13           UML (continued), UML example (Chap. 1.3, 1.4)

6.      Wednesday, 1/23/13   ARM CPU architecture

7.      Friday, 1/25/13           ARM CPU architecture (continued)

8.      Monday, 1/28/13        ARM CPU architecture (continued)

9.      Wednesday, 1/30/13   ARM CPU architecture (continued)

10.   Friday, 2/1/13             ARM CPU architecture (continued)

11.   Monday, 2/4/13          ARM CPU architecture (continued)

12.   Wednesday, 2/6/13     TMS 32C5x DSP architecture

13.   Friday, 2/8/13             DSP CPU architecture, STM32F407 uC Introduction

14.   Monday, 2/11/13        Program-controlled (busy-wait) I/O (Chap. 3.2)

15.   Wednesday, 2/13/13   Interrupts and exceptions (Chap. 3.2, 3.3)

16.   Friday, 2/15/13           Interrupts and exceptions (continued)

17.   Monday, 2/18/13        Interrupts in Cortex and STM32F4xx (Cortex and STM32F4 docs)

18.   Wednesday, 2/20/13   STM32F407 general-purpose I/O pins (STM32F4 docs)

19.   Friday, 2/22/13           STM32F4xx external interrupts. Memory systems (Chap. 3)

20.   Monday, 2/25/13        Cache and virtual memory (Chap. 3)

21.   Wednesday, 2/25/13   Cache and virtual memory (Chap. 3)

22.   Friday, 3/1/13             Midterm Quiz #1 (topics up through and including interrupts)

23.   Monday, 3/4/13          Pipelined CPUs (Chap. 3)

24.   Wednesday, 3/6/13     Pipelined CPUs, System buses (Chaps. 3 & 4)

25.   Friday, 3/8/13             Memory buses

26.   Monday, 3/18/13        Serial data interfaces (SPI)

27.   Wednesday, 3/20/13   Serial data interfaces (I2S), Serial buses (I2C)

28.   Friday, 3/22/13           Serial buses (I2C)

29.   Monday, 3/25/13        Software drivers for I2C/Audio Codec (class document scans)

30.   Wednesday, 3/27/13   System timing with programmable timers (class example of Code register write via I2C)

31.   Friday, 3 /29/13          Analog input/output systems

32.   Monday, 4 /1/13         Analog input/output systems

33.   Wednesday, 4 /3/13    Analog input/output systems

34.   Friday, 4/5/13             Memory devices and bus interfacing

35.   Monday, 4/8/13          Memory devices and bus interfacing

36.   Wednesday, 4/10/13 - Midterm Quiz #2 (topics through analog and memory systems)

37.   Friday, 4/12/13           Processes in embedded systems (Chap. 6.1 – 6.3)

38.   Monday, 4/15/13        Processes and real-time operating systems (Chap. 6.4, 6.5)

39.   Wednesday, 4/17/13   Real-time operating systems (Chap. 6.4, 6.5)

40.   Friday, 4/19/13           ARM Real-Time Executive (RTX)

41.   Monday, 4/22/13        RTOS Communications (Chap. 6.6)  Accelerometer class notes

42.   Wednesday, 4/24/13   RTOS Communications (Chap. 6.6)

43.   Friday, 4/26/13           RTOS “Nucleus” Example,  RTOS Performance (Chap. 6.8)

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

Resources

·        Text book errata

·        Marilyn Wolf "Computers as Components, 2e” web resources

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

·        STMicroelectronics

·       STM32F407VG Microcontroller

·       STM32F4-Discovery Kit

·       Cortex-M4 training for STM32F4-Discovery board using ARM Keil MDK toolkit

·       STM32F4xx Cortex-M4 programming manual

·       Auburn document: Creating projects for Keil/STM32F4-Discovery

·       STM32F4-Discovery Demo Software (.zip file)

·       STM32 ST-LINK/V2 Utility – Go to this page, select “Design Support” tab, scroll down to “Device Programmers”, and then download and install the STM32 ST-LINK utility. This will also install the USB device driver for the ST-LINK/V2, needed to connect to the project board.

·       STM32F4-Discovery Board Special Function Chips:

·       Cirrus Logic CS43L22 Audio DAC

·       ST MP45DT02 MEMS Microphone

·       ST LIS302DL MEMS Motion Sensor/Accelerometer (web site)

·              Data sheet,  Application note

·        ARM Resources

·               ARM Cortex-M4 User Guide

·            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

·               ARM lectures by Dr. Santanu Chaudhury, EE Department, IIT Delhi: http://www.youtube.com/watch?v=4VRtujwa_b8&playnext=1&list=PL95AFA4ABA8B28627&feature=results_main

·        Texas Instruments DSP Devices

·       TMS320C5x DSP User’s Guide

·       TMS320C55x DSP CPU Reference Guide

·       TMS320C55x DSP User Guides

·        I2C Bus Specification (Philips)

·        I2S Bus Specification (Philips)

·        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

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