Выпуск #4/2018
Л. Ди Джасио
MPLAB Xpress: облачная среда разработки помогает быстро опробовать новый микроконтроллер
MPLAB Xpress: облачная среда разработки помогает быстро опробовать новый микроконтроллер
Просмотры: 1621
Рассматриваются особенности полнофункциональной онлайн интегрированной среды разработки MPLAB Xpress от Microchip для встраиваемых приложений на базе микроконтролеров PIC.
DOI: 10.22184/1992-4178.2018.175.4.94.97
DOI: 10.22184/1992-4178.2018.175.4.94.97
Теги: cloud-based integrated development environment mplab code configurator mplab simulator mplab xpress pic microcontroller микроконтролер pic облачная интегрированная среда разработки
За последние несколько лет некоторые интегрированные среды разработки (IDE) были модернизированы или созданы с нуля специально для применения в облаке. Для проектирования веб-приложений (с использованием JavaScript, HTML, CSS, PHP и др.), а затем и для более общих приложений, связанных с обработкой данных (Java, Python, Ruby и т. д.), это было вполне естественным шагом, а сектор встраиваемых решений в этом отношении отставал. Возможным объяснением может служить то, что целевая система во встраиваемых приложениях более «физической» природы. Создание MPLAB Xpress от Microchip – облачной среды разработки проектов на базе микроконтроллеров PIC – расширяет возможности разработчиков встраиваемых приложений, повышая эффективность реализации проекта.
Рекламная шумиха вокруг понятий «облако» и «облачные технологии» была настолько назойлива, что разработчики встретили выпуск облачных продуктов с напускным безразличием либо с осторожным скептицизмом. Обе реакции отражали противоположные взгляды. Одно поколение разработчиков, только начинающих трудовую деятельность, живет в «подключенном» мире. Для них быть онлайн – неотъемлемая часть естественного порядка вещей. Сервис или инструмент, недоступные круглосуточно, в любом месте и с любой компьютерной платформы, рассматривается ими как аномалия.[1]
Другой взгляд характерен для более прагматичных разработчиков, вероятно, представляющих большинство. Они задаются вопросом, на какие преимущества можно рассчитывать, размещая среду разработки в браузере? Их беспокоят вопросы защиты данных и скорости работы, им нужны определенные гарантии, прежде чем они воспользуются новой технологией. Для этой группы пользователей наилучшим стимулом для перехода могло бы стать то, что современные IDE не только весьма мощные, но и громоздкие, сложные объекты, требующие частого обновления, регулярного обслуживания и поддержки.
Например, интегрированная среда разработки MPLAB X, основанная на платформе с открытым исходным кодом Netbeans, охватывает тысячи моделей микроконтроллеров и обновляется ежемесячно, для чего требуется загрузка данных объемом около 400 Мбайт. Компиляторы C в составе набора расширений MPLAB XC обновляются реже, но требуют дополнительно примерно 100 Мбайт. Если добавить еще несколько расширений, то можно быстро превысить объем 0,5 Гбайт, которые нужно загрузить на компьютер.
Вдобавок ко всему нужно время для установки и обслуживания ПО. Все, кто запускал ПО для небольшой лаборатории в образовательном учреждении или сопровождал команду разработчиков, знают, сколько усилий требуется для поддержки всех компонентов системы на должном уровне. Кроме того, необходимо обеспечить управление допуском для установки приложений на совместно используемом компьютерном оборудовании.
При внедрении инструментария на базе облачного сервиса работа такого рода сводится к простой онлайн-регистрации пользователя. Самые последние версии каждого компонента облачного пакета инструментов (или архивированных компонентов) мгновенно становятся доступными пользователю прямо в браузере.
Работа в режиме онлайн связана с новым измерением проектирования встраиваемого приложения. Поскольку интегрированная среда разработки виртуализована, проекты можно быстро перенести с одной рабочей станции на другую, и задание, начатое в одном офисе или аудитории, – продолжить из любого другого места. Совместная работа и коммуникации между командами, которые могут находиться рядом или быть территориально разделены, становятся более эффективными, и это в дополнение к более простым установке и обслуживанию ПО.
Недавний выпуск компанией Microchip облачной интегрированной среды разработки MPLAB Xpress открыл новые возможности для разработчиков встраиваемых систем. Хотя облачные инструменты, в частности редакторы и компиляторы, предлагались и ранее, новый веб-пакет инструментов от Microchip – это, пожалуй, наиболее полное решение с точки зрения как аппаратной, так и программной поддержки. Фактически MPLAB Xpress изначально включает поддержку примерно 400 моделей микроконтроллеров. Как заявляют в компании, вскоре ожидается расширение поддерживаемых продуктов до полного ассортимента 8-, 16- и 32-разрядных устройств, которое включает в себя более 1 000 уникальных продуктов (рис. 1).
В длинный список возможностей нового пакета входит как поддержка онлайн-моделирования, так и непосредственный доступ к внутрисхемным отладчикам и программаторам. Наиболее важно то, что в этом перечне представлен также новейший быстрый инструмент разработки MPLAB Code Configurator (рис. 2), который позволяет экспертам и начинающим разработчикам сэкономить многие часы на изучение устройства (даташита) и / или периферийных библиотек (справочника API) и сконцентрироваться на творческой части проекта или приложения.
СНИЖАЯ БАРЬЕР
Следствием полного доступа к среде разработки с помощью простой веб-регистрации является снижение практически до нуля барьера, который нужен для тестирования микроконтроллера. Фактически не требуется обязательств со стороны разработчика, чтобы опробовать новый продукт. Даже процесс регистрации пользователя оптимизирован для тех, кто предпочитает использовать систему для быстрого и анонимного тестирования. Новый функционал, будь то периферия микроконтроллера или новый программный инструмент быстрого прототипирования, теперь можно протестировать всего в несколько кликов мыши.
Однако MPLAB Xpress – не игрушка или инструмент для новичков. Как пользовательский интерфейс, так и базовые инструменты были созданы так, чтобы их невозможно было отличить от тех, которыми пользуются разработчики на настольном компьютере. Таким образом, пользователю, решившему перейти из облака на настольный компьютер, не потребуется дополнительное обучение. У облачного инструмента те же возможности, что и у его настольного двойника, и перемещение проекта между ними не только возможно, но и безболезненно.
ПРОИЗВОДИТЕЛЬНОСТЬ
При оценке возможности применения онлайн-среды разработки, многие начинают беспокоиться о скорости, полосе пропускания и итоговой стоимости соединения. Однако большая часть современных облачных инструментов на основе технологии AJAX предусматривают возможность браузера запускать код локально – в асинхронном режиме (asynchronously) и с использованием JavaScript (в аббревиатуре AJAX за это «отвечают» буквы «A» и «J»). Приложение («AX» в AJAX) может быстро реагировать на действия пользователя и не требовать постоянных запросов к серверу, расположенному на другом конце земного шара. Файлы иногда передаются, но только когда они сохраняются или открываются для редактирования. Обычно это небольшие текстовые файлы (типа.c,.h,.hex), количество и объем которых намного меньше файлов изображений и объявлений, загружаемых браузером с любого современного веб-сайта. В данном случае при компилировании кода приложения сервер работает только с локальными копиями, и процесс идет поразительно быстро. Многие пользователи на основе повседневного опыта отмечают, что облачный компилятор способен превосходить по скорости ноутбук, причем тем в большей степени, чем выше сложность и больше объем проекта.
БЕЗОПАСНОСТЬ
Проблема обеспечения безопасности в облачных приложениях – деликатный вопрос. Крупные корпорации тратят огромные деньги, чтобы убедить, что все данные – или, как в данном случае, код – находятся в целости и сохранности в облаке. В настоящее время к самым сильным аргументам скептиков и сторонников облачных технологий можно отнести следующие:
Скептики. При достаточном бюджете или мотивации злоумышленники в конечном счете найдут способ войти в систему. Это правило верно практически для любых случаев, в том числе для хранилища кодов любой частной корпорации.
Сторонники. Компании, предоставляющие облачные сервисы, также мотивированы и могут использовать специализированные ресурсы – как людские, так и аппаратные, – чтобы обеспечить защиту данных. Эти ресурсы намного превосходят те, которые может позволить себе ИТ-департамент средней коммерческой компании.
В MPLAB Xpress внедрена усовершенствованная технология шифрования – такую же используют лучшие банковские онлайн-системы – для защиты соединений, чувствительных данных и приложений каждого пользователя. В конечном итоге в ближайшие годы перед каждым пользователем встанет технологическая дилемма, требующая ответа на вопрос: превысят ли риски потери данных преимущества многочисленных облачных сервисов?
АППАРАТНЫЕ ИНСТРУМЕНТЫ В ОБЛАКЕ
В новый онлайн-пакет инструментов включен также MPLAB Simulator, который обеспечивает базовые возможности отладки, однако большинство пользователей предпочтут аппаратные инструменты прототипирования и отладки. Доступны различные варианты. Например, оценочная плата MPLAB Xpress Evaluation Board (рис. 3) позволяет опробовать новейший микроконтроллер общего назначения PIC16F18855, который отличается, возможно, самым широким на сегодняшний день выбором независимой от ядра периферии.
Эта оценочная плата, подключаемая к PC, Mac- или Linux-компьютеру как съемный USB-накопитель, дает возможность пользователю просто перетащить (методом drag and drop) исполняемый файл приложения (.hex) для программирования целевого устройства. Преимущество подхода заключается в том, что не требуется установка драйвера. Плата также автоматически регистрируется хост-компьютером как виртуальный последовательный порт (USB-CDC), позволяя любой терминальной программе подключиться непосредственно к порту UART микроконтроллера PIC. Пользователям Windows нужно установить небольшой файл (.inf), для того чтобы активировать эту функцию; пользователи Linux and Mac получают к ней свободный доступ.
Для подключения к универсальным аппаратным программаторам и отладчикам, таким как PICKit3 или PICDEM Curiosity, можно использовать USB-мост, запуcкаемый, как Java-плагин (рис. 4). Эта опция открывает доступ к широкому набору демонстрационных плат от Microchip и сторонних компаний, а также к любой заказной пользовательской плате.
* * *
Новички и опытные разработчики встраиваемых систем управления воспримут MPLAB Xpress как глоток свежего воздуха. Возможности поддержки огромного числа устройств и интеграции со скоростными инструментами разработки, такими как MPLAB Code Configurator, позволяют отнести MPLAB Xpress к отдельной категории интегрированных сред разработки. Будем с интересом наблюдать, как в эру облачных сервисов разработчики будут использовать этот инструмент, чтобы создавать новые поколения встраиваемых систем. ●
Рекламная шумиха вокруг понятий «облако» и «облачные технологии» была настолько назойлива, что разработчики встретили выпуск облачных продуктов с напускным безразличием либо с осторожным скептицизмом. Обе реакции отражали противоположные взгляды. Одно поколение разработчиков, только начинающих трудовую деятельность, живет в «подключенном» мире. Для них быть онлайн – неотъемлемая часть естественного порядка вещей. Сервис или инструмент, недоступные круглосуточно, в любом месте и с любой компьютерной платформы, рассматривается ими как аномалия.[1]
Другой взгляд характерен для более прагматичных разработчиков, вероятно, представляющих большинство. Они задаются вопросом, на какие преимущества можно рассчитывать, размещая среду разработки в браузере? Их беспокоят вопросы защиты данных и скорости работы, им нужны определенные гарантии, прежде чем они воспользуются новой технологией. Для этой группы пользователей наилучшим стимулом для перехода могло бы стать то, что современные IDE не только весьма мощные, но и громоздкие, сложные объекты, требующие частого обновления, регулярного обслуживания и поддержки.
Например, интегрированная среда разработки MPLAB X, основанная на платформе с открытым исходным кодом Netbeans, охватывает тысячи моделей микроконтроллеров и обновляется ежемесячно, для чего требуется загрузка данных объемом около 400 Мбайт. Компиляторы C в составе набора расширений MPLAB XC обновляются реже, но требуют дополнительно примерно 100 Мбайт. Если добавить еще несколько расширений, то можно быстро превысить объем 0,5 Гбайт, которые нужно загрузить на компьютер.
Вдобавок ко всему нужно время для установки и обслуживания ПО. Все, кто запускал ПО для небольшой лаборатории в образовательном учреждении или сопровождал команду разработчиков, знают, сколько усилий требуется для поддержки всех компонентов системы на должном уровне. Кроме того, необходимо обеспечить управление допуском для установки приложений на совместно используемом компьютерном оборудовании.
При внедрении инструментария на базе облачного сервиса работа такого рода сводится к простой онлайн-регистрации пользователя. Самые последние версии каждого компонента облачного пакета инструментов (или архивированных компонентов) мгновенно становятся доступными пользователю прямо в браузере.
Работа в режиме онлайн связана с новым измерением проектирования встраиваемого приложения. Поскольку интегрированная среда разработки виртуализована, проекты можно быстро перенести с одной рабочей станции на другую, и задание, начатое в одном офисе или аудитории, – продолжить из любого другого места. Совместная работа и коммуникации между командами, которые могут находиться рядом или быть территориально разделены, становятся более эффективными, и это в дополнение к более простым установке и обслуживанию ПО.
Недавний выпуск компанией Microchip облачной интегрированной среды разработки MPLAB Xpress открыл новые возможности для разработчиков встраиваемых систем. Хотя облачные инструменты, в частности редакторы и компиляторы, предлагались и ранее, новый веб-пакет инструментов от Microchip – это, пожалуй, наиболее полное решение с точки зрения как аппаратной, так и программной поддержки. Фактически MPLAB Xpress изначально включает поддержку примерно 400 моделей микроконтроллеров. Как заявляют в компании, вскоре ожидается расширение поддерживаемых продуктов до полного ассортимента 8-, 16- и 32-разрядных устройств, которое включает в себя более 1 000 уникальных продуктов (рис. 1).
В длинный список возможностей нового пакета входит как поддержка онлайн-моделирования, так и непосредственный доступ к внутрисхемным отладчикам и программаторам. Наиболее важно то, что в этом перечне представлен также новейший быстрый инструмент разработки MPLAB Code Configurator (рис. 2), который позволяет экспертам и начинающим разработчикам сэкономить многие часы на изучение устройства (даташита) и / или периферийных библиотек (справочника API) и сконцентрироваться на творческой части проекта или приложения.
СНИЖАЯ БАРЬЕР
Следствием полного доступа к среде разработки с помощью простой веб-регистрации является снижение практически до нуля барьера, который нужен для тестирования микроконтроллера. Фактически не требуется обязательств со стороны разработчика, чтобы опробовать новый продукт. Даже процесс регистрации пользователя оптимизирован для тех, кто предпочитает использовать систему для быстрого и анонимного тестирования. Новый функционал, будь то периферия микроконтроллера или новый программный инструмент быстрого прототипирования, теперь можно протестировать всего в несколько кликов мыши.
Однако MPLAB Xpress – не игрушка или инструмент для новичков. Как пользовательский интерфейс, так и базовые инструменты были созданы так, чтобы их невозможно было отличить от тех, которыми пользуются разработчики на настольном компьютере. Таким образом, пользователю, решившему перейти из облака на настольный компьютер, не потребуется дополнительное обучение. У облачного инструмента те же возможности, что и у его настольного двойника, и перемещение проекта между ними не только возможно, но и безболезненно.
ПРОИЗВОДИТЕЛЬНОСТЬ
При оценке возможности применения онлайн-среды разработки, многие начинают беспокоиться о скорости, полосе пропускания и итоговой стоимости соединения. Однако большая часть современных облачных инструментов на основе технологии AJAX предусматривают возможность браузера запускать код локально – в асинхронном режиме (asynchronously) и с использованием JavaScript (в аббревиатуре AJAX за это «отвечают» буквы «A» и «J»). Приложение («AX» в AJAX) может быстро реагировать на действия пользователя и не требовать постоянных запросов к серверу, расположенному на другом конце земного шара. Файлы иногда передаются, но только когда они сохраняются или открываются для редактирования. Обычно это небольшие текстовые файлы (типа.c,.h,.hex), количество и объем которых намного меньше файлов изображений и объявлений, загружаемых браузером с любого современного веб-сайта. В данном случае при компилировании кода приложения сервер работает только с локальными копиями, и процесс идет поразительно быстро. Многие пользователи на основе повседневного опыта отмечают, что облачный компилятор способен превосходить по скорости ноутбук, причем тем в большей степени, чем выше сложность и больше объем проекта.
БЕЗОПАСНОСТЬ
Проблема обеспечения безопасности в облачных приложениях – деликатный вопрос. Крупные корпорации тратят огромные деньги, чтобы убедить, что все данные – или, как в данном случае, код – находятся в целости и сохранности в облаке. В настоящее время к самым сильным аргументам скептиков и сторонников облачных технологий можно отнести следующие:
Скептики. При достаточном бюджете или мотивации злоумышленники в конечном счете найдут способ войти в систему. Это правило верно практически для любых случаев, в том числе для хранилища кодов любой частной корпорации.
Сторонники. Компании, предоставляющие облачные сервисы, также мотивированы и могут использовать специализированные ресурсы – как людские, так и аппаратные, – чтобы обеспечить защиту данных. Эти ресурсы намного превосходят те, которые может позволить себе ИТ-департамент средней коммерческой компании.
В MPLAB Xpress внедрена усовершенствованная технология шифрования – такую же используют лучшие банковские онлайн-системы – для защиты соединений, чувствительных данных и приложений каждого пользователя. В конечном итоге в ближайшие годы перед каждым пользователем встанет технологическая дилемма, требующая ответа на вопрос: превысят ли риски потери данных преимущества многочисленных облачных сервисов?
АППАРАТНЫЕ ИНСТРУМЕНТЫ В ОБЛАКЕ
В новый онлайн-пакет инструментов включен также MPLAB Simulator, который обеспечивает базовые возможности отладки, однако большинство пользователей предпочтут аппаратные инструменты прототипирования и отладки. Доступны различные варианты. Например, оценочная плата MPLAB Xpress Evaluation Board (рис. 3) позволяет опробовать новейший микроконтроллер общего назначения PIC16F18855, который отличается, возможно, самым широким на сегодняшний день выбором независимой от ядра периферии.
Эта оценочная плата, подключаемая к PC, Mac- или Linux-компьютеру как съемный USB-накопитель, дает возможность пользователю просто перетащить (методом drag and drop) исполняемый файл приложения (.hex) для программирования целевого устройства. Преимущество подхода заключается в том, что не требуется установка драйвера. Плата также автоматически регистрируется хост-компьютером как виртуальный последовательный порт (USB-CDC), позволяя любой терминальной программе подключиться непосредственно к порту UART микроконтроллера PIC. Пользователям Windows нужно установить небольшой файл (.inf), для того чтобы активировать эту функцию; пользователи Linux and Mac получают к ней свободный доступ.
Для подключения к универсальным аппаратным программаторам и отладчикам, таким как PICKit3 или PICDEM Curiosity, можно использовать USB-мост, запуcкаемый, как Java-плагин (рис. 4). Эта опция открывает доступ к широкому набору демонстрационных плат от Microchip и сторонних компаний, а также к любой заказной пользовательской плате.
* * *
Новички и опытные разработчики встраиваемых систем управления воспримут MPLAB Xpress как глоток свежего воздуха. Возможности поддержки огромного числа устройств и интеграции со скоростными инструментами разработки, такими как MPLAB Code Configurator, позволяют отнести MPLAB Xpress к отдельной категории интегрированных сред разработки. Будем с интересом наблюдать, как в эру облачных сервисов разработчики будут использовать этот инструмент, чтобы создавать новые поколения встраиваемых систем. ●
Отзывы читателей