roboforum.ru

Технический форум по робототехнике.

Интерпретатор для микроконтроллера...

Интерпретатор для микроконтроллера...

Виталий » 18 июл 2011, 00:23

Привет.
Стоит задача сделать так, чтобы на готовых устройствах предоставить пользователю написать свой код, но при этом не прошивать его в устройство, а лишь исполнить, загрузив с SD-карты.

Решил, что для этого подойдет какой-нибудь интерпретатор простого, но достаттчно выразительного языка программирования.

Кто что может посоветовать для решения такой задачки?

Re: Интерпретатор для микроконтроллера...

Сергей » 18 июл 2011, 00:29

elua

Re: Интерпретатор для микроконтроллера...

Michael_K » 18 июл 2011, 00:35

Интерпретатор именно языка или байткода?
Контроллер какой? АРМ?

Из очевидных решений - форт какой-нибудь :)
Арм худо-бедно потянет урезанную джаву (байт-код естественно).
Под нее хотя бы инструментов навалом.

Re: Интерпретатор для микроконтроллера...

Виталий » 18 июл 2011, 00:54

Я смотрел в эту сторону, но по-моему eLua слишком прожорливый 128кб памяти и 64 кб оперативы... Ну и автоматическая сборка мусора, немного лишнее в контроллере.

Хотелось бы чего-то более простого и легковесного, можно и байт-код кстати.

Добавлено спустя 5 минут 24 секунды:
А что из урезанной джавы есть на примете?

Re: Интерпретатор для микроконтроллера...

Michael_K » 18 июл 2011, 01:10

Если это под LPC24xx и задачи не "вычислительные", а "конфигурационные".
То есть типа "если на входе 2 больше семи, включить реле 1", то я бы поискал готовые решения:

http://armpit.sourceforge.net/ - типа того. Они ищутся достаточно спокойно.
Из простенького байткода можно взглянуть на древние интерпретаторы (cflea например). Они еще не обезображены ресурсоемкими "объектно-ориентированностью, сборщиками мусора и прочими перегруженными типами".
Но вкручивать их придется "восемь раз вокруг ноги, через шею в сапоги"

Добавлено спустя 7 минут 26 секунд:
из джавы - сейчас не скажу. Но попадались всякие (правда платные часто)

Добавлено спустя 7 минут 28 секунд:
http://java.net/projects/squawk/pages/SquawkCortextM3
http://www.is2t.com/en/products-arm7.php

Что-то такое. Не ковырялся никогда.

Добавлено спустя 22 секунды:
Хм, прикольно http://lejos.sourceforge.net/rcx-downloads.php

Re: Интерпретатор для микроконтроллера...

MiBBiM » 18 июл 2011, 12:59

http://code.google.com/p/python-on-a-chip/
Features of the PyMite VM:
Requires roughly 55 KB program memory
Initializes in 4KB RAM; print "hello world" needs 5KB; 8KB is the minimum recommended RAM.
Supports integers, floats, tuples, lists, dicts, functions, modules, classes, generators, decorators and closures
Supports 25 of 29 keywords and 89 of 112 bytecodes from Python 2.6
Can run multiple stackless green threads (round-robin)
Has a mark-sweep garbage collector
Has a hosted interactive prompt for live coding
Licensed under the GNU GPL ver. 2
Последний раз редактировалось MiBBiM 18 июл 2011, 15:10, всего редактировалось 1 раз.

Re: Интерпретатор для микроконтроллера...

Angel71 » 18 июл 2011, 14:37

имхо либо что-то очень простенькое и не требовательное, без всяких сборщиков мусора и прочих наворотов. либо уже смотреть в торону java и .net mf. для того же .net 4 mf минимум нужно 64к оперативной и 256к флеша. http://www.microsoft.com/en-us/netmf/about/gettingstarted.aspx, http://www.netmf.com/Home.aspx, http://netduino.com/netduino/ :) по яве http://www.rtjcom.com/main.php?p=ovr, http://www.harbaum.org/till/nanovm/index.shtml, http://java-virtual-machine.net/other.html,... гугля

Re: Интерпретатор для микроконтроллера...

Michael_K » 18 июл 2011, 15:05

http://www.rtjcom.com/main.php?p=home

Добавлено спустя 3 минуты 31 секунду:
http://www.jcontrol.org/index_en.php

Re: Интерпретатор для микроконтроллера...

Strijar » 19 июл 2011, 08:24

И где-ж те времена когда Бэйсик работал на 8 битных компах с общим объемом 64к ;)

Кстати до кучи - http://amforth.sourceforge.net/

Re: Интерпретатор для микроконтроллера...

Michael_K » 19 июл 2011, 08:27

...и где ж те программисты, что писали его, а не искали, где скачать :)

Re: Интерпретатор для микроконтроллера...

HarryStar » 19 июл 2011, 08:29

А точно нужен полный настоящий язык? Может какой-то свой упрощенный на пару десятков команд придумать? Общая задача то какая, чем этот МК с интерпретатором будет управлять?

Re: Интерпретатор для микроконтроллера...

Strijar » 19 июл 2011, 08:33

Michael_K писал(а):...и где ж те программисты, что писали его, а не искали, где скачать :)


Твоя правда. Правда я застал те времена - писал для себя интерпретатор Small C на Turbo Pascal ;)

Re: Интерпретатор для микроконтроллера...

blindman » 19 июл 2011, 09:07

Делал что-то подобное, работает в одном из моих проектов. forum2/topic8094-45.html#p165393

Могу подготовить и выложить исходники компилятора и пример реализации виртуальной машины для AVR

Re: Интерпретатор для микроконтроллера...

Виталий » 19 июл 2011, 11:19

Да я собственно поняв, что ничего толкового нет уже начал писать сам. Только вот решу надо ли запихивать компилятор в контроллер или достаточно виртуальной машины...

Re: Интерпретатор для микроконтроллера...

galex1981 » 19 июл 2011, 11:21

to blindman: Если не сложно выложи пожалуйста


Rambler\'s Top100 Mail.ru counter