Comments 12
Выглядит интересно! Как насчет jruby, groovy или scala? как оно будет конвертироваться в байткод?
0
Если удастся использовать runtime от LeJOS, то будет. Это скорее всего легко будет сделать в Groovy. Но на счёт jRuby и Scala не уверен — хоть они так же генерируют byte code для JVM, но я не знаю, не добавляют ли они туда какие-нибудь свои специфические классы и методы, которые бы HaikuVM не обработал или просто из за сгенерированного кода скомпилированный elf файл будет очень большой.
0
Я думаю, не потянет. Банально рантайм Groovy не влезет. Не говоря уже о том, что там, по-видимому, байткод-магии внутри хватает.
0
Сейчас погуглил — действительно, судя по этой статье www.javaworld.com/article/2073502/using-groovyc-to-compile-groovy-scripts.html там много доп. кода, не влезет в Arduino, если даже скомпилируется. И то не факт, что скомпилируется.
Но зато из Groovy проще Wiring код генерировать :-)
Но зато из Groovy проще Wiring код генерировать :-)
0
На что люди только не идут, лишь бы не писать под АВР на си)
+11
Есть настоящая vm: www.harbaum.org/till/nanovm/index.shtml
Сама во flash памяти размещается, java байт код из eeprom исполняет
Сама во flash памяти размещается, java байт код из eeprom исполняет
+2
А как у этих вещей дела обстоят с отладкой?
0
Всё просто — её нет :-) Вообще, теоретически можно дебажить сгенерированный из HaikuVM код — но там сильно много преобразований — Java -> byte code -> C -> elf и я себе слабо представляю, насколько это будет удобно отлаживать.
С другой стороны, если генерировать Wiring код из Java (как я делал), то можно применить подход как VisualMicro ( www.visualmicro.com ) — этакие «программные» breakpoint. Работает это примерно так — перед запуском ставятся breakpoint, плагин для IDE при генерации Wiring кода в эти строки добавляет служебный код, который сообщает по Serial состояние программы в этой строке (значение переменных, может что то ещё), далее при запуске программа соединятся с плагином IDE и при переходе на эту строку срабатывает breakpoint. Ну а тогда в IDE можно посмотреть состояние переменных, при срабатывании этого breakpoint.
Звучит конечно муторно, но что делать, если jtag не работает в Arduino? Ну насколько я знаю. :-) Вообще в самом Arduino проблемы с отладкой. Хотя может меня поправят?
С другой стороны, если генерировать Wiring код из Java (как я делал), то можно применить подход как VisualMicro ( www.visualmicro.com ) — этакие «программные» breakpoint. Работает это примерно так — перед запуском ставятся breakpoint, плагин для IDE при генерации Wiring кода в эти строки добавляет служебный код, который сообщает по Serial состояние программы в этой строке (значение переменных, может что то ещё), далее при запуске программа соединятся с плагином IDE и при переходе на эту строку срабатывает breakpoint. Ну а тогда в IDE можно посмотреть состояние переменных, при срабатывании этого breakpoint.
Звучит конечно муторно, но что делать, если jtag не работает в Arduino? Ну насколько я знаю. :-) Вообще в самом Arduino проблемы с отладкой. Хотя может меня поправят?
+1
Даже страшно представить, с какой скоростью ЭТО будет работать.
Хотя вы сразу написали — just for fun
Хотя вы сразу написали — just for fun
+1
Sign up to leave a comment.
Articles
Change theme settings
Пишем на Java в Arduino