As another example, MicroEJ is targeted at Cortex-M CPUs.
And there is also Astrobe selling Oberon-07 compilers for M3 and M4 processors.
> 32-bit MCU, 130 KB RAM, 350 KB Flash/ROM
Anything less than this is most certainly some kind of PIC, not everyone is using them for embedded real-time deployments.
You are wrong about "anything less" Anything less is probably 90% of market. You will find 130kB RAM, 350kB flash only in high end products from NXP(LCP family), Kinetis(KL family) or STI( STM family). You only need so much RAM for JAVA :)
EDIT to clear up two sub-conversations here: what Aonix pulled off for hard-real-time Java; that there's also hard-real-time GC's for embedded. Example of latter.
http://michaelrbernste.in/2013/06/03/real-time-garbage-colle...
However I don't know what they have done with the PicoJava offerings, since PTC isn't as friendly as Aonix regarding the making the documentation available.
As for the market, it depends on which one the products built with those CPUs are actually being sold to.
My Cisco phone and the Ricoh printer around the corner both are running some form of embedded Java.
Maybe you think they are part of the remaining 10%, however Cisco and Ricoh though it was worthwhile for their sales.
Counterpoint:
http://www.atmel.com/Images/45107A-Choosing-a-MCU-Fredriksen...
The 32-bit market was at $6 billion by 2014 per Amtel's report. There's also a huge amount of sales for Windows Embedded and embedded Linux's. That represents a significant chunk of a massive market. So, it's quite worthwhile to call even a 32-bit-targeted, hard-real-time GC useful for "embedded" systems. As he said, it's part of the standard definition used in the embedded sector. The 32-bit side is going up rapidly, too, due to decreasing cost and power usage.
EDIT: The specs on them are also starting to look like the desktops of old. Actually, started to do that quite a while ago.
https://cache.freescale.com/files/32bit/doc/fact_sheet/IMX7S...
The market goes all the way from something like the PIC10 to something ARM v8 64 bit.
It is all a matter of what a company is targeting as customer market, and how much it is willing to spend.
Just because a given language is not able to target 100% of the market, it doesn't make it invalid to such market.
If that was the case, C wouldn't be a valid language for embedded development as well, given that many CPU/uC aren't able to cope with straigh ANSI C compliant compilers and require either a C dialect or pure Assembly.
...and?
Believe it or not, not every embedded application has a hard real-time requirement.
You're just moving the OP's goalposts to make a point, here.
I'd say that's a bit myopic.
There's a huge range of devices between "a few kilobytes of memory" and "smartphone" that would be well-served by something like this.
Buy to your point there is no magic answer. The question is rather: when is the capabilities of a full OS kernel like Linux worth the resources needed to run it? And the answer is ultimately: it depends.
...
....
...
.....
rd with you.
https://www.commoncriteriaportal.org/iccc/9iccc/pdf/B2404.pd...
J2ME would like to have a word with you...