Advertisement

PICOBIT: A Compact Scheme System for Microcontrollers

  • Vincent St-Amour
  • Marc Feeley
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6041)

Abstract

Due to their tight memory constraints, small microcontroller based embedded systems have traditionally been implemented using low-level languages. This paper shows that the Scheme programming language can also be used for such applications, with less than 7 kB of total memory. We present PICOBIT, a very compact implementation of Scheme suitable for memory constrained embedded systems. To achieve a compact system we have tackled the space issue in three ways: the design of a Scheme compiler generating compact bytecode, a small virtual machine, and an optimizing C compiler suited to the compilation of the virtual machine.

Keywords

Virtual Machine Embed System Garbage Collection Calling Convention Code Size 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    St-Amour, V., Bouchard, L., Feeley, M.: Small Scheme Stack: a Scheme TCP/IP stack targeting small embedded applications. In: Proceedings of the 2008 Workshop on Scheme and Functional Programming, pp. 11–18 (2008)Google Scholar
  2. 2.
    Sun Microsystems, Inc.: Java card 3.0.1 platform specification (2009)Google Scholar
  3. 3.
    Dube, D.: BIT: A very compact Scheme system for embedded applications. In: Proceedings of the Workshop on Scheme and Functional Programming, pp. 35–43 (2000)Google Scholar
  4. 4.
    Feeley, M., Dube, D.: PICBIT: A Scheme system for the PIC microcontroller. In: Proceedings of the Fourth Workshop on Scheme and Functional Programming, pp. 7–15 (2003)Google Scholar
  5. 5.
    Clinger, W., Rees, J.: The Revised4 Report on the algorithmic language Scheme (1991)Google Scholar
  6. 6.
    Kelsey, R., Clinger, W., Rees, J.: The Revised5 Report on the algorithmic language Scheme. Higher-Order and Symbolic Computation 11(1) (1998)Google Scholar
  7. 7.
    Semantic Microsystems: MacScheme + Toolsmith, a LISP for the future (1987)Google Scholar
  8. 8.
    Schorr, H., Waite, W.M.: An efficient machine-independent procedure for garbage collection in various list structures. ACM Commun. 10(8), 501–506 (1967)CrossRefzbMATHGoogle Scholar
  9. 9.
    Dunkels, A.: Full TCP/IP for 8-bit architectures. In: MobiSys 2003: Proceedings of the 1st International Conference on Mobile Systems, Applications and Services, pp. 85–98 (2003)Google Scholar
  10. 10.
    Latendresse, M., Feeley, M.: Generation of fast interpreters for Huffman compressed bytecode. In: IVME 2003: Proceedings of the 2003 Workshop on Interpreters, Virtual Machines and Emulators, pp. 32–40 (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Vincent St-Amour
    • 1
  • Marc Feeley
    • 1
  1. 1.Université de MontréalCanada

Personalised recommendations