Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Простой скриптовый язык в рамках Cortex-M3 (STM32)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
zksystem
Появилась необходимость ввести в проект внутренний скриптовый язык, без излишеств, может кто реализовывал нечто подобное, подскажите какой лучше использовать? Желательно чтобы синтаксис был С-подобный. Заранее благодарен.
scifi
Pawn

Использовал. Очень понравилось. Там даже есть реализация виртуальной машины на ARM-ассемблере, то есть на Cortex-M3 должно бегать шустро.
zksystem
А вот это? eLUA, кто-нибудь пользовал?
http://www.eluaproject.net/get-started/downloads

Цитата(scifi @ Sep 28 2011, 14:26) *

Вроде что-то интересное, спасибо, посмотрю.
richie
LUA перспективнее, есть и русскоязычные сайты поддержки фанатов.

Синтаксис, конечно не C, документация по синтаксису читается за полчаса,
а далее только от гибкости (извращения) ума зависит. sm.gif

Мой сотрудник говорит, что на предыдущей работе чел использовал его в контроллере.
zksystem
Цитата(richie @ Sep 28 2011, 15:37) *
LUA перспективнее, есть и русскоязычные сайты поддержки фанатов.

Синтаксис, конечно не C, документация по синтаксису читается за полчаса,
а далее только от гибкости (извращения) ума зависит. sm.gif

Мой сотрудник говорит, что на предыдущей работе чел использовал его в контроллере.

Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?
AlexandrY
Цитата(zksystem @ Sep 28 2011, 14:46) *
Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?


Надо уточнить с компилятором или нет.
С компилятором и без собственных библиотек не более 100 Kбайт памяти программ.
Память данных там выбирается через движок динамического выделения памяти и зависит от самого выполняемого скрипта.
Стоит сразу зарезервировать минимум 200 КБайт.
zksystem
Цитата(AlexandrY @ Sep 28 2011, 15:58) *
Надо уточнить с компилятором или нет.

Мне нужно чтобы в устройство кидался скрипт прямо в тексте и работал.

Цитата(AlexandrY @ Sep 28 2011, 15:58) *
Стоит сразу зарезервировать минимум 200 КБайт.


Без внешней памяти получается нечего ловить...
Сергей Борщ
Можно еще посмотреть в сторону Forth. Он, конечно, совсем не С-подобный, но дает неплохую скорость выполнения. Конкретных реализаций не посоветую. Сталкивался с ним на "Агате" и 68HC12.
KRS
Цитата(Сергей Борщ @ Sep 28 2011, 17:20) *
Можно еще посмотреть в сторону Forth.

IMHO это единственное что влезет во внутреннюю память!
Кстати реализация по АРМ находится гуглом.
ukpyr
Цитата
Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?
можно посмотреть на ихнем сайте - пишут нужно минимум 64К RAM
еще: http://stackoverflow.com/questions/1082751...-in-tiny-memory
AlexandrY
Цитата(zksystem @ Sep 28 2011, 15:31) *
Мне нужно чтобы в устройство кидался скрипт прямо в тексте и работал.


Чтобы прямо в тексте, то это значит нужен компилятор. Компилирует он конечно не в asm, а в такие разжеванные структуры.
Ну максимум в режиме Thumb с компилятором можно ужаться в 90 КБайт.
Если говорят меньше значит компилятора там нет.
Если скрипт помещается в одну строчку то думаю и 64 Кбайт RAM хватит.
Но движок динамической памяти должен быть быстрым и надежным потому как память выделяется часто и маленькими фрагментами.

Но вообще то нынче рулит .NET micro framework.
ukpyr
если вспомнить zx-spectrum, радио, бк0010 с их куцой памятью и кучей разных компиляторов и интерпретаторов то даже 32К ОЗУ и 256К флеша - это дофигища, главное с умом их использовать
MrYuran
Цитата(Сергей Борщ @ Sep 28 2011, 17:20) *
Можно еще посмотреть в сторону Forth. Он, конечно, совсем не С-подобный, но дает неплохую скорость выполнения.

++
Есть ещё Forth-like системы с исходниками на си, например, F- (Fminus) или Forpost.
Последний, имхо, на 32-битную архитектуру вообще должен идеально ложиться.
Преимущество таких систем - простая интеграция с сишной программой. Можно сишные функции определить как слова форта, и тогда быстродействие практически не будет отличаться.
Затраты копеечные, на MSP430 я пробовал запускать CamelForth, весь движок с интерактивным интерпретатором-компилятором и набором базовых слов занял около 4кБ.
scifi
Цитата(zksystem @ Sep 28 2011, 16:31) *
Мне нужно чтобы в устройство кидался скрипт прямо в тексте и работал.

У языка Pawn есть компилятор, который можно встроить в свою программу. Но сколько компилятору нужно ROM/RAM - я не знаю.

Цитата(zksystem @ Sep 28 2011, 16:31) *
Без внешней памяти получается нечего ловить...

Если закачивать скрипты в скомпилированном виде, то Pawn весьма хорош. У меня было выделено 32 кБ ОЗУ на скрипт, помещалась весьма нетривиальная программа. Виртуальная машина совсем маленькая. Кстати, скрипт можно пускать и из ROM, тогда требования к RAM становятся ещё меньше (только стек и куча для виртуальной машины).
SBE
Цитата(MrYuran @ Sep 29 2011, 08:18) *
++
Есть ещё Forth-like системы с исходниками на си, например, F- (Fminus) или Forpost.
Последний, имхо, на 32-битную архитектуру вообще должен идеально ложиться.
Преимущество таких систем - простая интеграция с сишной программой. Можно сишные функции определить как слова форта, и тогда быстродействие практически не будет отличаться.
Затраты копеечные, на MSP430 я пробовал запускать CamelForth, весь движок с интерактивным интерпретатором-компилятором и набором базовых слов занял около 4кБ.

+++ Исторически использую Forth подобное с интеграцией в С.
Очень компактно, как сама среда, так и скрипты. Может быть компилятор и интерпретатор в одном флаконе. Шустро, не требовательно к ресурсам. Достаточно просто под себя переписать.
Но синтаксис, мягко говоря, специфическийcrying.gif Поэтому посматриваю в поисках замены, но пока все выглядит слишком тяжеловесным для МК и моих задачек.


goodwin
Вот это попробовал как то залить в олимексовскую платку: http://jumentum.sourceforge.net/
Чем не скриптовый язык?
Текст программы заливается прямо через web морду во встроенную флэш контроллера. Даже отладка кое-какая имеется.
FTP сервер на бэйсике даже отдавал файлы со скоростью несколько кБ/сек wink.gif
Сергей Борщ
QUOTE (goodwin @ Sep 29 2011, 20:18) *
А, кстати, да - еще же Jim есть. Не знаю, сколько он требует, но он скриптовый и он есть.

Прелесть Форта в том, что он разбирает и компилит в свой "шитый" код скрипт на лету. Отсюда минимальные трабования к ОЗУ. C-подобный синтаксис так разбирать, наверное, невозможно.
zksystem
Цитата(SBE @ Sep 29 2011, 19:41) *
+++ Исторически использую Forth подобное с интеграцией в С.
Очень компактно, как сама среда, так и скрипты. Может быть компилятор и интерпретатор в одном флаконе. Шустро, не требовательно к ресурсам. Достаточно просто под себя переписать.
Но синтаксис, мягко говоря, специфическийcrying.gif Поэтому посматриваю в поисках замены, но пока все выглядит слишком тяжеловесным для МК и моих задачек.

У Форта синтаксис конечно жееесть....
SBE
Цитата(zksystem @ Sep 30 2011, 10:19) *
У Форта синтаксис конечно жееесть....

Ага. Зато среди прочих прелестей можно непринужденно скриптик прямо на ассеблере писать. Что уж тут говорить про быстродействие и компактность.
AHTOXA
Я бы с удовольствием посмотрел на какую-нибудь живую реализацию форта для Cortex-M3. Ну, чтобы не допиливать неделю, а сразу залить и побаловаться.
Ну или хотя бы бейсикаsm.gif
KRS
Цитата(AHTOXA @ Sep 30 2011, 19:51) *
Я бы с удовольствием посмотрел на какую-нибудь живую реализацию форта для Cortex-M3.

Здесь есть, правда для SAM7, так что под кортекс надо исправить.
http://www.arcus-eds.de/open-source_and_pu...in.html?&L=

ukpyr
Цитата
Я бы с удовольствием посмотрел на какую-нибудь живую реализацию форта для Cortex-M3.

http://www.google.com.ua/search?q=stm32+fo...lient=firefox-a
AHTOXA
Цитата(KRS @ Sep 30 2011, 22:27) *
Здесь есть, правда для SAM7, так что под кортекс надо исправить.

Спасибо, посмотрю. Хотя хочется именно готового. Чтобы посмотреть на форт, а не ковыряться с портированием.
Цитата(ukpyr @ Sep 30 2011, 22:34) *

Гуглить я умею. Но что-то в результатах поиска не наблюдается того, о чём я спрашивал.
Kopa
Цитата(AHTOXA @ Sep 30 2011, 19:58) *
Спасибо, посмотрю. Хотя хочется именно готового. Чтобы посмотреть на форт, а не ковыряться с портированием.

Гуглить я умею. Но что-то в результатах поиска не наблюдается того, о чём я спрашивал.


Посмотрите ресурс fforum.winglion.ru Там же и можете вопросы по Forth задатьsm.gif
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.