Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tonyg/pi-nothing
i386, x86_64, ARMv7 assembler/linker; Nothing-like mid-level language; Linear-scan register allocator; Operating system for Raspberry Pi
https://github.com/tonyg/pi-nothing
racket
Last synced: about 1 month ago
JSON representation
i386, x86_64, ARMv7 assembler/linker; Nothing-like mid-level language; Linear-scan register allocator; Operating system for Raspberry Pi
- Host: GitHub
- URL: https://github.com/tonyg/pi-nothing
- Owner: tonyg
- License: gpl-3.0
- Created: 2012-10-08T20:52:49.000Z (about 12 years ago)
- Default Branch: master
- Last Pushed: 2022-07-21T12:34:32.000Z (over 2 years ago)
- Last Synced: 2024-10-22T21:12:47.965Z (2 months ago)
- Topics: racket
- Language: Racket
- Size: 2.42 MB
- Stars: 99
- Watchers: 9
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: COPYING
Awesome Lists containing this project
- awesome-racket-and-scheme - pi-nothing - like mid-level language; Linear-scan register allocator; Operating system for Raspberry Pi (Racket / Tools/lib)
README
# Programming language, compiler, and operating system for bare-metal ARM
## Quickstart
To run the main
[baremetal Raspberry Pi kernel](baremetal/raspberrypi.nothing),$ git clone git://github.com/tonyg/pi-nothing.git
$ make link all
$ cp baremetal/raspberrypi.img /PATH/TO/YOUR/RASPBERRY/PI/SDCARD/kernel.imgBoot the Raspberry Pi.
There is also a [simpler kernel](baremetal/versatilepb.nothing) for
the QEMU-emulated
[`versatilepb`](https://wiki.qemu.org/Documentation/Platforms/ARM)
machine that can be run in emulation from the host:$ cd baremetal
$ make versatilepb.img
$ ./run-kernelA [graphical variant](baremetal/versatilepb-graphics.nothing) also
exists.When running a `versatilepb` kernel in emulation, you're interacting
with the kernel via the emulated board's serial UART. Type characters
at it, and it will echo them. When you get bored of this, press `C-a
x` to quit `qemu`.## Third-party software
This package makes use of a number of programs and resources
generously developed and released as free software by other authors:- [**disarm**](nothingc/private/disarm), a disassembler for ARM
instructions, developed by and copyright to Gareth McCaughan.- [**udis**](nothingc/private/udis86-1.7.2.tar.gz), a disassembler
for x86 and x86-64, written by and copyright to Vivek Thampi.- [**font0**](baremetal/font0.bin), a very simple monospace bitmapped
font developed by and copyright to Bitstream, Inc.- [**raspbootin**](baremetal/raspbootin), a boot-over-serial
bootloader for the Raspberry Pi, developed by and copyright to
Goswin von Brederlow.and, of course, [QEMU](https://www.qemu.org/) and
[Racket](https://racket-lang.org/) themselves.