UNC- Charlotte ECGR 4101/5101

Embedded Systems-Fall 2009

Lecture, 2:00 - 3:15 PM, MW, Woodward Hall 140

 Home   |   Announcements   |   Notes/Readings   |   Homework   |   Quiz/Exams   |   Labs   |   ECE Dept.   |   UNCC
 

Notes

This page updated

December 9, 2009


  


 

Lectures
I use PowerPoint slides to teach this class.  I recommend you come to class with a copy of these so you spend more time understanding the material than writing notes off the board. You can download the PDF files below and print them at home or on campus.

The lecture movies (MTS) MUST be viewed with VLC Viewer (since the CODEC used for this camera is extremely rare).
  
Document Viewers
Portable Document Format (PDF) documents can be viewed with Adobe Acrobat Reader.
 
Lecture #
Notes Topic
Key Concepts
Reading & Resources
8/24/09
Lecture 1 - Part 1
Lecture 1 - Part 2

Syllabus

Notes 1: Introduction to Embedded Systems and Microcontroller-based Circuit Design
(1-1 to 1-12)

Overview, class policies, basic hardware design Beware of Programmers Carrying Screwdrivers, Jack Ganssle

The Two Percent Solution, Jim Turley

The Death of ASICs Jim Turley

8/26/09
Lecture 2 - Part 1
Lecture 2 - Part 2
Notes 1-13 to 1-29

Notes 2: M16C Instruction Set Architecture
 (2-1 to 2-15)
ISA, register set, addressing modes, operations

MDS pp. 1-26, 170-180

MSM pp. 1-32

8/31/09
Lecture 3 - Part 1
Lecture 3 - Part 2

Notes 2-15 to 2-28

Notes 3: C Programming Review and Dissection I
 (3-1 to 3-12)

Variables (local, global), memory sections, control structures, call stacks

P&P Ch. 11, 12, 13

MCPM Ch. 1, 2.1

 

9/2/09
Lecture 4 - Part 1
Lecture 4 - Part 2

Notes 3-13 to 3-29

Functions, arguments, return values, arrays P&P Ch. 14, 16
9/9/09
Lecture 5 - Part 1
Lecture 5 - Part 2

Notes 4-5 to 4-35

Renesas Tools example

Plus these Extra Notes

Renesas Quick Start Guide  
9/14/09
Lecture 6 - Part 1
Lecture 6 - Part 2
Notes 4-35, Demo of tools

Notes 5: C Programming Review and Dissection III
(5-1 to 5-16)
Pointers, strings, formatted output P&P Ch. 18, 19
9/16/09
Lecture 7 - Part 1
Lecture 7 - Part 2
Dynamic memory management and linked lists
 
9/21/09
Lecture 8 - Part 1
Lecture 8 - Part 2

Notes 9: Disciplined Software Development
(9-1 to 9-26)

Plus these Extra Notes

Writing algorithms and code and tests Ten essential elements to guarantee enhanced software quality, Deepti Sharma
9/30/09
Lecture 9 - Part 1
Lecture 9 - Part 2
Start-up module, configuring digital I/O ports, reading and writing them, accessing unions, structures and bitfields in C

- MCPM Ch. 2
- MDS pp. 43-62
- P&P 8.1 and 8.5

9/28/09
Lecture 10
Analog to digital conversion - MDS pp. 187-202

10/5/09
Lecture 11 - Part 1
Lecture 11 - Part 2
Notes 8-16 to 8-34
Plus these Extra Notes
Analog to digital conversion  
10/7/09
Lecture 12 - Part 1
Lecture 12 - Part 2
Interrupt concepts and behavior and how to program with them in C

- Introduction to Interrupts, Russell Massey
- Interrupt Latency, Jack Ganssle
- MDS pp. 37-56, 73-74
- Introduction to Interrupt Debugging, Stuart Ball
- MCPM pp. 112-117

10/19/09
Guest Lecture
Notes 10-11 to 10-27
Plus these Extra Notes
Interrupt concepts and behavior and how to program with them in C
10/21/09
Lecture 14 - Part 1
Lecture 14 - Part 2

Notes 11: Serial Communications
(11-1 to 11-14)
Plus these Extra Notes

Serial communications basics, polled serial communication

- RS232: Fulfilling All Your Communication Needs, Robert Ashby
- Quick Reference for RS485, RS422, RS232 and RS423
- Not so quick reference:
The RS232 Standard:
A Tutorial with Signal Names and Definitions,
Christopher E. Strangio

10/26/09
Lecture 15 - Part 1
Lecture 15 - Part 2
Serial ISRs, synchronization between ISR and main program

Volatile, Nigel Jones
Asynchronicity, Jack Ganssle
The Shared-Data Problem (4.3), David Simon (from An Embedded Software Primer, Addison Wesley)

serial_int_demo.c

10/28/09
Lecture 16
Notes 12-5 to 12-6
Plus these Extra Notes
Serial ISRs, synchronization between ISR and main program   
11/2/09
Lecture 17 - Part 1
Lecture 17 - Part 2
Notes 12-6 to 12-16
Plus these Extra Notes
Serial ISRs, synchronization between ISR and main program   
11/4/09
Lecture 18 - Part 1
Lecture 18 - Part 2
Examine timers, event counters, PWM, and cascading in the M30262 Pulse-Width Modulation, Michael Barr
Introduction to Counter/Timers, Stuart Ball and Michael Barr
SKP timer demo code
11/9/09
Lecture 19 - Part 1
Lecture 19 - Part 2
Notes 13-18 to 13-28
Plus these Extra Notes
       
11/11/09
Lecture 20 - Part 1
Lecture 20 - Part 2
Notes 14: Software Testing
(14-1 to 14-29)
Plus these Extra Notes
Aspects of software testability, test case design (white-box and black-box) - Studs and Duds, Eric Umansky
  Debugging approaches, visibility into embedded systems, getting debug information out, debug tools and features - P&P Ch. 15
- Twiddle Bits, Michael Gauland, pp. 50-62
11/16/09
Lecture 22 - Part 1
Lecture 22 - Part 2
Notes 16: Sharing the Processor
(16-1 to 16-18)
Plus these Extra Notes
General discussion of schedulers and operating systems  
11/18/09
Lecture 23 - Part 1
Lecture 23 - Part 2
Round-robin non-preemptive scheduler - Reentrancy, Jack Ganssle
see skp26.c and skp26.h
11/23/09
Lecture 24 - Part 1
Lecture 24 - Part 2
State machines, Thread Control Blocks Context Switch, David Kalinsky
11/30/09
Lecture 25 - Part 1
Lecture 25 - Part 2
Notes 18-9 to 18-30
Plus these Extra Notes
     
12/2/09
Lecture 26
Shared data problem revisited, Synchronization primitives    
12/9/09
Lecture 27
Semaphores and Monitors, NRT and RT Scheduling    
12/7/09
Lecture 28
Watchdog timers, stack pointer monitoring and brown-out detection Watchdog Timers, Niall Murphy & Michael Barr

Born to Fail, Jack Ganssle

main_wdt.c

     Miscellaneous readings
Efficient C Code for 8-Bit MCUs, Nigel Jones
Fixed-Point Math in C, Joe Lemieux
Keys to Writing Efficient Embedded Code, Bill Trudell

References

MDS M16C62_Hardware_Manual_rev1.20.pdf Renesas M30626P Data Sheet
MCPM

M16C_C_Programming_Manual.pdf

Renesas M16C/60 M16C/20 Series C Language Programming Manual
MSM

M16C_Software_Manual.pdf

Renesas M16C/60 M16C/20 Software Manual
P&P Patt and Patel Slides Introduction to Computing Systems, Patt & Patel, 2nd Edition

 

Adobe® Acrobat® Reader is free, and freely distributable, software that lets you view and print Portable Document Format (PDF) files.  (Acrobat Reader is already installed for use on MOSAIC workstations.)
   
Ghostscript software allows you to view and print PostScriptTM (PS) documents.