You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Clyne Sullivan 8e11f269ce status bar, arrow keys, ins/del 7 years ago
include status bar, arrow keys, ins/del 7 years ago
initrd status bar, arrow keys, ins/del 7 years ago
src status bar, arrow keys, ins/del 7 years ago
tools new initrd format, 2nd layer for keypad 7 years ago
.gitignore SVC calls 7 years ago
LICENSE added licensing 7 years ago
Makefile new initrd format, 2nd layer for keypad 7 years ago
README.md added licensing 7 years ago
libinterp.a file loading, switching, good! 7 years ago
link.ld functional keypad, va_arg bug discovery 7 years ago
run.sh added licensing 7 years ago

README.md

calculator

A from-scratch operating system for a graphing calculator.

The goal of this project is to design a functional operating system for a graphing calculator based on the STM32L476RG processor. This OS has been designed from scratch to optimize for speed and code size, targeting the features necessary for a graphing calculator application.

Required packages:

  • arm-none-eabi toolchain
  • openocd
  • make

Use run.sh to upload the final output to the processor.

design overview

The core of the operating system is written entirely in C and assembly. This project is paired with the interpreter project (licensed under the GPL), which parses script from C strings. The operating system exposes calls to the script parser, and then loads the text file at initrd/init.