Difference between revisions of "Upgrading Embedded Xinu for the Multi-Core Raspberry Pi 3"

From REU@MU
Jump to: navigation, search
Line 11: Line 11:
  
 
Unfortunately, the documentation for the Raspberry Pi 3's System on Chip is sparse. However, deeper digging yielded more knowledge on how past Raspberry Pi systems have worked. Below is a diagram of the Pi's boot order:
 
Unfortunately, the documentation for the Raspberry Pi 3's System on Chip is sparse. However, deeper digging yielded more knowledge on how past Raspberry Pi systems have worked. Below is a diagram of the Pi's boot order:
[[File:compilation diagram.png]]
+
[[File:pi3_boot_sequence.png]]
  
  
It is also essential to understand how the Pi compiles its settings:
+
It is also essential to understand how the Pi compiles its kernel:
 +
 
 
[[File:compilation diagram3.png]]
 
[[File:compilation diagram3.png]]
  

Revision as of 14:28, 2 June 2017

Researchers: Tom Lazar, Patrick J. McGee, Rade Latinovich and Priya Bansal. Mentor: Dr. Dennis Brylow.

Background && Motivation

The Embedded Xinu infrastructure is a simple operating system designed to introduce students to many low level computing concepts, including Driver Creation, Exception and Interrupt Handling, and much more. Many universities have created Xinu Labs, classrooms running Xinu on multiple embedded devices (either Raspberry Pis or Linksys Routers). Marquette University uses one such Xinu Lab to teach its Operating Systems course.

Using information obtained from past studies, we expand on the current Xinu infrastructure. One of the main goals of this project is to modify Xinu to run on new multi-core Raspberry Pi 3s while still maintaining support for previous platforms. Another goal of this project is to create structures within Xinu which effectively and efficiently use multiple cores.

Milestones

In order to begin porting Xinu onto the new architecture of the Raspberry Pi 3, we first needed to understand the fundamental differences between the Pi 3 and its simpler predecessor, the Pi 1 (which currently runs Xinu in Marquette's Systems Lab).

Unfortunately, the documentation for the Raspberry Pi 3's System on Chip is sparse. However, deeper digging yielded more knowledge on how past Raspberry Pi systems have worked. Below is a diagram of the Pi's boot order: File:Pi3 boot sequence.png


It is also essential to understand how the Pi compiles its kernel:

Compilation diagram3.png


  • Got a bare metal program to run on our Raspberry Pi 3
    - Turned on an LED light using GPIO pin 16 on our Pi