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.
- 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
, andsetcolor
for basic interactions. - UART settings such as
setbaud
,setdatabits
,setstopbits
,setparity
, andsetflowcontrol
for hardware config.
- ANSI Terminal Formatting: Utilize ANSI escape sequences to set text and background colors. Helpful references:
- 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.
- Clone the repository:
git clone https://github.com/Railroad-Wrecker/EEET2490-Embedded-System-Assignment-2.git
- Navigate to the project directory:
cd ./EEET2490-Embedded-System-Assignment-2/
- Build the project:
make all
- 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.
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.
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]
This project is licensed under the MIT License - see the LICENSE file for details