Skip to content

DoorOS is a simple BareMetal OS for Raspberry Pi 4 using C Programming.

License

Notifications You must be signed in to change notification settings

Railroad-Wrecker/DoorOS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

image

Overview

This project is part of the EEET2490 course at RMIT University, focusing on bare metal development of an operating system to enhance practical skills in embedded OS through the implementation of various features like a command-line interpreter (CLI), terminal formatting using ANSI codes, and handling variable arguments with a standard printf function.

Features

  • Welcome Message: Displays a customizable welcome message in ASCII art on boot up. Use tools like ASCII Art Generator to create your own designs.
  • Command Line Interpreter (CLI): A simple CLI that supports:
    • Auto-completion using the TAB key.
    • A simple home screen.
    • Command history navigable with _ and + keys.
    • Commands such as help, clear, and setcolor for basic interactions.
    • UART settings such as setbaud, setdatabits, setstopbits, setparity, and setflowcontrol for hardware config.
  • ANSI Terminal Formatting: Utilize ANSI escape sequences to set text and background colors. Helpful references:

Hardware Support

  • The software is designed to run on a Raspberry Pi 3/4, and functionality has been tested with QEMU emulation and actual hardware. Board information can be verified using instructions from Raspberry Pi Board Version.

Getting Started

  1. Clone the repository:
    git clone https://github.com/Railroad-Wrecker/EEET2490-Embedded-System-Assignment-2.git
  2. Navigate to the project directory:
    cd ./EEET2490-Embedded-System-Assignment-2/
  3. Build the project:
    make all
  4. Run the OS on your Raspberry Pi or through QEMU emulation.
    For Raspberry Pi 4, change GPIO to RPI4 as QEMU emulation only support Raspberry Pi 3.

UART Configuration

Enhanced UART driver to support various configurations:

  • Baud rates: 9600, 19200, 38400, 57600, 115200 bps.
  • Data bits: 5, 6, 7, 8.
  • Stop bits: 1 or 2.
  • Parity: None, Even, Odd.
  • Handshaking: CTS/RTS.

Contributors

This project is developed by Luong Nguyen as the second project for the EEET2490 Embedded System: OS and Interfacing course at RMIT, for further questions contact [email protected]

License

This project is licensed under the MIT License - see the LICENSE file for details

About

DoorOS is a simple BareMetal OS for Raspberry Pi 4 using C Programming.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages