Difference between revisions of "Main Page"

From Embedded Xinu
Jump to navigation Jump to search
m (Moved __NO*__ to bottom)
 
(55 intermediate revisions by 11 users not shown)
Line 1: Line 1:
{| class="messagebox" style="background-color: #cfc"
+
= Welcome SIGCSE 2024! =
|-
+
To find RISC-V assignments and writeups, see [https://github.com/a1g3/riscv-xinu-hw].  We have instructions for running Embedded Xinu on the Sipeed Nezha below. Check out "Building an Embedded Xinu Laboratory".  For solutions to homework assignments, please email dennis (dot) brylow (at) marquette.edu or alexander (dot) gebhard (at) marquette.edu.
| style="font-size:20px; color: green; font-weight: bold;" | Embedded XINU Version 1.0 Released
 
|-
 
| The venerable [[XINU]] operating system has been used in classrooms, research labs, and commercial development firms for nearly a quarter of a century. Reimplemented in ANSI standard C, targeted to a modern RISC architecture, and optimized for resource-scarce embedded systems, Embedded XINU is rested, relaxed, and ready to go for the next quarter century.<br />Get it in the [[Downloads]] section.
 
|}
 
  
== About Embedded XINU ==
+
= Introduction =
 +
'''Embedded Xinu''' is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems.  Its original goal was to re-implement and port the [[Xinu|Xinu Operating System]] to several embedded MIPS platforms, such as the Linksys [[WRT54GL]] router.  Since then, Embedded Xinu has been ported to other platforms, such as the [[mipsel-qemu|QEMU MIPSel virtual environment]] and the [[Raspberry Pi]]; see the [[list of supported platforms]].  Although Embedded Xinu is still being developed and ported to new platforms, a laboratory environment and curriculum materials are already in use for courses in Operating Systems, Hardware Systems, Embedded Systems, Networking, and Compilers at Marquette University and other colleges/universities.
  
Embedded XINU is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems. Its goal is to port the [[XINU|XINU Operating System]] to the MIPS platform by specifically targeting LinkSys WRT54GL routers. While this project is still in progress, our prototype laboratory environment is already being used as the platform for courses
+
The Embedded Xinu project was conceived and is supervised by [https://www.cs.mu.edu/~brylow/ Dr. Dennis Brylow] and is being conducted by both graduate and undergraduate students in the [[Systems Laboratory]] in the [https://www.cs.mu.edu/ Computer Science] department of [https://www.mu.edu/ Marquette University] in Milwaukee, WisconsinThe first major phase of work on Embedded Xinu began in the Summer of 2006.
in Operating Systems, Hardware Systems, Embedded Systems, and CompilersWe're also working on support for Networking and Internetworking classes.
 
  
The Embedded XINU project was conceived and is supervised by [http://www.mscs.mu.edu/~brylow/ Dr. Dennis Brylow] and is being conducted by both graduate and undergraduate students in the [http://www.mscs.mu.edu/ Math, Statistics, & Computer Science] department of [http://www.mu.edu/ Marquette University] in Milwaukee, Wisconsin.  The first major phase of work on Embedded XINU began in the Summer of 2006.
+
Our project partners include [https://www.cse.buffalo.edu/~bina/ Dr. Bina Ramamurthy] at University of Buffalo (with whom we shared an [https://www.nsf.gov/pubs/2009/nsf09529/nsf09529.html NSF CCLI] grant), [https://cs.olemiss.edu/~ruth/wiki/doku.php Dr. Paul Ruth] at University of Mississippi, and [https://www.cs.purdue.edu/people/comer Dr. Doug Comer] (father of Xinu) at Purdue University.
  
== Embedded XINU Guides ==
+
== Teaching With Embedded Xinu ==
  
In this section we are developing instructions so that other groups can benefit from the work we are doing.  These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system.  As our work develops further, there will be more XINU-specific information.
+
* For curriculum guidance on adopting or adapting Embedded Xinu for undergraduate coursework, see [[Teaching With Xinu]].
 +
* Workshops have been held regarding teaching with Embedded Xinu.  For example, the [https://www.cs.olemiss.edu/acmse2010/pdf/xinu.pdf Teaching With Embedded Xinu Workshop] at [https://www.cs.olemiss.edu/acmse2010/Home.htm ACMSE 2010] in Oxford, Mississippi (Ole Miss campus) shared ready-made curriculum resources that have been used successfully to teach hardware systems, operating systems, realtime/embedded systems, networking, and compilers with the Embedded Xinu platform at several colleges/universities.
 +
 
 +
== Building an Embedded Xinu Laboratory ==
 +
 
 +
In this section we are developing instructions so that other groups can benefit from the work we are doing.  These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system.  As our work develops further, there will be more Xinu-specific information.
  
 
# Obtain a [[List of supported platforms|supported platform]].
 
# Obtain a [[List of supported platforms|supported platform]].
# [[HOWTO:Modify the Linksys hardware|Modify the Linksys hardware]]
+
# (Required if using a Linksys/Asus router) [[HOWTO:Modify the Linksys hardware|Modify the Linksys hardware]] or [[HOWTO:Modify the ASUS hardware|Modify the ASUS hardware]]
# [[HOWTO:Connect to a modified router|Connect to a modified router]]
+
## [[HOWTO:Connect to a modified router|Connect to a modified router]]
# [[HOWTO:Build and Deploy XINU|Build and Deploy XINU]]
+
# [[HOWTO:Build Xinu|Build Xinu]]
 +
# [[HOWTO:Deploy Xinu|Deploy Xinu]]
 
# (Optional) [[HOWTO:Build Backend Pool|Build a pool of backends]]
 
# (Optional) [[HOWTO:Build Backend Pool|Build a pool of backends]]
 +
# (Recommended) [[HOWTO:Backup your router|Backup your router's factory configuration]]
  
<!-- Research -->
+
== Other Embedded Xinu Information ==
{|style="width:100%; border-spacing:8px; margin:0px -8px;"
 
|style="width:50%; border:1px solid #afb0b0; background:#dbdbdb; vertical-align:top; color:#000;"|
 
{|width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background:#dbdbdb;"
 
! <h2 style="border-bottom: 1px solid black;">[[Research papers|Research]]</h2>
 
|-
 
|style="color:#000;"| {{:Research papers/Current}}
 
|-
 
|}
 
  
<!-- Development -->
+
* MIPS [[processor]]
|style="width:50%; border:1px solid #b4c3e1; background:#dde4f1; vertical-align:topl color:#000;"|
+
* Main [[memory]]
{|width="100%" cellpadding="2" cellspacing="5" style="vertical-align:top; background:#dde4f1;"
+
* [[Exception and Interrupt Handling]]
! <h2 style="border-bottom: 1px solid black;">[[Development tasks|Development]]</h2>
+
* [[UART driver]]
|-
+
* [[TTY driver]]
|style="color:#000;"| {{:Development tasks/Current}}
+
* [[Switch driver]]
|-
+
* [[Networking]]
|}
+
* [[Flash memory]]
|}
+
* [[Flashing firmware]]
 +
* [[EJTAG|Enhanced Joint Test Action Group]] debugger
 +
* [[Standard library]]
 +
* [[XinuPhone]] Internet telephony
 +
* [[Router Recovery]] aka "Debricking"
 +
* [[Development]]
 +
* [[Contributors]]
  
== Internal Documentation ==
+
----
Here is where we develop our research project as it is happening.  While it is possible that there may be more detailed information on a few topics, beyond this point the documentation is only for internal use and not meant for public consumption.
 
  
* '''[[InternalDocs|Internal Documentation]]''' for the current semester.
+
<small><small><small>The Xinu Lab is brought to you in part by [[XMMS|M&M's]].</small></small></small>
* View all [[Special:Prefixindex/InternalDocs/|Internal Documentation]].
 
 
<!--
 
<!--
 
-->__NOTOC__<!-- Disable "Contents" box from showing --><!--
 
-->__NOTOC__<!-- Disable "Contents" box from showing --><!--
 
-->__NOEDITSECTION__<!-- Disable [edit] from appearing --><!--
 
-->__NOEDITSECTION__<!-- Disable [edit] from appearing --><!--
 
-->
 
-->

Latest revision as of 23:13, 23 March 2024

Welcome SIGCSE 2024!

To find RISC-V assignments and writeups, see [1]. We have instructions for running Embedded Xinu on the Sipeed Nezha below. Check out "Building an Embedded Xinu Laboratory". For solutions to homework assignments, please email dennis (dot) brylow (at) marquette.edu or alexander (dot) gebhard (at) marquette.edu.

Introduction

Embedded Xinu is an ongoing research and implementation project in the area of Operating Systems and Embedded Systems. Its original goal was to re-implement and port the Xinu Operating System to several embedded MIPS platforms, such as the Linksys WRT54GL router. Since then, Embedded Xinu has been ported to other platforms, such as the QEMU MIPSel virtual environment and the Raspberry Pi; see the list of supported platforms. Although Embedded Xinu is still being developed and ported to new platforms, a laboratory environment and curriculum materials are already in use for courses in Operating Systems, Hardware Systems, Embedded Systems, Networking, and Compilers at Marquette University and other colleges/universities.

The Embedded Xinu project was conceived and is supervised by Dr. Dennis Brylow and is being conducted by both graduate and undergraduate students in the Systems Laboratory in the Computer Science department of Marquette University in Milwaukee, Wisconsin. The first major phase of work on Embedded Xinu began in the Summer of 2006.

Our project partners include Dr. Bina Ramamurthy at University of Buffalo (with whom we shared an NSF CCLI grant), Dr. Paul Ruth at University of Mississippi, and Dr. Doug Comer (father of Xinu) at Purdue University.

Teaching With Embedded Xinu

  • For curriculum guidance on adopting or adapting Embedded Xinu for undergraduate coursework, see Teaching With Xinu.
  • Workshops have been held regarding teaching with Embedded Xinu. For example, the Teaching With Embedded Xinu Workshop at ACMSE 2010 in Oxford, Mississippi (Ole Miss campus) shared ready-made curriculum resources that have been used successfully to teach hardware systems, operating systems, realtime/embedded systems, networking, and compilers with the Embedded Xinu platform at several colleges/universities.

Building an Embedded Xinu Laboratory

In this section we are developing instructions so that other groups can benefit from the work we are doing. These guides can be followed more or less in order to create a relatively inexpensive platform for a custom operating system. As our work develops further, there will be more Xinu-specific information.

  1. Obtain a supported platform.
  2. (Required if using a Linksys/Asus router) Modify the Linksys hardware or Modify the ASUS hardware
    1. Connect to a modified router
  3. Build Xinu
  4. Deploy Xinu
  5. (Optional) Build a pool of backends
  6. (Recommended) Backup your router's factory configuration

Other Embedded Xinu Information


The Xinu Lab is brought to you in part by M&M's.