BareMetal OS Developement

Bao Tran
Phuc To
Nguyen Le

This project is a combination of individual and group works from the course EEET2490 – Embedded System: OS and Interfacing. We developed a bare-metal operating system (OS) for the Raspberry Pi 3B+ board which consists of a number of peripheral drivers, user utilities and also made a game for it.

First of all, with the UART driver, we created a dedicated command line interpreter (CLI) – a basic feature of every operating system, to provide command line environment for users. We can type command in a convenient way to execute any instruction supported by the OS.

Then a screen display driver is developed to display texts with predefined fonts, as well as to display images and video on the Raspberry Pi screen. If the image size is large, we also make it scrollable in any direction by pressing keyboards like in a normal commercial OS.

The foundational knowledge from driver development was then applied to implement a game as an application for our OS. Inspired by the Crossy Road game, in our game, players can use their keyboards to control the game character to cross multiple lanes of roads or rivers. To win the game, the player must conquer all three rounds without letting the character get hit by any vehicle or run into an accident like falling into the river. In overall, our bare metal OS has been successfully built with the demonstrated fundamental features.



Share by: