|
|
|
|
|||||||
Lecture # |
Notes Topic
|
Key Concepts
|
Reading & Resources
|
8/24/09 ![]() ![]() |
Syllabus |
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![]() ![]() |
Notes 1-13 to 1-29![]() (2-1 to 2-15) |
ISA, register set, addressing modes, operations | MDS pp. 1-26, 170-180 MSM pp. 1-32 |
8/31/09![]() ![]() |
Notes 2-15 to 2-28 |
Variables (local, global), memory sections, control structures, call stacks | P&P Ch. 11, 12, 13 MCPM Ch. 1, 2.1
|
9/2/09![]() ![]() |
Notes 3-13 to 3-29 |
Functions, arguments, return values, arrays | P&P Ch. 14, 16 |
9/9/09![]() ![]() |
Notes 4-5 to 4-35 Renesas Tools example Plus these |
Renesas Quick Start Guide | |
9/14/09![]() ![]() |
Pointers, strings, formatted output | P&P Ch. 18, 19 | |
9/16/09![]() ![]() |
![]() (6-1 to 6-16) |
Dynamic memory management and linked lists
|
|
9/21/09![]() ![]() |
Plus these |
Writing algorithms and code and tests | Ten essential elements to guarantee enhanced software quality, Deepti Sharma |
9/30/09![]() ![]() |
Start-up module, configuring digital I/O ports, reading and writing them, accessing unions, structures and bitfields in C | - MCPM Ch. 2 |
|
9/28/09![]() |
Analog to digital conversion | - MDS pp. 187-202 |
|
10/5/09![]() ![]() |
Notes 8-16 to 8-34 Plus these ![]() |
Analog to digital conversion | |
10/7/09![]() ![]() |
Interrupt concepts and behavior and how to program with them in C | - Introduction to Interrupts, Russell Massey |
|
10/19/09 Guest Lecture |
Notes 10-11 to 10-27 Plus these ![]() |
Interrupt concepts and behavior and how to program with them in C | |
10/21/09![]() ![]() |
|
Serial communications basics, polled serial communication | - RS232: Fulfilling All Your Communication Needs, Robert Ashby |
10/26/09![]() ![]() |
Notes 11-15 to 11-25 |
Serial ISRs, synchronization between ISR and main program | Volatile, Nigel Jones serial_int_demo.c |
10/28/09![]() |
Notes 12-5 to 12-6 Plus these ![]() |
Serial ISRs, synchronization between ISR and main program | |
11/2/09![]() ![]() |
Notes 12-6 to 12-16 Plus these ![]() |
Serial ISRs, synchronization between ISR and main program | |
11/4/09![]() ![]() |
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![]() ![]() |
Notes 13-18 to 13-28 Plus these ![]() |
||
11/11/09![]() ![]() |
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![]() ![]() |
![]() (16-1 to 16-18) Plus these ![]() |
General discussion of schedulers and operating systems | |
11/18/09![]() ![]() |
Round-robin non-preemptive scheduler | - Reentrancy, Jack Ganssle see skp26.c and skp26.h |
|
11/23/09![]() ![]() |
State machines, Thread Control Blocks | Context Switch, David Kalinsky | |
11/30/09![]() ![]() |
Notes 18-9 to 18-30 Plus these ![]() |
||
12/2/09![]() |
Shared data problem revisited, Synchronization primitives | ||
12/9/09![]() |
Semaphores and Monitors, NRT and RT Scheduling | ||
12/7/09![]() |
|
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 |
MDS | M16C62_Hardware_Manual_rev1.20.pdf | Renesas M30626P Data Sheet |
MCPM | Renesas M16C/60 M16C/20 Series C Language Programming Manual | |
MSM | Renesas M16C/60 M16C/20 Software Manual | |
P&P | Patt and Patel Slides | Introduction to Computing Systems, Patt & Patel, 2nd Edition |