UNC- Charlotte ECGR 4101/5101

Embedded Systems-Spring 2010

Internet-based Lecture, Assignments Due Fridays

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

Notes

This page updated

May 6, 2010


  


 

Lectures
I use PowerPoint slides to teach this class.  I recommend you print a copy of these before you view the class lectures so you spend more time understanding the material than writing notes. 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
Lecture 1 - Part 1
Lecture 1 - Part 2

Syllabus

Notes 1: Introduction to Embedded Systems and Microcontroller-based Circuit Design (updated 11/18/10 - minor)
(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

Lecture 2 - Part 1
Lecture 2 - Part 2
Notes 1-13 to 1-29

Notes 2: M16C Instruction Set Architecture (updated 11/18/10 - minor)
 (2-1 to 2-15)
ISA, register set, addressing modes, operations

MDS pp. 1-26, 170-180

MSM pp. 1-32

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

 

Lecture 4 - Part 1
Lecture 4 - Part 2

Notes 3-13 to 3-29

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

Notes 4-5 to 4-35

Renesas Tools example

Plus these Handouts and Extra Notes

Renesas Quick Start Guide  
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
Lecture 7 - Part 1
Lecture 7 - Part 2
Dynamic memory management and linked lists
 
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
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

Lecture 10 Analog to digital conversion - Analog to Digital Converters, Stuart Ball

- MDS pp. 187-202
convert_temp.c, convert_temp.h, main_convert_temp.c, lab5_ADC_example.c
Lecture 11 - Part 1
Lecture 11 - Part 2
Notes 8-16 to 8-34
Plus these Extra Notes
Analog to digital conversion  
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

Lecture 13 Notes 10-11 to 10-27 Plus these
  Extra Notes
Interrupt concepts and behavior and how to program with them in C

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

serial_poll_demo.c; serial_poll_includes.h


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

Lecture 16 Notes 12-5 to 12-6
Plus these Extra Notes
Serial ISRs, synchronization between ISR and main program   
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   
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
Lecture 19 - Part 1
Lecture 19 - Part 2
Notes 13-18 to 13-28
Plus these Extra Notes
       
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
Lecture 21 will not be recorded - read the notes   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
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  
Lecture 23 - Part 1
Lecture 23 - Part 2
Round-robin non-preemptive scheduler - Reentrancy, Jack Ganssle
see skp26.c and skp26.h
Lecture 24 - Part 1
Lecture 24 - Part 2
State machines, Thread Control Blocks Context Switch, David Kalinsky
Lecture 25 - Part 1
Lecture 25 - Part 2
Notes 18-9 to 18-30
Plus these Extra Notes
     
Lecture 26 Shared data problem revisited, Synchronization primitives    
Lecture 27 Semaphores and Monitors, NRT and RT Scheduling    
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.