Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
A Compact Scheme System for Microcontrollers
branch: master
Failed to load latest commit information.
compiler Fix bit rot.
tests Typo.
vm Fix comment.
.gitignore Ignore Racket's compiled files.
LICENSE Fix gallicism.
Makefile Move test script to tests directory.
README Update README.
p Don't run the program if it doesn't compile.
picobit Put compiler files in their own directory.

README

This is a very small Scheme system designed to run on small
microcontrollers, currently PIC18 and ARM.

It consists of

* a bytecode compiler which compiles Scheme source code to bytecode.
  The bytecode compiler is run using Racket, usually on a
  PC/workstation.

* a bytecode interpreter which can be either compiled to run on a
  microcontroller, or to be run on some common operating systems, at
  least GNU/Linux (Windows support hasn't been tested in a while,
  though, and especially the networking part might not work out of the
  box). It is written in (mostly) portable C.


USAGE:

1. Install Racket (needed to run the bytecode compiler)
     racket-lang.org

2. Build the VM:
     make
 This will build the VM with the default configuration (workstation,
 no deubgging). To configure the VM for another architecture, or with
 different options, run
     make help
 from the `vm' directory.

Note: gawk is required to build the VM.

2. Compile a Scheme program:
     ./picobit prog.scm

3. Run the resulting program:
     ./picobit-vm prog.hex

Note: The `p' script is a shortcut for compiling and running programs:
     ./p prog.scm
 is equivalent to
     ./picobit prog.scm ; ./picobit-vm prog.hex


SEE ALSO:

  * A paper describing PICOBIT has been presented to IFL 2009:
    http://www.ccs.neu.edu/home/stamourv/papers/picobit.pdf
    Slides from the presentation:
    http://www.ccs.neu.edu/home/stamourv/slides/picobit-ifl09.pdf

  * S3 (Small Scheme Stack) : A Scheme TCP/IP Stack Targeting Small
    Embedded Applications
    http://www.ccs.neu.edu/home/stamourv/papers/s3.pdf
    Slides from the presentation:
    http://www.ccs.neu.edu/home/stamourv/slides/s3-sw08.pdf

 PICOBIT is a descendant of the BIT and PICBIT systems. You can find
 papers describing these systems at:
    http://w3.ift.ulaval.ca/~dadub100/


HISTORY:

 Marc Feeley originally wrote PICOBIT around 2006.
 Vincent St-Amour took over development in 2008.
 Jim Shargo worked on a port to Racket in 2011.
 The Racket port was completed in June 2011.
 Peter Zotov (whitequark) ported PICOBIT to ARM in August 2011.

LICENCE:

 PICOBIT is released under the GPLv3.
Something went wrong with that request. Please try again.