I was wondering if the following would be *possible* to do (but not necessarily easy or the most elegant solution):
1. Fork the open source OpenJDK HotSpot Java Virtual Machine code (written in C). Refactor its code to automatically look at a particular memory address to load an executable JAR. 2. Compile that forked HotSpot VM code along with RIOT-OS and generate an executable for a given platform (say 32-bit ARM) 3. Flash the executable to the ARM chip 4. Flash a JAR to some ROM that is memory addressable from that chip 5. ... 6. Profit.
The intention here is that when the chip powers up, the RIOT-OS app (again a forked HotSpot JVM) loads an executable JAR from a specific place in memory. Boom: you're running Java on a RTOS.
I understand there are various projects out there attempting to run a JVM on an embedded tech (Java Card, etc.). But to my knowledge, none of these projects leverage the above proposed technique. And the reason for that is either:
1. I'm overlooking something obvious that makes this approach a non-starter; or 2. No one's ever tried this before
I'm willing to bet that its the former reason and not the latter. But in that case, I'd be interested in what the things are that I'm overlooking!
Thanks for any-and-all-help!