By Stephen Chavez & Joshua Michael Waggoner
For our final project we plan to create a minimal operating system that will be implemented on a Raspberry Pi, using ARMv6 assembly language. The operating system will be capable of manipulating all GPIO pins that are on the Raspberry Pi's board, displaying text, and executing commands. From this skeleton of an operating system, we plan to add more functionality as time goes on, and possibly use it for educational purposes in the future. Estimated budget for Raspberry Pi kit, GPIO breakout cables, LED's, SD card, breadboard and wires is under $100.
*Note: Can be connected to optional LED cube assembly through a GPIO breakout cable.
- Raspberry Pi© (Model B) - http://en.wikipedia.org/wiki/Raspberry_Pi
- Blank 2GB SD Card - http://en.wikipedia.org/wiki/Secure_Digital
- Various LEDs - http://en.wikipedia.org/wiki/Light-emitting_diode (optional)
- Various wires and solder for LED cube. (optional)
- GPIO breakout cable. (optional)
- Breadboard for prototyping. (optional)
We will target the following specific goals and tasks to do from this project:
- We will learn how most operating systems boot up once you switch the power on.
- We will know how to take input from the user, display text to the screen, directly with our own code, and interact with other hardware in the later stages of the project, leaving it open for later improvements and added functionality.
- We will be use and improve our understanding of ARM assembly language.
- We will learn how to "pair program".
- We will learn how to keep and manage a repository of a large project using git-hub.
- We will learn leadership skills, and how to work in teams.
- The ARMv6 manual - http://ecee.colorado.edu/ecen3000/labs/lab3/files/DDI0419C_arm_architecture_v6m_reference_manual.pdf
- University of Cambridge Baking Pi Raspberry Pi OS Tutorial - https://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/
https://www.youtube.com/playlist?list=PLTBdZ9kVzjDw-kqISqD1Qm9uIgpZ4_m9Q