Есть ли какие-либо доступные библиотеки интерпретируемого языка FreeRTOS?

Я работаю на компанию, которая создала встроенное микропрограммное обеспечение для нескольких использований устройства FreeRTOS. В последнее время наш запрос на новые возможности превзошел, к какому количеству работы наши микропрограммные инженеры способны, но мы не можем позволить себе нанять любого нового прямо сейчас также. Внесение даже крошечных изменений требует, чтобы микропрограммные люди вошли и изменили вещи на очень низком уровне.

Я искал своего рода проект интерпретируемого языка для FreeRTOS, который позволил бы нам реализовать новые опции в более высоком уровне. Идеально я хотел бы получить вещи в конечном счете, таким образом, устройства становятся ближе к универсальным компьютерам с нами пишущий драйверы, а не нас имеющий необходимость реализовать каждую опцию самих.

Есть ли какие-либо проекты FreeRTOS, которые интерпретируют Java, Python или подобный байт-код?

Я считал Google, но так как я не микропрограммный инженер сам, я не уверен, ищу ли я правильные ключевые слова.

Спасибо все

11
задан Dan 7 April 2010 в 01:17
поделиться

3 ответа

Я не думаю, что RTOS или даже ОС имеют здесь слишком большое значение, если код переносим. В зависимости от вашей схемы ввода и вывода вам, вероятно, потребуется немного портировать.

Что касается встраиваемых языков сценариев, 2, с которыми я знаком, - это LUA и PAWN .

Я думаю, что есть версии Python и других подобных языков, перенесенные на встроенные системы, но они, как правило, являются разновидностью встроенного Linux. В зависимости от вашей платформы (не знаю, маленький ли это MCU с 8K ROM или встроенный ПК) это может быть вариантом.

6
ответ дан 3 December 2019 в 10:25
поделиться

Думаю, ваш вопрос в конечном итоге сводится к поиску способов повышения уровня абстракции над низкоуровневыми механизмами RTOS. Хотя, возможно, верно, что интерпретируемые языки работают на несколько более высоком уровне абстракции, чем C, вы можете добиться большего, применяя методы на основе событийно-управляемых фреймворков и конечных автоматов. Такие событийно-ориентированные фреймворки существуют уже несколько десятилетий и зарекомендовали себя в бесчисленных встроенных системах во всевозможных областях. Сегодня практически каждый инструмент моделирования для встроенных систем, способных генерировать код (например, Rational-Rose RT, Rhapsody и т. Д.), Содержит вариант такой структуры конечного автомата.

Но управляемые событиями структуры конечного автомата можно использовать и без больших инструментов. Фреймворки конечного автомата QP (state-machine.com), например, делают все, что может делать обычная ОСРВ, только более эффективно, а также многие вещи, недоступные ОСРВ.

Когда вы начнете использовать современную парадигму событийно-ориентированного программирования с конечными автоматами, ваши проблемы изменятся. Вы больше не будете бороться с 15 уровнями запутанных операторов if-else, и вы перестанете беспокоиться о семафорах или других подобных низкоуровневых механизмах RTOS. Вместо этого вы начнете думать на более высоком уровне абстракции о машинах состояний и событиях, которыми обмениваются между ними. После того, как вы испытаете этот квантовый скачок, вы никогда не захотите вернуться к необработанной ОСРВ и спагетти-коду.

Миро Самек, state-machine.com

0
ответ дан 3 December 2019 в 10:25
поделиться

Не существует интерпретируемых языков, которые были бы «созданы» для использования FreeRTOS или какой-либо другой библиотеки потоков микроконтроллера (в сообществе e2e в общих чертах называемой «RTOS»).

Тем не менее, языки, которые у меня есть на собственном опыте использования во встроенных системах, которые (а) написаны на C и (б) достаточно малы для встраивания в микроконтроллер, включают:

  • LUA (подходит почти для всего, даже для некоторых PIC)
  • Python (в любом случае подходит для большинства архитектур ARM, с оперативной памятью более 1 МБ)

У меня нет непосредственного опыта работы с ним, но Ruby может быть так же легко встроен, как и Python.

2
ответ дан 3 December 2019 в 10:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: