Course Materials
There are a large number of souces for reference. There sources include:
- Textbook
For most of the semester, we'll not be using any textbook. However, we will
be using small parts of:
- E. A. Lee and S. A. Seshia,
Introduction to Embedded Systems - A Cyber-Physical Systems Approach,
LeeSeshia.org, 2015.
A free on-line version of the book can be found at http://leeseshia.org/. The text is, on the
whole, at a higher-level than we'll generally work at. But parts are useful
to us and the rest is worth scanning just to get an idea about what
"embedded systems" means to others.
- Slides:
Lecture recordings starting with L2 can be found here.
- Lecture 1: Overview, start ISA example.
pptx
pdf
- Lecture 2: Architecture, Assembly, and ABI
pptx
pdf
- Lecture 3: Assembly, ABI, start in memory mapped I/O
pptx
pdf
markup.pdf
- Lecture 4: Assembly, MMIO, Busses (simple, high-level, APB)
pptx
pdf
(see markup for lecure 5 for correct solutions)
- Lecture 5: Review, APB, start interrupts
pptx
pdf
markup.pdf
- Lectures 6 and 7: Interrupts
pptx
pdf
markup.pptx
- Lecture 8: Timers, Counters, and a bit of Digital Logic (Digital logic
stuff done in lecture 9)
ppt
pdf
- Lecture 8b: Visual Interrupts Example, End of Lecture 8
ppt
pdf
markup.pptx
- Lecture 9: Serial busses and digital design
timers
pptx
pdf
- Midterm Review (just a collection of past slides to help conversation)
pptx
pdf
- Lectures 10 and 11: Analog and digital converters. Sampling, range, error, etc.
pptx
pdf
b.pptx
b.pdf
- Lecture 12: AHB and PCBs (See piazza for link)
- Lecture 13: Real time OSes (RTOS)
pptx
pdf
Student talks
- Manuals and Datasheets
- ARMv7 Architecture Reference Manual
- ARM Cortex-M3 Technical Reference Manual v2.1
- ARM and Thumb-2 Instruction Set Quick Reference Card
- ARM Architecture Procedure Call Standard (EABI)
- ARM Cortex-M3 Embedded Software Development (AN-179)
- Actel SmartFusion MSS User Guide
- Actel SmartFusion Analog User Guide
- Actel A2F Eval Kit User Guide
- CodeSourcery Getting Started
- GNU Assembler
- GNU Compiler
- GNU Linker
- GNU Debugger
- GNU Binary Utilities