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 6d3473a248
Update README.md
7 years ago
include file cleanup, better text, documentation 7 years ago
initrd file cleanup, better text, documentation 7 years ago
old file cleanup, better text, documentation 7 years ago
src file cleanup, better text, documentation 7 years ago
.gitignore SVC calls 7 years ago
LICENSE added licensing 7 years ago
Makefile file cleanup, better text, documentation 7 years ago
README.md Update README.md 7 years ago
libinterp.a file cleanup, better text, documentation 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, currently based on the STM32L476RG processor. This OS is 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 make to build the OS, which produces an out/main.elf. Use run.sh to launch openocd and a gdb session to upload the OS to the device.

design overview

Soon: a link to my website with info on the actual device, and its hardware layout.

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), a simple low-memory scripting language. Apart from other core functions, the operating system's goal is to expose calls to the interpreter, and then load the init script from the calculator.