您为ARM开发建议使用什么Java嵌入式VM?

有很多Java嵌入式虚拟机。 你对ARM开发有什么建议?

  • http://www.cacaovm.org/
  • http://www.rtjcom.com/main.php?p=home
  • http://www.k-embedded-java.com/
  • http://jamvm.sourceforge.net/

我目前正在使用达拉斯的TINI平台,效果很好(512 KB RAM和1 MB闪存),但现在我需要更多功率(内存和CPU)。

我的最终选择是JamVM + GNU Classpath。 效果很好! 🙂

4个不同的虚拟机已经移植到Symbian OS上,后者在ARM cpu上运行。

Sun的KVM,Sun的热点(或cldc-hi)VM,Sun的CDC VM和IBM J9 VM。

我怀疑还有几个。

开始研究的好地方是JavaME许可证持有者名单:

http://java.sun.com/javame/licensees/index.jsp

我过去做过达拉斯蒂尼的一些工作,所以我想我知道你在找什么……? (也许反正:)

如果你看看像Buildroot这样的项目,你会发现现在包含了jamvm ,我打算在Atmel NGW100上试用它(它基于AVR32,但它类似于ARM9)。 但是还有很多其他ARM9项目几乎完全相同。

这个想法与Android相同,首先你让Linux负责较低层,然后在顶部添加一个java vm,然后运行你的应用程序。

缺点是达拉斯蒂尼或多或少是“准备好”的平台,你没有做太多魔术让它运行起来。 但是这条道路不幸需要一些工作才能达到全速。 但在好的方面,你承诺200MHz 32位CPU,32Mb RAM和存储在SD卡上,可以轻松存储几千兆字节:)

祝你好运。

还有支持ARMv5,v6,v7的Java SE Embedded ,请注意这是一个带有C1编译器的成熟Hotspot。

你也可以看看debian openjdk支持

http://debian.torredehanoi.org/debian/pool/main/o/openjdk-6/openjdk-6-jre-headless_6b11-9.1_armel.deb

但我认为它需要的RAM超过512kB

我选择的是IS2T JVM,它专门针对ARM Cortex M和Cortex A进行了优化,同时还具有优化的库(如带小部件的HMI等……)

http://www.is2t.com