ECE 4680L/6680L Embedded Computing


This course teaches the principles of using computing in the larger context of a system. The student is expected to enter this class with an understanding of computer architecture, assembler, and proficiency programming in the C (or related) language. Emphasis is given to multimedia data (images, audio, graphics) as examples of processing found in an embedded system. In concurrent lab work, each student will design and implement many of the ideas that are found in a digital video camera.

Topics include data in embedded systems, displays, codecs, processor and bus "flavors", the boot process, real-time scheduling and device drivers.

Syllabus


Information on the lab, computers and software


Teaching assistant: Sriram Madhivanan, smadhiv@clemson.edu, office Riggs 10
Images used in several of the labs.
Here is the tentative outline for the semester. Dates and topics are subject to change.

Day Lecture topics (instructor notes) Extra references Lab assigned Lab due
Thursday, 1/12 Introduction, embedded system data types
Tuesday, 1/17 Images, displays
Thursday, 1/19 Colormaps, introduction to lab computers (ECE 668L) lab 1 - image display. The code stubs for the X version and Windows version of the lab. See above link for images.
Tuesday, 1/24 Image bits, introduction to lab computers (EEC 468L)
Thursday, 1/26 Helper programs
Tuesday, 1/31 RLE codec lab 2 - RLE codec. See above link for images. Lab 1 due. Code must be emailed to assign server by midnight, 1/31. Demo session days/times Wednesday 2/1 4-6pm and Thursday 2/2 10am-12pm in Riggs 304.
Thursday, 2/2 LZW codec Worksheet to practice LZW decoding. lab 3 - LZW codec. See above link for images.
Monday 2/6, 4:30-5:30pm, TBD Test cases, help session
Tuesday, 2/7 Huffman codec lab 4 - Huffman codec. See above link for images. Lab 2 due. Code must be emailed to assign server by midnight, 2/7. Demo session days/times Wednesday 2/8 4-6pm and Thursday 2/9 10am-12pm in Riggs 304.
Thursday, 2/9 JPEG codec Partner suggestions solicitied.
Tuesday, 2/14 buses Partner teams determined. Lab 3 due. Code must be emailed to assign server by midnight, 2/14. Demo session days/times Wednesday 2/15 4-6pm and Thursday 2/16 10am-12pm in Riggs 304.
Thursday, 2/16 microcontrollers
Tuesday, 2/21 digital signal processors (DSP chips)
Thursday, 2/23 triangle rendering See John Burkardt's site for a large selection of PLY files. An example solving a plane-ray intersection. An explanation of using the cross product test to determine if a point is inside a triangle. lab 5 - triangle rendering. Some PLY files available here.
Tuesday, 2/28 graphics processors (GPUs) Lab 4 due. Code must be emailed to assign server by midnight, 2/28. Demo session days/times Tuesday 2/28 2:30-4pm and Wednesday 3/1 10am-Noon in Riggs 304.
Thursday, 3/2 example presentations: ARM processors and SHARC DSPs. Which is good and which is bad? Midterm. Topics solicited.
Tuesday, 3/7 JTAG (chip debugging)
Thursday, 3/9 the boot process A wiki list of Linux distributions. lab 6 - booting and the kernel. The manual for the lab. The virtual machine to get you started. Midterm topics due by 12 Noon so that the schedule can be determined and presented during class.

Lab 5 due. Code must be emailed to assign server by midnight, 3/9. Demo session days/times Thursday 3/9 1-3pm and Friday 3/10 3pm-5pm in Riggs 304.

Tuesday, 3/14 midterm presentations
Thursday, 3/16 midterm presentations Midterm reports due. Hardcopies collected in class.
Tuesday, 3/21 no class - Spring break
Thursday, 3/23 no class - Spring break
Tuesday, 3/28 Intellectual property protection
Thursday, 3/30 device drivers lab 7 - device driver. The manual for the lab. The programming guide for the sound card. The sound data to use for the lab. Lab 6 due. No code turned in. Demo session days/times Thursday 3/30 4:30-6pm and Friday 3/31 10am-12pm in Riggs 304.
Tuesday, 4/4 real-time O/S Scheduling examples.
Thursday, 4/6 rate monotonic analysis RMA protocol examples, excerpt from Briand and Roy's book.
Tuesday, 4/11 rate monotonic analysis What happened on Mars?, a great example of a scheduling problem.

Video simulation of Mars pathfinder landing.

lab 8 - rate monotonic analysis. Lab 7 due. No code turned in. Demo session days/times Tuesday 4/11 4:30-6pm and Wednesday 4/12 10am-12pm in Riggs 304.
Thursday, 4/13 Embedded system development platforms Final. Topics solicited.

A bad report and a good report. Examples of bad paragraphs and bad slides.

Tuesday, 4/18 example embedded system: bite counter
Thursday, 4/20 Microsoft anti-trust case Lab 8 due. No code turned in. Hardcopies collected in class.

Final topics due by 12 Noon so that the schedule can be determined and presented during class.

Tuesday, 4/25 final presentations
Thursday, 4/27 final presentations Final reports due. Hardcopies collected in class.

Last updated March 2017
ECE 4680L/6680L Page / Clemson / ahoover@clemson.edu