Как стать автором
Обновить

Как перестать бояться и полюбить mbed [Часть 2]

Блог компании ЭФО Промышленное программирование *Разработка робототехники *Программирование микроконтроллеров *Разработка для интернета вещей *
Всего голосов 18: ↑18 и ↓0 +18
Просмотры 12K
Комментарии 5

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

При всем уважении к автору — разработка для непростых устойств без отладки в 2016 году выглядит странно, чтобы не сказать больше (это я про mbed).

По своему небольшому опыту работы с mbed могу сказать, что там можно экспортировать проект во взрослую IDE (Keil uVision, IAR и т.д.) и отлаживать уже там. Здесь, на мой взгляд, суть такая же как у Arduino.

Да «Странно» — это вы очень мягко выразились))
Для создания чего-либо серьезного mbed не годится, но у неё, как по мне, другое назначение:
Самоцитата
Здесь пора заметить один из главных минусов mbed: printf — это по факту единственное доступное средство отладки. Кроме того что вам недоступна отладка с breakpoint-ами и доступом к регистрам микроконтроллера, у mbed существуют и другие очевидные ограничения. Например, универсальные драйверы периферии по определению не могут поддерживать все особенности периферии каждого контроллера, то есть в mbed могут отсутствовать библиотеки для необычных модулей или поддержка каких-то нестандартных режимов работы периферийных устройств вашего микроконтроллера. А это могут быть именно те режимы и модули, из-за которых вы и выбрали свой клисталл.

Ещё, конечно, mbed — не лучший инструмент для создания сложных приложений, связанных с планированием задач и многопоточностью (хотя я не в курсе что умеет новая mbed OS 5). Ну и в конце концов, список поддерживаемых аппаратных платформ пока далеко не полон.

Чтобы полюбить mbed, нужно хорошо понимать круг задач, для которых он предназначен (спасибо, капитан). На мой взгляд, платформа mbed наилучшим образом подходит:

а) для прототипирования и быстрого освоения новых компонентов,
б) для знакомства с программированием микроконтроллеров.

Ключевыми свойствами mbed являются универсальность, доступность и простота использования программных библиотек, а также возможность экспорта написанного в mbed софта во «взрослые» IDE.

При прототипировании становится возможен сценарий «быстро запустил рабочее решение из коробки -> экспортировал программу в привычную IDE и довел до ума», а для освоения программирования микроконтроллеров упрощается переход от мигания светодиодом на arduino к более серьезным вещам.


Mbed — это правда очень круто, если нужно опробовать новый компонент. У меня так и было — никак не получалось подружить дисплей с SLSTK3400A, шалил SPI. Пару дней вместе с коллегами чесали репу, а потом я ради эксперимента запустила готовую демо-программу из mbed а оно возьми и заработай.

Поэтому захотелось попробовать и дальше использовать только mbed. В порядке эксперимента, конечно. Ни о чем не жалею — на моем простом приложении возможностей mbed вполне хватило, а когда та же программа ещё и на других платах заработала, решено было увековечить полученный опыт на хабре.

Если не хочеться виндовс и вареза, то можно git submodule (на https://github.com/mbedmicro/mbed.git) + простенький cmake файлик (например: https://github.com/zolkko/ubot-ctrl/commits/develop/CMakeLists.txt). И типовой сетап на vim/qtcreator/eclipse/что-угодно + jlink / openocd.

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