Перейти к содержанию
    

Простой скриптовый язык в рамках Cortex-M3 (STM32)

Появилась необходимость ввести в проект внутренний скриптовый язык, без излишеств, может кто реализовывал нечто подобное, подскажите какой лучше использовать? Желательно чтобы синтаксис был С-подобный. Заранее благодарен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Pawn

 

Использовал. Очень понравилось. Там даже есть реализация виртуальной машины на ARM-ассемблере, то есть на Cortex-M3 должно бегать шустро.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А вот это? eLUA, кто-нибудь пользовал?

http://www.eluaproject.net/get-started/downloads

 

Вроде что-то интересное, спасибо, посмотрю.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Синтаксис, конечно не C, документация по синтаксису читается за полчаса,

а далее только от гибкости (извращения) ума зависит. :)

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Синтаксис, конечно не C, документация по синтаксису читается за полчаса,

а далее только от гибкости (извращения) ума зависит. :)

 

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

Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?

 

Надо уточнить с компилятором или нет.

С компилятором и без собственных библиотек не более 100 Kбайт памяти программ.

Память данных там выбирается через движок динамического выделения памяти и зависит от самого выполняемого скрипта.

Стоит сразу зарезервировать минимум 200 КБайт.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Надо уточнить с компилятором или нет.

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

 

Стоит сразу зарезервировать минимум 200 КБайт.

 

Без внешней памяти получается нечего ловить...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно еще посмотреть в сторону Forth. Он, конечно, совсем не С-подобный, но дает неплохую скорость выполнения. Конкретных реализаций не посоветую. Сталкивался с ним на "Агате" и 68HC12.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно еще посмотреть в сторону Forth.

IMHO это единственное что влезет во внутреннюю память!

Кстати реализация по АРМ находится гуглом.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?
можно посмотреть на ихнем сайте - пишут нужно минимум 64К RAM

еще: http://stackoverflow.com/questions/1082751...-in-tiny-memory

Изменено пользователем ukpyr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

 

Чтобы прямо в тексте, то это значит нужен компилятор. Компилирует он конечно не в asm, а в такие разжеванные структуры.

Ну максимум в режиме Thumb с компилятором можно ужаться в 90 КБайт.

Если говорят меньше значит компилятора там нет.

Если скрипт помещается в одну строчку то думаю и 64 Кбайт RAM хватит.

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

 

Но вообще то нынче рулит .NET micro framework.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

если вспомнить zx-spectrum, радио, бк0010 с их куцой памятью и кучей разных компиляторов и интерпретаторов то даже 32К ОЗУ и 256К флеша - это дофигища, главное с умом их использовать

Изменено пользователем ukpyr

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно еще посмотреть в сторону Forth. Он, конечно, совсем не С-подобный, но дает неплохую скорость выполнения.

++

Есть ещё Forth-like системы с исходниками на си, например, F- (Fminus) или Forpost.

Последний, имхо, на 32-битную архитектуру вообще должен идеально ложиться.

Преимущество таких систем - простая интеграция с сишной программой. Можно сишные функции определить как слова форта, и тогда быстродействие практически не будет отличаться.

Затраты копеечные, на MSP430 я пробовал запускать CamelForth, весь движок с интерактивным интерпретатором-компилятором и набором базовых слов занял около 4кБ.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

 

Без внешней памяти получается нечего ловить...

Если закачивать скрипты в скомпилированном виде, то Pawn весьма хорош. У меня было выделено 32 кБ ОЗУ на скрипт, помещалась весьма нетривиальная программа. Виртуальная машина совсем маленькая. Кстати, скрипт можно пускать и из ROM, тогда требования к RAM становятся ещё меньше (только стек и куча для виртуальной машины).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

++

Есть ещё Forth-like системы с исходниками на си, например, F- (Fminus) или Forpost.

Последний, имхо, на 32-битную архитектуру вообще должен идеально ложиться.

Преимущество таких систем - простая интеграция с сишной программой. Можно сишные функции определить как слова форта, и тогда быстродействие практически не будет отличаться.

Затраты копеечные, на MSP430 я пробовал запускать CamelForth, весь движок с интерактивным интерпретатором-компилятором и набором базовых слов занял около 4кБ.

+++ Исторически использую Forth подобное с интеграцией в С.

Очень компактно, как сама среда, так и скрипты. Может быть компилятор и интерпретатор в одном флаконе. Шустро, не требовательно к ресурсам. Достаточно просто под себя переписать.

Но синтаксис, мягко говоря, специфический:crying: Поэтому посматриваю в поисках замены, но пока все выглядит слишком тяжеловесным для МК и моих задачек.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...