stamourv/picobit
语言: C
git: https://github.com/stamourv/picobit
这是一个非常小的Scheme系统,设计用于小型运行 微控制器,目前是PIC18和ARM。
它包括
- 字节码编译器,它将Scheme源代码编译为字节码。 字节码编译器使用Racket运行,通常在a上运行 PC /工作站。
- 一个字节码解释器,可以编译为在a上运行 微控制器,或者在一些常见的操作系统上运行 至少GNU / Linux(Windows支持暂时没有经过测试, 但是,特别是网络部分可能无法正常工作 框)。它是用(大多数)便携式C语言编写的。
用法:
- 安装Racket(需要运行字节码编译器) racket-lang.org
- 构建VM: 使 这将使用默认配置构建VM(工作站, 没有抄袭)。要为其他体系结构配置VM,或使用 不同的选择,运行 提供帮助 来自`vm'目录。
注意:构建VM需要gawk。
- 编译一个Scheme程序: ./picobit prog.scm
- 运行生成的程序: ./picobit-vm prog.hex
注意:`p'脚本是编译和运行程序的快捷方式: ./p prog.scm 相当于 ./picobit prog.scm; ./picobit-vm prog.hex
也可以看看:
- 描述PICOBIT的论文已提交给IFL 2009: http://www.ccs.neu.edu/home/stamourv/papers/picobit.pdf 演示文稿中的幻灯片: http://www.ccs.neu.edu/home/stamourv/slides/picobit-ifl09.pdf
- S3(小型方案堆栈):针对小型的方案TCP / IP堆栈 嵌入式应用 http://www.ccs.neu.edu/home/stamourv/papers/s3.pdf 演示文稿中的幻灯片: http://www.ccs.neu.edu/home/stamourv/slides/s3-sw08.pdf
PICOBIT是BIT和PICBIT系统的后代。你可以找到 描述这些系统的论文: http://w3.ift.ulaval.ca/~dadub100/
历史:
Marc Feeley最初在2006年左右写了PICOBIT。 Vincent St-Amour在2008年接管了开发。 Jim Shargo于2011年在Racket的一个港口工作。 Racket端口于2011年6月完成。 Peter Zotov(whitequark)于2011年8月将PICOBIT移植到ARM。
许可:
PICOBIT是根据GPLv3发布的。
本文使用googletrans自动翻译,仅供参考, 原文来自github.com
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:
-
Install Racket (needed to run the bytecode compiler)
racket-lang.org -
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.
-
Compile a Scheme program:
./picobit prog.scm -
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.