[riot-devel] HotSpot JVM on RIOT-OS?

Kevin Laeufer kevin.laeufer at rwth-aachen.de
Tue Aug 11 15:53:17 CEST 2015


[I'm CCing the mailing list, as this might be relevant for people 
wanting to play with JVMs on devices supported by RIOT]

On 08/11/2015 03:38 PM, Zac Harvey wrote:
> Are you OK with me reaching out to you via email or GitHub, or would you
> prefer that I keep these questions on the mailing list; or would you
> prefer that I just figure things out for myself :-) ?  I'm only a
> hesitant to use these mailing lists because I will likely have a lot of
> initial questions and feel this is a pretty niche topic that not many
> other RIOTers will care about.

You can send me an email or open issues on github. The RIOT mailinglist 
isn't really the place to talk about Ostfriesentee, since it does not 
have a lot to with RIOT. However, if you want to talk about porting 
Ostfriesentee to RIOT or writing RIOT specific libraries, that would be 
something to talk about on the RIOT mailinglist.

Before you start, you have to be aware of the limitations that 
Darjeeling/Ostfriesentee have.
1.) They are intended for smallish Java programs, have a look at the 
example apps
2.) They only support a minimal subset of the Java runtime libraries, 
have a look at the `lib` folder in the Ostfriesentee repo
3.) They are both research projects/proofs of concept, that never had 
the remaining bugs ironed out, so it is not unlikely for your 
microcontroller to crash on execution

Thus if you are looking into this for the fun of it, or if you want to 
find out, what kinds of JAVA programs you can possibly run on a cortex-m 
core (that has less processing power than the core that powers the SUN 
Sport devices) have a go at it. Just be aware, that you will not be able 
to run excessively large JAVA programs, are certain to run into bugs and 
that you will have to implement a lot of library functionality yourself.

Finally I can recommend the following papers, if you want to learn more 
about some efforts in the research community to run JAVA on deeply 
embedded devices, I can recommend the following papers:

Brouwers, Niels, Koen Langendoen, and Peter Corke. “Darjeeling, a 
Feature-Rich VM for the Resource Poor.” In Proceedings of the 7th ACM 
Conference on Embedded Networked Sensor Systems, 169–82. SenSys ’09. New 
York, NY, USA: ACM, 2009. doi:10.1145/1644038.1644056.

Aslam, Faisal, Luminous Fennell, Christian Schindelhauer, Peter 
Thiemann, Gidon Ernst, Elmar Haussmann, Stefan Rührup, and Zastash A. 
Uzmi. “Optimized Java Binary and Virtual Machine for Tiny Motes.” In 
Distributed Computing in Sensor Systems, edited by Rajmohan Rajaraman, 
Thomas Moscibroda, Adam Dunkels, and Anna Scaglione, 15–30. Lecture 
Notes in Computer Science 6131. Springer Berlin Heidelberg, 2010. 

Maye, Oliver, and Michael Maaser. “Comparing Java Virtual Machines for 
Sensor Nodes.” In Grid and Pervasive Computing, edited by James J. (Jong 
Hyuk) Park, Hamid R. Arabnia, Cheonshik Kim, Weisong Shi, and Joon-Min 
Gil, 181–88. Lecture Notes in Computer Science 7861. Springer Berlin 
Heidelberg, 2013. 

Kevin Laeufer

More information about the devel mailing list