22C:196:002 (CS:4908:0003), Compiler Construction
Spring 2014 Lab Materials
Douglas W. Jones
This target machine for the compiler we will write in this course is the ARM processor running under Linux. To support this, the department has purchased 20 Raspberry Pi systems. These are available for long-term checkout, but they must be returned at the end of the semester. The kit includes:
You are entirely responsible for replacing (or paying replacement costs) for any of the above parts that are not returned at by the semester's end. Students are free to buy their own Raspberry Pi systems. Alternative cases are available (including many DIY designs), and if you own it, you can add heat sinks, use a 1 Amp power supply, and overclock to 1GHz. With the departmental machines, we do not recommend operating above 800MHz.
The department provides several Raspberry-oriented workstations in the back of room 301 MLH, each with:
If you work at home, the Pi should work with just about any USB mouse and keyboard. The Engineering Electronics Shop and the U of I Bookstore Tech Conneciton stock USB mice for about $7 and USB keyboards for about $12.
Modern flat-panel TVs usually have HDMI inputs and can make good HDMI monitors. In addition, HDMI-to-DVI adapter cables are available, allowing use of DVI monitors, and the Pi also has a composite video output for older CRT-based TVs. HDMI and HDMI-to-DVI cables are available for under $8 from the Engineering Electronics Shop.
Plugging a Raspberry into a cable for use on a wired network is straightforward. Going wireless requires a USB wireless adapter and some adventures in system administration.
Whether you buy your own Raspberry Pi or borrow a departmental one, you will be required to provide your own SD card. This card will serve as your personal system "disk" for the Raspberry Pi. The minimum capacity required is 2GB, but 8GB Class 4 SD cards are available from numerous sources for under $9. Note that Class 4 cards are on the slow side. Class 10 SD cards are nice, but cost significantly more and some of them may not work well with the Pi.
See homepage.cs.uiowa.edu/~dwjones/raspberry/setup.shtml for notes on setting up your Pi system.