цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Современные языки программирования микроконтроллеров и встраиваемых систем

Современные языки программирования микроконтроллеров и встраиваемых систем

Автор: Mike(admin) от 6-02-2019, 06:55

Современные тенденции программирования микроконтроллеров


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


Какой язык лучше? Четкого ответа нет, потому что это зависит от приложения, над которым вы работаете. Чтобы помочь вам спланировать свое развитие, мы предлагаем некоторое исследование различных языков, доступных для использования с микроконтроллерами.


Языки программирования C и ассемблер


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


Си и сегодня является популярным языком микроконтроллеров, хотя он был разработан в начале 1970-х годов. Для использования с микроконтроллерами язык C хорошо работает, потому что он способен обрабатывать выделение памяти, а также выполнять относительно сложные функции, такие как операторы if, циклы и математические выражения.


Ассемблер предлагает альтернативу C с несколькими преимуществами. Ассемблер – это более старый язык, который часто использует код, специфичный для устройства, который преобразуется с помощью служебной программы. Используя этот язык, разработчик получает прямой доступ к процессору, где процедуры могут быть тщательно настроены для точного времени применения. Ассемблер предлагает лучшее использование процессора, а также дополнительные наборы инструкций, которые C не поддерживает, такие как битовые манипуляции с конкретными инструкциями.


MicroPython


Python – это многофункциональный интерпретируемый язык, известный своей простотой, понятностью и универсальностью. Эти функции также делают язык слишком большим для микроконтроллеров. Однако с помощью кампании на Kickstarter в 2013 году физик Дэмиен Джордж смог адаптировать Python в уменьшенную версию MicroPython, которая подходит для использования на микроконтроллере.


Код MicroPython является открытым исходным кодом под лицензией MIT. Язык работает на голом железе микропроцессора, используя небольшое подмножество функций стандартной библиотеки Python. Он может работать, используя только 256 КБ flash-памяти и 16 КБ ОЗУ, но при этом он хорошо совместим с обычным Python.


MicroPython

Первоначально разработанный для работы на системах на базе ARM, включая BBC micro:bit, Adafruit Circuit Playground Express и MicroPython PyBoard, он также стал доступен для других процессоров, включая ESP8266 и ESP32.


MicroPython дает преимущества при прототипировании сложных проектов. Например, на ESP8266 создание проектов Интернета вещей можно выполнить несколькими простыми вызовами функций, чтобы подключить проект на MicroPython к локальной точке Wi-Fi и начать потоковую передачу информации MQTT.


Blockly


Blockly – это библиотека программирования с открытым исходным кодом, поддерживаемая Google, целью которой является сделать код визуально логичным с помощью перетаскиваемых блоков.


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


Blockly

После создания совокупности блоков пользователи могут экспортировать свой код Blockly в несколько языков, включая javascript, Python, PHP, Lua и Dart. Одним из преимуществ системы Blockly является то, что ошибки практически невозможны, поскольку блоки требуют определенных соединений и не позволяют соединяться несовместимым блокам.


Хотя этот метод программирования доступен на многих платформах, включая Micro Bit и Adafruit Circuit Playground Express, он не предназначен для использования в качестве конечного коммерческого продукта. Однако это очень полезно на этапах создания прототипа, особенно если требуется подтверждение концепции, а изучение особенностей устройства может занять слишком много времени (например, регистры, биты конфигурации и конфигурация IDE).


Arduino C++


Хотя его часто называют «языком программирования Arduino», Arduino фактически программируется на старом добром C++ и использует подмножество библиотек, специфичных для Arduino.


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


Arduino

Использование такой уменьшенной версии C++ делает этот язык очень доступным, так как многие разработчики уже знакомы с обычным C++. Фактически, используя компилятор, код может быть написан на C++, а затем интерпретирован в код, который может использоваться Arduino.


Преимущество использования Arduino C++ состоит в том, что он подходит для коммерческих сред, работает быстрее, чем более крупные языки, такие как Python, и обладает высокой переносимостью. Компиляция кода на ядре ARM первоначально для Uno автоматически выполняется библиотекой с использованием универсальных функций.


BASIC


BASIC – это язык, который впервые появился в 60-х годах и достиг своего расцвета с появлением персональных компьютеров в 80-х годах. BASIC (аббревиатура для универсального символического кода инструкции для начинающих или Beginner's All-Purpose Symbolic Instruction Code) по-прежнему используется до сих пор из-за своей простоты и интерпретируемой природы, которая позволяет разработчику сосредоточиться больше на оборудовании, а не на программном обеспечении.


При использовании на микроконтроллере BASIC интерпретируется, что приводит к снижению производительности. Тем не менее, язык имеет преимущество в том, что он очень переносим. Любой код, написанный на бейсике, будет работать на любом устройстве с интерпретатором бейсика.


BASIC

Два примера использования BASIC на микроконтроллерах – это BASIC Stamp (производства Parallax) и PICAXE, которые производятся компанией PICAXE и используют микроконтроллеры PIC Microchip. BASIC является хорошим языком для создания прототипов и даже разработки аппаратного обеспечения, но его следует избегать в коммерческих продуктах из-за его низкой скорости и высокого энергопотребления.


Выводы


При работе с микроконтроллерами в прошлом разработчику приходилось выбирать предпочитаемую платформу, а затем изучать язык, который он использует. Благодаря достижениям в области языков и программного обеспечения, в наши дни язык иногда предопределяет, какую платформу использовать. Если разработчик ищет определенную функцию, такую как поддержка GPIO, сетевое взаимодействие, возможность связи по SSH или другие, то выбор языка и систем может быть важным фактором в поиске наилучшего пути развития.


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




© digitrode.ru


Теги: язык C, ассемблер, MicroPython, Blockly, BASIC, Arduino



   Благодарим Вас за интерес к информационному проекту digitrode.ru.
   Если Вы хотите, чтобы интересные и полезные материалы выходили чаще, и было меньше рекламы,
   Вы можее поддержать наш проект, пожертвовав любую сумму на его развитие.


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

Комментарии:

Оставить комментарий