реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Простой скриптовый язык в рамках Cortex-M3 (STM32)
zksystem
сообщение Sep 28 2011, 10:22
Сообщение #1


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



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


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 28 2011, 10:26
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Pawn

Использовал. Очень понравилось. Там даже есть реализация виртуальной машины на ARM-ассемблере, то есть на Cortex-M3 должно бегать шустро.
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 28 2011, 10:51
Сообщение #3


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



А вот это? eLUA, кто-нибудь пользовал?
http://www.eluaproject.net/get-started/downloads

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

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


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
richie
сообщение Sep 28 2011, 11:37
Сообщение #4


Частый гость
**

Группа: Свой
Сообщений: 147
Регистрация: 5-07-04
Из: Обнинск
Пользователь №: 261



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

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

Мой сотрудник говорит, что на предыдущей работе чел использовал его в контроллере.
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 28 2011, 11:46
Сообщение #5


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



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

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

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

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


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 28 2011, 11:58
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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


Надо уточнить с компилятором или нет.
С компилятором и без собственных библиотек не более 100 Kбайт памяти программ.
Память данных там выбирается через движок динамического выделения памяти и зависит от самого выполняемого скрипта.
Стоит сразу зарезервировать минимум 200 КБайт.
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 28 2011, 12:31
Сообщение #7


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



Цитата(AlexandrY @ Sep 28 2011, 15:58) *
Надо уточнить с компилятором или нет.

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

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


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


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 28 2011, 13:20
Сообщение #8


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



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


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 28 2011, 14:32
Сообщение #9


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(Сергей Борщ @ Sep 28 2011, 17:20) *
Можно еще посмотреть в сторону Forth.

IMHO это единственное что влезет во внутреннюю память!
Кстати реализация по АРМ находится гуглом.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Sep 28 2011, 18:05
Сообщение #10


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



Цитата
Мне интересно сколько эта LUA памяти сожрёт (RAM/ROM) ?
можно посмотреть на ихнем сайте - пишут нужно минимум 64К RAM
еще: http://stackoverflow.com/questions/1082751...-in-tiny-memory

Сообщение отредактировал ukpyr - Sep 28 2011, 18:11
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение Sep 28 2011, 20:15
Сообщение #11


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



Цитата(zksystem @ Sep 28 2011, 15:31) *
Мне нужно чтобы в устройство кидался скрипт прямо в тексте и работал.


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

Но вообще то нынче рулит .NET micro framework.
Go to the top of the page
 
+Quote Post
ukpyr
сообщение Sep 28 2011, 21:00
Сообщение #12


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



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

Сообщение отредактировал ukpyr - Sep 28 2011, 21:01
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Sep 29 2011, 04:18
Сообщение #13


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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

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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
scifi
сообщение Sep 29 2011, 05:58
Сообщение #14


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(zksystem @ Sep 28 2011, 16:31) *
Мне нужно чтобы в устройство кидался скрипт прямо в тексте и работал.

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

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

Если закачивать скрипты в скомпилированном виде, то Pawn весьма хорош. У меня было выделено 32 кБ ОЗУ на скрипт, помещалась весьма нетривиальная программа. Виртуальная машина совсем маленькая. Кстати, скрипт можно пускать и из ROM, тогда требования к RAM становятся ещё меньше (только стек и куча для виртуальной машины).
Go to the top of the page
 
+Quote Post
SBE
сообщение Sep 29 2011, 15:41
Сообщение #15


Частый гость
**

Группа: Участник
Сообщений: 108
Регистрация: 8-09-05
Пользователь №: 8 384



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

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


Go to the top of the page
 
+Quote Post
goodwin
сообщение Sep 29 2011, 17:18
Сообщение #16


Местный
***

Группа: Свой
Сообщений: 481
Регистрация: 1-08-05
Пользователь №: 7 267



Вот это попробовал как то залить в олимексовскую платку: http://jumentum.sourceforge.net/
Чем не скриптовый язык?
Текст программы заливается прямо через web морду во встроенную флэш контроллера. Даже отладка кое-какая имеется.
FTP сервер на бэйсике даже отдавал файлы со скоростью несколько кБ/сек wink.gif
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 29 2011, 18:23
Сообщение #17


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (goodwin @ Sep 29 2011, 20:18) *
А, кстати, да - еще же Jim есть. Не знаю, сколько он требует, но он скриптовый и он есть.

Прелесть Форта в том, что он разбирает и компилит в свой "шитый" код скрипт на лету. Отсюда минимальные трабования к ОЗУ. C-подобный синтаксис так разбирать, наверное, невозможно.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
zksystem
сообщение Sep 30 2011, 06:19
Сообщение #18


embedder
***

Группа: Свой
Сообщений: 264
Регистрация: 11-05-05
Из: Казань
Пользователь №: 4 911



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

У Форта синтаксис конечно жееесть....


--------------------
Мечты стареют куда быстрее мечтателей… Стивен Кинг. "Ловец снов"
Go to the top of the page
 
+Quote Post
SBE
сообщение Sep 30 2011, 15:36
Сообщение #19


Частый гость
**

Группа: Участник
Сообщений: 108
Регистрация: 8-09-05
Пользователь №: 8 384



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

Ага. Зато среди прочих прелестей можно непринужденно скриптик прямо на ассеблере писать. Что уж тут говорить про быстродействие и компактность.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 30 2011, 15:51
Сообщение #20


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Я бы с удовольствием посмотрел на какую-нибудь живую реализацию форта для Cortex-M3. Ну, чтобы не допиливать неделю, а сразу залить и побаловаться.
Ну или хотя бы бейсикаsm.gif


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
KRS
сообщение Sep 30 2011, 16:27
Сообщение #21


Профессионал
*****

Группа: Модераторы
Сообщений: 1 951
Регистрация: 27-08-04
Из: Санкт-Петербург
Пользователь №: 555



Цитата(AHTOXA @ Sep 30 2011, 19:51) *
Я бы с удовольствием посмотрел на какую-нибудь живую реализацию форта для Cortex-M3.

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

Go to the top of the page
 
+Quote Post
ukpyr
сообщение Sep 30 2011, 16:34
Сообщение #22


Профессионал
*****

Группа: Участник
Сообщений: 1 264
Регистрация: 17-06-08
Из: бандустан
Пользователь №: 38 347



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

http://www.google.com.ua/search?q=stm32+fo...lient=firefox-a
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Sep 30 2011, 16:58
Сообщение #23


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(KRS @ Sep 30 2011, 22:27) *
Здесь есть, правда для SAM7, так что под кортекс надо исправить.

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

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


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
Kopa
сообщение Oct 2 2011, 09:07
Сообщение #24


Знающий
****

Группа: Участник
Сообщений: 598
Регистрация: 22-08-05
Пользователь №: 7 861



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

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


Посмотрите ресурс fforum.winglion.ru Там же и можете вопросы по Forth задатьsm.gif
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 22:22
Рейтинг@Mail.ru


Страница сгенерированна за 0.0159 секунд с 7
ELECTRONIX ©2004-2016