|
| ||||||||
|
| |||||||
| Notes # |
Topic |
Key Concepts |
Reading |
Source Code
|
| 1 |
|
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 |
|
| 2 | ISA, register set, addressing modes, operations |
MDS pp. 1-26, 170-180 MSM pp. 1-32
|
||
| 3 | Variables (local, global), memory sections, control structures, call stacks |
P&P Ch. 11, 12, 13 MCPM Ch. 1, 2.1 |
||
| 4 | Functions, arguments, return values, arrays | P&P Ch. 14, 16 | ||
| 5 | Pointers, strings, formatted output | P&P Ch. 18, 19 | ||
| 6 |
Dynamic memory management and linked lists |
|||
| 7 | Start-up module, configuring digital I/O ports, reading and writing them, accessing unions, structures and bitfields in C |
- MCPM Ch. 2 |
||
| 8 | Analog to digital conversion | Analog
to Digital Converters, Stuart Ball - ECE 200 Material on Sampling and Reconstruction - Introduction to Sound Recording, Geoff Martin - MDS pp. 90-98 |
convert_temp.c, convert_temp.h, main_convert_temp.c, lab5_ADC_example.c | |
| 9 | Writing algorithms and code and tests | |||
| 10 | Interrupt concepts and behavior and how to program with them in C |
- Introduction
to Interrupts, Russell Massey |
||
| 11 | Serial communications basics, polled serial communication |
-
RS232: Fulfilling All Your Communication Needs, Robert Ashby |
||
| 12 | Serial ISRs, synchronization between ISR and main program |
Volatile,
Nigel Jones |
serial_int_demo.c | |
| 13 | 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 | |
| 14 | Round-robin non-preemptive scheduler | - Reentrancy, Jack Ganssle | see skp26.c and skp26.h | |
| 15 | 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 |
||
| 16 | Aspects of software testability, test case design (white-box and black-box) | - Studs and Duds, Eric Umansky | ||
| 17 | Context Switch, David Kalinsky | |||
| 18 | Shared data problem revisited, Synchronization primitives | |||
| 19 | Semaphores and Monitors, NRT and RT Scheduling | |||
| 20 |
|
|||
| 21 | Watchdog timers, stack pointer monitoring and brown-out detection | Watchdog
Timers, Niall Murphy & Michael Barr
Born to Fail, Jack Ganssle |
main_wdt.c | |
| Extra |
|
|||
| xx |
|
Efficient
C Code for 8-Bit MCUs, Nigel Jones Fixed-Point Math in C, Joe Lemieux Keys to Writing Efficient Embedded Code, Bill Trudell |
||
| xx |
|
|||
| xx |
|
| MDS | M16C_Hardware_Manual_Rev0.9.pdf | Renesas M30262 Data Sheet |
| MCPM | Renesas M16C/60 M16C/20 Series C Language Programming Manual | |
| MSM | Renesas M16C/60 M16C/20 Software Manual | |
| P&P | Introduction to Computing Systems, Patt & Patel, 2nd Edition |
|
This material is based upon work supported by the National Science Foundation under Grant No. 0133690. Any opinions, findings and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation (NSF).
"ECE306 Home Page" was designed by Robert Morrison.
|