我一直在研究微控制器,并想知道它们中的大多数是否基于C / C ++?我非常精通java,并且想问你们,如果有人知道我可以研究一个性价比很高的基于java的微控制器。
感谢所有答案!
答案 0 :(得分:13)
java(或c#)等语言与c或c ++等低级语言之间的区别在于它们具有虚拟机。 这具有许多优点,例如使应用程序平台无关。但这也意味着每个平台都必须拥有vm。
现在,微控制器并不统一,功率,内存和许多其他功能各不相同。因此,即使可能,也不容易为它们采用JVM(java的虚拟机)。 大多数时候它是不可能的 - 大多数uc具有非常低的内存容量(使它们便宜的部分原因) - 这将使任何通用JVM都不可能,更不用说应用程序代码了。
我知道微控制器的java的部分实现。例如,“基于java的”SIM卡(里面有一个非常小的控制器)就在那里,但它们的java版本非常有限。
所以基本上我认为编写“嵌入式java”(特别是如果你是一个新手)最好的办法是在微控制器上工作,微控制器基本上是一个小型的全功能计算机,运行一个已经有一个适当的操作系统JVM。只需查看一个新的“微型计算机”开源项目,如raspberry pi或beaglebone。两者都花费了大约2倍的arduino并且功能更强大。
希望我帮助过。
答案 1 :(得分:9)
查看Java-ready STM32 microcontrollers或Renesas RX。
作为替代方案,您可以使用Haiku-VM,NanoVM或uJ在AVR / Arduino上运行精简JVM。
您也可以用Java编写Arduino草图,并使用VBB将它们交叉编译为C.
答案 2 :(得分:3)
有Java替代方案,但我认为它们代价高昂。例如,ST Microelectronics有这个基于eclipse的java IDE:
我对微控制器上的java没有经验,但是Java与C ++有很多相似之处(基于C语言)(微控制器更支持它),但它仍然是C的主导。如果你已经了解Java,应该可以很快地学到这一点。
Arduino使用C ++,对于缺乏C / C ++经验的人来说很容易使用。
我建议您也尝试使用STM32 Java论坛查看是否有用户已经分享过他们的经历:
答案 3 :(得分:3)
JArduino可能是一个很好的起点,因为它可以让你编写与Arduino板交互的Java程序。 JArduino提供的Java API与Arduino API完全一致。然后,一旦你习惯了Java API,就应该很容易切换到普通的Arduino编程(正如所指出的那样,基于C / C ++的Arduino离Java还不远)。请注意,使用JArduino时,您并不真正对微控制器本身进行编程(您的主要逻辑将在您的PC上运行,并且Arduino将被“控制”,而无需在板上运行任何高级逻辑)。
答案 4 :(得分:0)
您可以看到Java on a Chip (JoC Module)是Java可编程控制器模块
JoC有一个reference Board Javaino,可以轻松开发
Demmel iLCD产品还带有Java VM,这是具有JVM的智能显示器