Pull to refresh

Comments 12

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

Articles

Change theme settings