ELEC 5260/6260/6266:  Embedded Computing Systems

    Spring 2018

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

Syllabus

Assignments

1.      Friday, 1/12/18: Read about and write a 4 to 5-page report on a commercial multimedia embedded system (smart phone, video game, music player, etc.) or an Internet of Things (I0T) system. Do not discuss “marketing” information – focus on technical details.  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. List all references used for the report.

2.      Friday, 1/26/18:  Questions from Chapter 1 of the text.

3.      Monday, 2/5/18: ARM assembly language

4.      Friday, 2/9/2018:  ARM and C subroutines/functions

5.      Friday, 2/16/2018:  Manipulating GPIO pins

6.      Tuesday, 2/20/2018 by 10:00am:  I/O and interrupt operations (from Chap. 3 of text)

7.      Friday, 3/2/2018:  Digital stopwatch

8.      Wednesday, 3/7/18:  CPU memories and pipelines (Chap. 3 of text)

9.      Friday, 3/23/18:  CPU buses and memory (Chap. 4 of text)

10.  Friday, 3/30/18:  DRAFT VERSION - Audio recorder/player project

11.  Friday, 4/6/18:  FINAL VERSION - Audio recorder/player project

12.  Friday, 4/20/18:  Processes and RTOS (Chap. 6 of text)

13.  Friday, 4/27/18 (by 3:00pm):  ELEC 5260 Final Project

                                                 ELEC 6260/6266 Final Project

Course Notes

1.       Wednesday, 1/10/18   Embedded systems overview (Chap. 1.1, 1.2)

2.       Friday, 1/12/18            Embedded systems overview (Chap. 1.1, 1.2),

Design methodology (Chap 1.3)

Monday, 1/15/18         MLK Day Holiday

Wednesday, 1/17/18   Snow day cancellation

3.       Friday, 1/19/18            Design methodology (Chap 1.3),

UML modeling (Chap. 1.4)

4.       Monday, 1/22/18         UML modeling (Chap. 1.4)

5.       Wednesday, 1/24/18   UML modeling (Chap. 1.4), UML example  (Chap. 1.4)

6.       Friday, 1/26/18            ARM processor (Chap. 2.1, 2.2, 2.3)

7.       Monday, 1/29/18         ARM processor (Chap. 2.1, 2.2, 2.3)

8.       Wednesday, 1/31/18   ARM processor (Chap. 2.1, 2.2, 2.3)

9.       Friday, 2/2/18              ARM processor (Chap. 2.1, 2.2, 2.3)

10.    Monday, 2/5/18           TMS320C5x digital signal processor (Doc’s below)

11.    Wednesday, 2/7/18     Input/output devices (Chap. 3)

12.    Friday, 2/9/18              I/O programming (Chap. 3), STM32L476 GPIO pins

13.    Monday, 2/12/18         I/O programming (Chap. 3), STM32L476 GPIO pins

14.    Wednesday, 2/14/18   Interrupt programming (Chap. 3), STM32L476 Interrupts

15.    Friday, 2/16/18           Interrupt programming (Chap. 3), STM32L476 Interrupts

16.    Monday, 2/19/18         Interrupt programming (Chap. 3), STM32L476G-Discovery LCD

17.    Wednesday, 2/21/18   Midterm Quiz #1

18.    Friday, 2/21/18            Hierarchical software design, STM32L476G-Discovery LCD

19.    Monday, 2/26/18         Hierarchical memory systems (Chap. 3.5)

20.    Wednesday, 2/28/18   Hierarchical memory systems (Chap. 3.5)

21.    Friday, 3/2/18              CPU pipelines (Chap. 3.6)

22.    Monday, 3/5/18           CPU buses and memory (Chap. 4.1-4.4)

23.    Wednesday, 3/7/18     CPU buses and memory (Chap. 4.1-4.4)

24.    Friday, 3/9/18              Memory devices for embedded systems

Spring Break 3/12-6

25.    Monday, 3/19/18         No class meeting. Video:ARM SoC design for IoT to be posted.

26.    Wednesday, 3/21/18   CPU buses and memory (Chap. 4.1-4.4)

27.    Friday, 3/23/18            Serial peripheral interfaces – SPI

28.    Monday, 3/26/18         Homework review; Project hierarchical software (drivers, etc.)

29.    Wednesday, 3/28/18   Serial peripheral interfaces – I2C

30.    Friday, 3/30/18            Analog input/output

31.    Monday, 4/2/18           Digital-to-analog/analog-to-digital converters

32.    Wednesday, 4/4/18     Project review – BSP drivers for flash and audio in/out

33.    Friday, 4/6/18              Tasks and processes in embedded systems (Chap. 6)

34.    Monday, 4/9/18           Midterm Quiz #2

35.    Wednesday, 4/11/18   Tasks and processes;  Real-Time Operating Systems (Chap. 6)

36.    Friday, 4/13/18            Real-Time Operating Systems (Chap. 6)

37.    Monday, 4/16/18         Real-Time Operating Systems (Chap. 6), CMSIS-RTOS

38.    Wednesday, 4/18/18   RTOS/CMSIS-RTOS Communication and Synchronization

 

 

Wednesday, 5/2/18                      Final Exam (8:00 – 10:30 am)

 

Resources

·                     Marilyn Wolf "Computers as Components, 4rd Edition” web resources (slides, labs, uCs, etc.)

·                     Kiel MDK-ARM Development Software

·                     Download page: http://www.keil.com/demo/

·                     Tutorial: Installing MDK-ARM

·                     Tutorial: Creating STM32F4-Discovery Board Projects

·                     Sample assembly language source file.

·                     Sample assembly language file to be used with startup code

·                     Sample C main file to be used with startup code

·                     Tutorial: Debugging with MDK-ARM

·                     STM32F4-Discovery Kit (Bottom of the page lists vendors for ordering boards.)

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

·                     STM32F4-Discovery “Blinky” Example (.zip file)

·                     C function to configure system core clock to 168MHz

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

·                     STMicroelectronics

·                     STM32F407VG Microcontroller - Web Resources

·                     STM32F4xx Microcontrollers Technical Reference Manual

·                     STM32F4xx Cortex-M4 programming manual

·                     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, Class notes (scan)

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

·                            Data sheet,  Application note, Class notes (scan)

·                     ARM Resources

·            ARM Cortex-M4 User Guide

·            ARM Thumb Instructions Quick Reference

·                         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/support/university/index.php/

·               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

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