Skip to content
This repository has been archived by the owner on Mar 24, 2024. It is now read-only.
Edward Nutting edited this page Feb 25, 2017 · 4 revisions

Welcome to the FlingOS wiki!

The README of this repository has a bunch of useful information and the articles on the website also have information about joining the team and setting up for development and descriptions of things like the Drivers Compiler.

Gradually, technical information about FlingOS will shift to this wiki. The main learning articles will remain on the FlingOS website. In the long-run, everything might eventually shift to Github.

Structure

  • Documentation : Contains the SHFB documentation project and reference articles. The latest build of the documentation is available to view on the website.
    • Markdown : Contains the markdown-syntax reference articles.
  • Drivers : Contains code for kernel mode drivers and the main (/new) FlingOS Compiler.
    • Compiler : Contains the FlingOS Compiler which can compile both drivers and the kernel.
      • App : Contains a command-line app for starting/executing the compiler.
      • Architectures : Contains target architecture libraries (currently x86 and MIPS)
      • MSBuildTask : Contains an MSBuild Task implementation for starting/executing the compiler as an MSBuild post-build task.
      • Tools : Contains 3rd party tools used by FlingOS during building.
    • Debugger : Contains the debugger for the kernel and drivers.
      • Drivers.Debugger : Base library for intreacting with the kernel's debugger.
      • Drivers.Debugger.App : GUI (Windows Forms) debugger application for debugging the kernel.
    • TestDriver : Contains a C# kernel-mode test driver which is being used for developing the FlingOS ABI.
    • Other : Other folders contain old RAW-build, kernel and user mode test drivers.
  • Kernel : Contains the main kernel code.
    • Compiler : Tools used specifically for compiling the kernel. Contains the ISO Generator wrapper program.
    • Kernel : Contains the main kernel project which acts as the root of the system. See Kernel.cs:Main for the primary entrypoint.
    • Libraries
      • Kernel.FOS_System : Contains replacements for the .NET Framework System and System.Collections classes.
      • Kernel.FOS_System.IO : Contains classes for I/O in a similar way to .NET Framework System.IO namespace does (not direct replacements).
      • Kernel.Hardware : Contains built-in drivers for specific hardware along with some higher features such as scheduling.
  • MIPS : Contains our two preliminray MIPS-targetted testing kernels.
    • Testing1 : A very basic kernel for UBoot Kermit-booting over serial that just uses the LED.
    • Testing2 : A second, slightly more advanced kernel for UBoot Kermit or USB OTG booting that implements a timer setup and interrupt handlers.
  • Releases : Contains previous releases of FlingOS.
  • Testing : Contains unit and behavioural testing of FlingOS.
    • FlingOops™ : Our cross-platform compiler verification kernel (utilises behavioural testing).
  • Tools : Assorted tools written by FlingOS developers to make their lives easier. Speak to Ed Nutting for details.
    • CI20Booter : USB OTG boot tool (uses LibUsb-Win32) for the Creator CI20 board.

Useful Pages

Clone this wiki locally