Skip to main content

PICOBIT: A Compact Scheme System for Microcontrollers

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,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.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. Sun Microsystems, Inc.: Java card 3.0.1 platform specification (2009)

    Google Scholar 

  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. 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. Clinger, W., Rees, J.: The Revised4 Report on the algorithmic language Scheme (1991)

    Google Scholar 

  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. Semantic Microsystems: MacScheme + Toolsmith, a LISP for the future (1987)

    Google Scholar 

  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)

    Article  MATH  Google Scholar 

  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. 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 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2010 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

St-Amour, V., Feeley, M. (2010). PICOBIT: A Compact Scheme System for Microcontrollers. In: Morazán, M.T., Scholz, SB. (eds) Implementation and Application of Functional Languages. IFL 2009. Lecture Notes in Computer Science, vol 6041. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16478-1_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-16478-1_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-16477-4

  • Online ISBN: 978-3-642-16478-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics