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

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

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

Сообщение Виталий » 18 июл 2011, 00:23

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

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

Кто что может посоветовать для решения такой задачки?
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

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

Сообщение Сергей » 18 июл 2011, 00:29

elua
Сергей
 
Сообщения: 3744
Зарегистрирован: 29 дек 2004, 23:15
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей

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

Сообщение Michael_K » 18 июл 2011, 00:35

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

Из очевидных решений - форт какой-нибудь :)
Арм худо-бедно потянет урезанную джаву (байт-код естественно).
Под нее хотя бы инструментов навалом.
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

Сообщение Виталий » 18 июл 2011, 00:54

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

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

Добавлено спустя 5 минут 24 секунды:
А что из урезанной джавы есть на примете?
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

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
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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 раз.
Tomorrow will be. Better
Аватара пользователя
MiBBiM
 
Сообщения: 1866
Зарегистрирован: 29 окт 2007, 18:11
Откуда: Пермь
прог. языки: Brainfuck/Basic/Delphi/C++/Lisp/x86asm/JavaScript

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,... гугля
Аватара пользователя
Angel71
 
Сообщения: 10668
Зарегистрирован: 18 апр 2009, 22:18

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

Сообщение Michael_K » 18 июл 2011, 15:05

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

Добавлено спустя 3 минуты 31 секунду:
http://www.jcontrol.org/index_en.php
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

Сообщение Strijar » 19 июл 2011, 08:24

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

Кстати до кучи - http://amforth.sourceforge.net/
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

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

Сообщение Michael_K » 19 июл 2011, 08:27

...и где ж те программисты, что писали его, а не искали, где скачать :)
Аватара пользователя
Michael_K
 
Сообщения: 6028
Зарегистрирован: 07 окт 2009, 00:29
Откуда: СПб

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

Сообщение HarryStar » 19 июл 2011, 08:29

А точно нужен полный настоящий язык? Может какой-то свой упрощенный на пару десятков команд придумать? Общая задача то какая, чем этот МК с интерпретатором будет управлять?
Аватара пользователя
HarryStar
 
Сообщения: 995
Зарегистрирован: 15 ноя 2010, 13:56
Откуда: Нижний Новгород
прог. языки: С, С++, РНР

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

Сообщение Strijar » 19 июл 2011, 08:33

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


Твоя правда. Правда я застал те времена - писал для себя интерпретатор Small C на Turbo Pascal ;)
Аватара пользователя
Strijar
 
Сообщения: 664
Зарегистрирован: 28 авг 2006, 17:09
Откуда: Всеволожск (СПб)
прог. языки: С, C++, Python, Lua, VHDL, Verilog, Forth
ФИО: Олег Белоусов

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

Сообщение blindman » 19 июл 2011, 09:07

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

Могу подготовить и выложить исходники компилятора и пример реализации виртуальной машины для AVR
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

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

Сообщение Виталий » 19 июл 2011, 11:19

Да я собственно поняв, что ничего толкового нет уже начал писать сам. Только вот решу надо ли запихивать компилятор в контроллер или достаточно виртуальной машины...
Все новости о моих проектах http://savethebest.ru
Аватара пользователя
Виталий
 
Сообщения: 2114
Зарегистрирован: 08 окт 2004, 16:43
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий

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

Сообщение galex1981 » 19 июл 2011, 11:21

to blindman: Если не сложно выложи пожалуйста
if(!Operate) Read(pDatasheet);
Аватара пользователя
galex1981
 
Сообщения: 4363
Зарегистрирован: 04 дек 2008, 22:44
Откуда: Камышин
Skype: galk-aleksandr1
прог. языки: Kotlin, Java, C, C++, Assm, BasCom, VB, php
ФИО: Галкин Александр Владимирович

След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11