3

我仍在学习 Java,但想在自定义硬件设备上嵌入一个小型 Java 程序。但是,我似乎确实缺少工程学位……但也许这里有人可以为我指明正确的方向?

我想做一些非常小而简单的事情。我的想法是编写一个小型 Java 应用程序来控制 10-20 个 LED 灯并让它们以不同的模式闪烁。

我想构建(或购买)一个小型自定义设备并将我的 Java 应用程序放在上面,因此有一个带有“on”和“off”开关的小型自定义框,它将运行我的 Java 代码,然后将控制发光二极管。当我拨动开关时,我的代码就会运行!

有这类东西的入门工具包或教程吗?我需要买一个烙铁...?我已经尝试过谷歌,但我不确定实际谷歌是什么......任何指导将不胜感激。

4

5 回答 5

3

您将不得不为您选择的硬件编译一个 JRE,很可能是 J2ME 的某个版本,更好的选择是Arduino,并且只需咬紧牙关,学习足够的基于 C/C++语法的Arduino语言即可。网上有很多关于这个板的资源。

于 2010-07-20T19:30:06.447 回答
1

Java 的问题在于,虽然类文件通常很小,但运行它们需要一个很大的运行时。Java SE 是几兆字节。Java ME 是为嵌入式设备(想想手机)而设计的,它更小但不是很多。

为了让 Java 在硬件上运行,必须有人移植 Java 运行时才能在硬件上运行。这确实是系统工程师的工作,因为我认为其中涉及一些低级黑客攻击。当然,系统的某些部分需要重新编译和自定义编译。

根据经验:如果为您提供硬件的人提供了 Java 运行时或提到有可用的运行时,那么一切都很好。如果没有,您需要寻找不同的解决方案。

大约 10 年前,Sun 实际上计划创建“Java 芯片”,即用于运行 Java 字节码的定制 CPU,这些对于将 Java 嵌入到您的烤面包机中非常有用。然而,他们显然做了数字并得出结论,这不是一个可行的商业提议。所以今天的 Java 仍然没有在所有地方运行。

于 2010-07-20T19:32:48.200 回答
0

请学习 C。这种语言(仅次于汇编)最接近您将尝试编程的嵌入式机器。C 语言并不难,语言手册大约有 130 页,而不是 java 的 600 多页。而且您不必学习整个语言。

Arduino 是一个很好的入门平台,但您需要为此学习 C。

于 2010-09-23T11:49:47.660 回答
0

关于您的问题中寻求一般指导的部分,请使用嵌入式标签查看这个精美的网站。

于 2010-07-20T21:34:12.870 回答
0

For something to become very small and very simple you need to end up with native machine code.

Anything Java basically means you need to bring in a Java interpreter with Java libraries etc. etc. which automatically means that "very small" cannot be achieved. A few hardware platforms can help interpreting Java, but you still need the supporting runtime libraries.

For "very small" you still need to use C (or perhaps C++) and cross compile to the target platform.

于 2010-07-21T00:25:52.730 回答