Skip to content
/ squawk Public

An experimental project to customize squawk virtual machine for microcontrollers. Users can write embedded application programs in Java (with CLDC API) that run on microcontrollers without RTOS.

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
license.txt
Notifications You must be signed in to change notification settings

tomatsu/squawk

Folders and files

NameName
Last commit message
Last commit date
Oct 13, 2018
Mar 28, 2012
Oct 1, 2016
Oct 13, 2018
Aug 10, 2016
Jul 24, 2016
Sep 28, 2010
Sep 17, 2016
Nov 5, 2016
Mar 28, 2012
Jul 30, 2016
Sep 22, 2009
Oct 13, 2018
Nov 5, 2016
Dec 3, 2012
Jan 23, 2008
Oct 20, 2018
Oct 7, 2018
Oct 1, 2016
Nov 5, 2016
Apr 1, 2009
Oct 20, 2018
Feb 12, 2013
Oct 29, 2017
Oct 13, 2018
Sep 5, 2008
Mar 28, 2012
Oct 13, 2018
Sep 25, 2009
Jul 20, 2016
Aug 10, 2016
Oct 20, 2018
Oct 20, 2018
Oct 13, 2018
Oct 8, 2018
Oct 1, 2016
Oct 1, 2016
Jan 23, 2008
Mar 14, 2013
Mar 14, 2013

Repository files navigation

squawk

An experimental project to customize squawk virtual machine for microcontrollers. Users can write embedded application programs in Java (with CLDC API) that can run on small embedded system without RTOS.

Highlights

  • Ported Squawk VM to mbed classic and esp8266
  • Implemented aggressive dead code elimination; Static footprint is reduced to less than 128K (including romized classes)
  • Optimized interpreter loop
  • Provides easy way to add native methods
  • Provides API to call HAL layer
  • Has been tested on ESP8266, MICROBIT, LPC1768, NUCLEO_L476, and Linux/x86.

Build for mbed

  • Install gcc-arm-none-eabi
  • Install JDK
  • Install mbed cli (tested with 1.7.5)
  • git clone https://github.com/tomatsu/squawk
  • cd squawk; make
  • cd project_gen/targets/mbed; make TARGET=LPC1768 PROJECT=helloworld
  • cd /tmp/lpc1768_helloworld; make

Build for ESP8266

  • Install toolchain and SDK
  • Install JDK
  • git clone https://github.com/tomatsu/squawk
  • cd squawk; make
  • Set environment variable PATH and ESP_SDK For example, export ESP_SDK=$HOME/esp-open-sdk/sdk; export PATH=$HOME/esp-open-sdk/xtensa-lx106-elf/bin:$PATH
  • cd project_gen/targets/esp8266; make PROJECT=helloworld
  • cd /tmp/esp8266_helloworld; make

Plans

  • Documentation
  • Test
  • CLDC8 support

About

An experimental project to customize squawk virtual machine for microcontrollers. Users can write embedded application programs in Java (with CLDC API) that run on microcontrollers without RTOS.

Resources

License

GPL-2.0, GPL-2.0 licenses found

Licenses found

GPL-2.0
LICENSE
GPL-2.0
license.txt

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published