2017-12-28 22:31:48 -05:00
|
|
|
# calculator
|
2018-03-25 21:16:33 -04:00
|
|
|
A from-scratch operating system for a graphing calculator.
|
2017-12-30 12:29:32 -05:00
|
|
|
|
2018-03-25 21:16:33 -04:00
|
|
|
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.
|
2017-12-30 12:29:32 -05:00
|
|
|
|
|
|
|
Required packages:
|
|
|
|
* arm-none-eabi toolchain
|
|
|
|
* openocd
|
|
|
|
* make
|
|
|
|
|
2018-01-04 11:47:43 -05:00
|
|
|
Use ```run.sh``` to upload the final output to the processor.
|
|
|
|
|
2018-03-25 21:16:33 -04:00
|
|
|
|
|
|
|
## design overview
|
|
|
|
The core of the operating system is written entirely in C and assembly. This
|
|
|
|
project is paired with the [interpreter project](https://code.bitgloo.com/clyne/interpreter)
|
|
|
|
(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```.
|