您为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许可证持有者名单:
我过去做过达拉斯蒂尼的一些工作,所以我想我知道你在找什么……? (也许反正:)
如果你看看像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支持
但我认为它需要的RAM超过512kB
我选择的是IS2T JVM,它专门针对ARM Cortex M和Cortex A进行了优化,同时还具有优化的库(如带小部件的HMI等……)