architectures Harvard, von Neumann RISC, CISC microprocessor, microcontroller memory registers SRAM EEPROM FLASH fuse peripherals A/D comparator D/A timer/counter/PWM USART USB ... word size 8 16 32 64 families 8051 PIC MSP ARM AVR, AVR32 processors ATtiny10 ATtiny45 ATtiny44A ATmega88PA ATmega1284P AT32UC3B164 packages DIP SOIC TSSOP TQFP MLF vendors Digi-Key Mouser Newark clocks RC ceramic quartz assembly language hex file instruction set, opcodes mnemonics, directives, expressions AVR Studio avr-as gavrasm C AVR Libc avr-libc, binutils-avr, gcc-avr WinAVR CrossPack languages, interpreters, scripting Basic, Python, ... Scratch, Modkit, ... Processing Wiring Arduino in-system development ISP ICE JTAG debugWire bootloader debugging "printf" AVR Studio ddd, gdb, gdb-avr, avarice serial communications RS232 term.py VT100/ANSI/ISO/ECMA terminal Kermit Minicom serial echo hello.echo.44.cad hello.echo.44.asm hello.echo.44.c makefile use 20 MHz xtal: avrdude -p t44 -c bsd -U lfuse:w:0x7E:m load hex file: avrdude -p t44 -c bsd -U flash:w:hello.echo.44.hex assignment - read an AVR data sheet - add a button to the serial echo hello-world board - modify the serial echo assembly program to respond to the button - modify the serial echo C program to respond to the button gurus lab sections Wed 6:00P: Jonathan Thu 9:00A: Nadya Fri 1:00P: David Sat 3:00P: Nadya, Jonathan