The installation guide assumes basic knowledge of the UNIX command line (opening a shell, entering commands, navigating file system, editing text files). Read our UNIX guide for a quick introduction. Those new to UNIX may want to check out the unix videos/guides prepared for CS107 students.
We peppered our instructions with ✔️Check points that confirm your progress through the steps. Use them to validate a task before moving on to the next step. Do not be alarmed about the long-winded unix-babble produced during installation – these tools are total chatterboxes. If you hit a snag, ask on Piazza or come to office hours and we can help you out!
You must configure your laptop with a development environment capable of writing and compiling programs to run on the Raspberry Pi. The development tools are unix-based. Mac OS and Linux natively support an appropriate environment, on Windows you must enable WSL (Windows Subsystem for Linux) and work in an Ubuntu instance running on top of Windows OS.
The installation steps are:
arm-none-eabicross-compile toolchain. A cross-compiler is a development toolchain that runs on one system (e.g., x86) and generates machine code for a different system (in this case, ARM). The toolchain includes the C compiler and other essential development tools (assembler, linker, debugger, and utilities).
cs107e_homedirectory to store your class materials
After completing above steps, use the list below to confirm your environment from top to bottom.
✔️Check: confirm toolchain (ok if version is newer):
$ arm-none-eabi-as --version GNU assembler (GNU Binutils) 2.24 Copyright 2013 Free Software Foundation, Inc.
✔️Check: start debugger and confirm ARM simulator is available:
$ arm-none-eabi-gdb GNU gdb (GDB) 7.8.1 Copyright (C) 2014 Free Software Foundation, Inc. .... blah blah blah ... (gdb) target sim Connected to the simulator. (gdb) quit
✔️Check: confirm rpi-install.py version 1.1:
$ rpi-install.py -h usage: rpi-install.py [-h] [-d device] [-v] [-p | -s] [file] This script sends a binary file to the Raspberry Pi bootloader. Version 1.1.
✔️Check: confirm environment variables CS107E and PATH:
$ ls $CS107E/lib/libpi.a /Users/myname/cs107e_home/cs107e.github.io/cs107e/lib/libpi.a $ pinout O-------------------------------O | oooooooooooooooooooo J8 | | 1ooooooooooooooooooo | | | |[RUN] Pi Model A+ V1.1 +===== ...
✔️Check: confirm your git identity:
$ git config --get-regexp user user.name My Full Name user.email firstname.lastname@example.org