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

Скрипты в микроконтроллере

Имеется плата с STM32.

На плате есть несколько дискретных и аналоговых входов.

Есть дискретные выходы и выходы с ШИМ. И есть CAN.

Нужна возможность управления всем этим с помощью скриптов в контроллере.

Как принято делать такие вещи? Держать в контроллере какой-то интерпретатор или заливать туда предварительно скомпиленный код?

Из необходимых функций это логические операции с дискретными входами и арифметические с аналоговыми.

Временные задержки. Прием и выдача данных через CAN.

 

 

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


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

попробуйте дотнет микрофреймворк

там уже и дисплеи наверно прикрутили

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


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

до кучи еще pawn и lua (жирновата правда немного для STM32, особенно если это какой-нибудь F0/F1 )

 

а еще сюда сейчас любители FORTа набегут :)

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


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

А ещё есть интерпретатор Си (picoC) - пример.

Если скрипты совсем простые (проигрывание последовательности команд, например), можно виртуальную машину использовать - пример.

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


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

Нужна возможность управления всем этим с помощью скриптов в контроллере.

а точно скрипты нужны? может у вас простая выполнялка команд?

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


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

попробуйте дотнет микрофреймворк

там уже и дисплеи наверно прикрутили

 

Да .Net MF сильная штука. Единственная из всего названного которую можно по честному отлаживать на целевой платформе .

Вот тут мы ее билдили - http://geektimes.ru/post/266612/

 

Но процесс очень запутанный. Скрипты сборки это нечто.

Сборка длительная.

128 Кб там впритык. Но правда туда уже входит TCP стек и прочие удовольствия.

Меандр на плате Discovery генерирует 40 КГц

Программы пишутся и отлаживаются на C# в бесплатном Visual Studio 2015

 

Короче, нужны ресурсы чуток побольше и .Net MF нет альтернатив.

 

 

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


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

Короче, нужны ресурсы чуток побольше и .Net MF нет альтернатив.

Цитаты по ссылке приведённой статьи.

Бинарник CLR от GCC — 316 кб. От RealView — 297 кб. 64 Kb of RAM

Я думаю стоит ориентироваться на то, что .Net Micro Framework работает на 2-3 порядка медленнее, в зависимости от оптимизации. Но он и не ориентирован на вычисления.

 

P.S. А я то думал Форт прожорлив с его типичными 8-16-32Кб вариантами FVM, хотя и не предел :)

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

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


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

чуток побольше

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

камня вышло - должна быть просто фантастикой

 

Цитаты

компилиться должно в нативный код, так что будеть работать чуть медленнее gcc, пусть даже раза в два

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

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

но это как раз не за горами

Изменено пользователем Огурцов

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


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

Имхо луа. Как с точки зрения потребления ресурсов, так и с точки зрения обучения неподготовленных людей.

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

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


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

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

Вам не хватает библиотек уже существующих в С, С++ ?

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

 

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

но это как раз не за горами

На контроллер перекладывать задачи решаемые в рамках компьютера?

Не проще ли тогда взять платы "компьютеров" в одноплатном формате для встраивания в оборудование?

 

P.S. Ещё ждём когда контроллеры широко будут программироваться на Java? :smile3046:

Может, действительно, ТС попробовать Lua для скриптования как выше советовали?

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

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


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

Да не проблема выкинуть лишнее из всех скриптовых интерпритаторов. Коды все есть.

И добавить нужных можно - что бы были прямо в нативном коде.

А скрипт использовать только для задания алгоритма.

Хотя все это баловство со скриптами.

Так - побаловаться и бросить.

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


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

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

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

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

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

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

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

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

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

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