We prepared these guides on various topics relevant to CS107E students. Hope you find them useful.
Review
- Electricity basics
- Binary and hexadecimal number representations and bitmasking
- Unix command line
Kit and Tools
- Bill of Materials (BOM) for CS107e Parts Kit
- Recommendations for hand tools
Installation
- Installing the developer tools on your computer
Raspberry Pi
- Raspberry Pi pinout diagram (also available as postcard in your kit and poster on lab wall)
- Powering the Pi
- Working with SD cards
- Using the bootloader
- Reset the Pi without unplugging
- Interacting with GPIO pins
Development tools/process
- Git workflow used for CS107e labs/assignment code
- Git for version control
- One page of ARM
- Bare metal programming using gcc
- Using make for ARM cross-development
- Using gdb in simulation mode
- binutils
- Testing strategy
Extras
These resources have not been thoroughly vetted, but were successfully used Fall 2019.
- Code to read/write files on the SD card
- Using 2 ESP-32 devices to build a Uart Wifi bridge between 2 Raspberry Pis
- Using ESP-32 to serve a web page