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 2b034ffa10 keypad driver progress 7 years ago
include keypad driver progress 7 years ago
initrd keypad driver progress 7 years ago
src keypad driver progress 7 years ago
.gitignore SVC calls 7 years ago
LICENSE added licensing 7 years ago
Makefile added licensing 7 years ago
README.md added licensing 7 years ago
libinterp.a keypad driver progress 7 years ago
link.ld added licensing 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.