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