有很多 Java 嵌入式 VM。您对 ARM 开发有何建议?
- http://www.cacaovm.org/
- http://www.rtjcom.com/main.php?p=home
- http://www.k-embedded-java.com/
- http://jamvm.sourceforge.net/
我目前正在使用 Dallas 的TINI平台,效果很好(512 KB RAM 和 1 MB 闪存),但现在我需要更多电源(内存和 CPU)。
有很多 Java 嵌入式 VM。您对 ARM 开发有何建议?
我目前正在使用 Dallas 的TINI平台,效果很好(512 KB RAM 和 1 MB 闪存),但现在我需要更多电源(内存和 CPU)。
我最后的选择是 JamVM + GNU Classpath。效果很好!:)
4 种不同的 VM 已移植到在 ARM cpus 上运行的 Symbian OS。
Sun 的 KVM、Sun 的热点(或 cldc-hi)VM、Sun 的 CDC VM 和 IBM J9 VM。
我怀疑还有几个。
开始研究的一个好地方是 JavaME 被许可人列表:
我过去在 Dallas tini 上做过一些工作,所以我想我知道你在找什么……?(也许无论如何:)
如果您查看Buildroot之类的项目,您会发现现在包含jamvm ,我计划在Atmel NGW100上试用它(它基于 AVR32,但它类似于 ARM9)。但是还有很多其他 ARM9 项目几乎可以做到这一点。
这个想法与 Android 相同,首先让 Linux 处理较低的层,然后在顶部添加一个 java vm 并在那里运行您的应用程序。
不利的一面是达拉斯 tini 或多或少是一个“准备就绪”的平台,你没有做太多的魔法来让它运行。但不幸的是,这条道路需要一些工作才能达到全速。但从好的方面来说,你有一个 200MHz 32 位 CPU 和 32Mb RAM 和存储在 SD 卡上的承诺,可以轻松存储几个千兆字节 :)
祝你好运。
还有支持 ARMv5、v6、v7 的Java SE Embedded,但请注意,这是一个带有 C1 编译器的成熟热点。
您还可以查看 debian openjdk 支持,例如
但我认为它需要比 512kB 更多的 RAM
我的选择是 IS2T JVM,它专门针对 ARM Cortex M 和 Cortex A 进行了优化,并带有优化的库(如带有小部件的 HMI 等......)