Разница между языком как Java (или C#) и более низкий уровень языка, как c или C++ - это тот факт, что у них есть виртуальная машина. У этого есть много преимуществ, как сделать приложение независимым от платформы. Но это также означает, что каждая платформа должна иметь vm для нее.
Теперь микроконтроллеры неравномерны и отличаются мощностью, памятью и многими другими функциями. Поэтому использование JVM (виртуальной машины Java) для них непросто, когда это возможно. В большинстве случаев его просто невозможно - большинство из uc имеют очень низкую емкость памяти (часть того, что делает их дешевыми) - это сделало бы подходящим JVM общего назначения невозможным, не говоря уже и о коде приложения.
Я знаю некоторые частичные реализации Java для микроконтроллеров. Например, существуют сим-карты на основе java (которые имеют очень маленький контроллер внутри), но у них очень ограниченная версия java.
Так что я считаю, что лучше всего написать «встроенный java» (особенно если вы новичок) - это работать на вершине микроконтроллеров, которые в основном представляют собой небольшой полностью функционирующий компьютер, на котором установлена надлежащая ОС, которая уже JVM. Просто загляните в один из новых проектов с открытым исходным кодом «микрокомпьютер», таких как raspberry pi или beaglebone. Оба стоят около 2х ардуинов и намного более мощные.
Надеюсь, я помог.
Языки настолько похожи, что вам следует просто переключиться на хороший микроконтроллер с хорошим сообществом и узнать. Например, Arduino - это подмножество C#, но это не так, а сумасшествие, чтобы учиться на Java ... – DrCord
@DrCord ??? Arduino запрограммирован на C или C++. В CIE или подмножестве вообще нет. –
@ H2CO3 Я тоже этому не верил, но [здесь] (http://playground.arduino.cc/Interfacing/Csharp). Конечно, кроме хобби, я не знаю, зачем вы программируете встроенную систему с использованием C# или Java. – jmstoker