Выполнение пользовательских скриптов на микроконтроллере или встроенных платформах - PullRequest
0 голосов
/ 05 марта 2020

У меня есть плата разработки микроконтроллера (stm32) со считывателем SD-карт. Я хочу создать пользовательские светодиодные системы, в которых пользователи могут писать простые сценарии и сохранять на SD-карту, а затем выбирать

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

for(int i = 0; i < 10; i++)
{
 LED_1 = ON;
 DELAY(100);
 LED_1 = OFF;
 LED_2 = ON;
 DELAY(100);
 LED_2 = OFF;
}

И я сохраняю это на SD-карту как «script01.txt».

Когда пользователи выбирают этот файл на MCU (используя ЖК-дисплей и кнопки), тогда MCU должен делать то, что написано в сценарии, например, переключать соответствующие выводы GPIO и делать задержки.

Я считаю, что то, что я пытаюсь сделать, называется созданием интерпретатора во время выполнения. время? Я уверен, что это возможно, но я понятия не имею, как называется такая система и где искать дополнительную информацию?

Я имею в виду, что могу легко скомпилировать нужные мне подпрограммы и запрограммировать их на MCU само по себе, но я действительно хочу сделать вещи динамичными c .... Допустим, я хочу передать эту систему кому-то, чтобы он / она мог легко делать все, что он / она хочет, используя собственные сценарии!

Ответы [ 3 ]

3 голосов
/ 06 марта 2020

Embedded Lua используется как интерпретатор во встроенных системах для запуска простых скриптов. Вот одна реализация, которая поддерживает STM32: http://www.eluaproject.net/

2 голосов
/ 05 марта 2020

Да, вы хотите создать интерпретатор вашего языка программирования. Это очень сложная задача, и интерпретируемые языки практически не используются в мире u C.

0 голосов
/ 10 марта 2020

Поскольку вы используете stm32, u python может быть хорошим вариантом.

https://www.st.com/en/embedded-software/grpl-upython.html#overview

В списке функций упоминается "Поддержка файловой системы ( FAT) с пользовательскими блочными устройствами и прозрачным доступом из скриптов ".

Он поддерживает устройства cortex-m4 и cortex-m7 stm32.

...