MakeCode и CODAL упрощают программирование электроники


Вы когда-нибудь хотели запрограммировать электронику для развлечения или получения прибыли, но думали, что входной барьер слишком высок? Вы учитель, родитель, который хотел научить детей осязаемому программированию, но не может понять, с чего начать? Если ответ положительный, вы найдете MakeCode и CODAL гораздо более доступным способом проникнуть в мир электроники.

MakeCode от Microsoft — это веб-приложение, в котором вы можете писать код для микроконтроллеров на языке высокого уровня, будь то блочный Blocky или TypeScript, а CODAL (Component-Oriented Device Abstraction Layer) от Lancaster University — это оптимизированная среда выполнения C ++, которая поддерживает языки более высокого уровня и содержит драйверы для устройств. Первоначально они предназначались только для BBC micro: bit, но другие цели включают Arduino Uno или BrainPad.

MakeCode предлагает два удобства для написания кода для электроники: во-первых, он не требует от пользователя выполнения какой-либо установки, вроде наборов инструментов для компиляции или драйверов устройств; вам просто нужен веб-браузер, поскольку все работает внутри браузера, написание кода или даже компиляция двоичных файлов C ++!

Во-вторых, вы можете программировать в редакторе Blocky для визуального блочного программирования или в Monaco, редакторе кода на базе VS Code и TypeScript. Blocky упрощает начало работы для школьников и детей, в то время как Monaco обслуживает более продвинутых пользователей, предлагая текстовое программирование в варианте TypeScript под названием STS или Static TypeScript, который:

«расширяет TypeScript конструктором типов для конкретных типов, позволяя программисту выбирать между нетипизированным, необязательно типизированным и конкретно типизированным кодом».

Обычно это делается в соответствии со следующим рабочим процессом:

Напишите программу в любом редакторе

Протестируйте его онлайн на веб-симуляторе, предоставляемом MakeCode.

Скомпилируйте код в машинный код (процесс, выполняемый в браузере) и свяжите его с предварительно скомпилированной средой выполнения CODAL C ++ для создания скомпилированного двоичного файла.

Подключите микроустройство к ПК, обратите внимание, что устройства, совместимые с MakeCode, выглядят как USB-накопители при подключении к USB-порту ПК благодаря еще одной новинке, формату файлов UF2 и загрузчику, который позволяет упростить перенос двоичных файлов в устройство через USB.

Перенесите двоичный файл на компьютер пользователя, а затем на микроустройство, перепрошив его.

Итак, что делают MakeCode и CODAL таким образом? Начиная снизу вверх, прошивка устройства через USB по сравнению с более традиционными методами подключения к микроустройствам намного проще.

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

Проблема с самого начала заключалась в том, чтобы найти способ избавиться от крутой кривой обучения C / C ++, но в то же время сохранить как функциональность, так и оптимизацию, полученную в результате его использования. Скомпилировать TypeScript в C ++ и связать его с CODAL, оптимизированной и эффективной средой выполнения, способной работать на устройствах с объемом памяти от 2 до 32 Кбайт, — это уже подвиг.

Конечно, есть и другие компиляторы, которые компилируют языки более высокого уровня, такие как JavaScript, Java и Python, в машинный код, но они требуют посредничества виртуальной машины, например MicroPython, CircuitPython и Espruino. Эти виртуальные машины не являются ни производительными, ни эффективными с точки зрения памяти. Тесты подтверждают это мнение, демонстрируя, что двоичные файлы, скомпилированные MakeCode и связанные с CODAL, превосходят другие подходы.

Итак, начинающие любители электроники, маленькие или большие, могут попробовать MakeCode и CODAL. Его легко настроить, и он заботится о большом количестве шаблонов, чтобы вы могли сосредоточиться только на одной вещи, на которой вы должны сосредоточиться, — кодировании.


Добавить комментарий