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

Компания Rainbow временно не ведёт блог на Хабре

Сначала показывать

Программирование и отладка микроконтроллеров ARM Cortex-M4 фирмы Atmel в среде операционной системы Linux. Часть 2

Время на прочтение 10 мин
Количество просмотров 12K
Продолжение электронной версии статьи из номера №2 за 2016 год журнала Компоненты и технологии. Автор Курниц Андрей. Ссылка на первую часть

Создание, запуск и отладка примитивной программы на Atmel SAM4S микроконтроллере


Теперь, когда на рабочую станцию установлено и настроено программное обеспечение для разработки под Atmel SAM4S микроконтроллеры, можно убедиться в работоспособности системы, создав простейшую программу, которая будет зажигать и гасить светодиод на плате SAM4S-EK.
Чтобы собрать работоспособную программу для микроконтроллера, помимо инструментария GCC необходимы следующие компоненты:
  1. Библиотека CMSIS (Cortex Microcontroller Software Interface Standard) — описывает единый интерфейс взаимодействия с ядром микроконтроллеров ARM Cortex-M — общая для микроконтроллеров ARM Cortex-M различных производителей.
  2. Библиотека для взаимодействия с периферией данного семейства микроконтроллеров — своя для каждого производителя, будь то Atmel, STMicroelectronics, NXP и др.
  3. Скрипт линковщика (linker script) — файл с указаниями о размещении программы во flash-памяти микроконтроллера, а также о размещении в ОЗУ служебных областей (секций): стек, куча и др. Для различных микроконтроллеров с разными объемами памяти используются соответственно различные скрипты линковщика.
  4. Файл syscalls.c — содержит системные функции, необходимые для работы стандартной библиотеки языка C (реализация newlib). Обычно эти функции являются частью операционной системы, для которой предназначена программа. Однако в случае же микроконтроллера, который чаще всего работает без операционной системы, в сборку должен быть включен файл syscalls.c, содержащий в большинстве своем пустые системные функции [10].
  5. Справедливости ради следует отметить, что существует множество операционных систем, разработанных специально для микроконтроллеров.
  6. Код начальной инициализации (startup code) — отвечает за заполнение таблицы векторов прерываний соответствующими обработчиками, в том числе и обработчиком прерывания по сбросу микроконтроллера (reset handler).
  7. Также содержит реализацию обработчика прерывания по сбросу, который обнуляет необходимые секции памяти, инициализирует стандартную библиотеку C и передает управление в точку входа программы — в функцию main().
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 0

Программирование и отладка микроконтроллеров ARM Cortex-M4 фирмы Atmel в среде операционной системы Linux. Часть 1

Время на прочтение 10 мин
Количество просмотров 30K
Представляем электронную версию статьи из номера №2 за 2016 год журнала Компоненты и технологии. Автор Курниц Андрей.

В статье описан процесс развертывания экосистемы разработки приложений для микроконтроллеров Atmel серии SAM4S в среде операционной системы Linux. Читатель познакомится также с оценочной платой SAM4S-EK и семейством ARM Cortex-M4 микроконтроллеров фирмы Atmel. Приведены рекомендации по работе с адаптером отладки SAM-ICE (он же J-LINK) и программой OpenOCD.

Введение


Выбор операционной системы Linux в качестве среды для программирования микроконтроллеров ARM Cortex-M4 фирмы Atmel сложно назвать общепринятой практикой. Напротив, для разработки под свои микроконтроллеры Atmel свободно распространяет среду Atmel Studio 7, предназначенную исключительно для операционных систем Windows. Не будет секретом и тот факт, что разворачивание и настройка среды Atmel Studio 7 для новичка окажется куда проще, чем выбранный автором путь.
Автор предлагает использовать среду разработки Qt Creator в связке с инструментарием для кросс-компиляции GCC и с пакетом OpenOCD для отладки. В качестве операционной системы автор выбрал Linux Lubuntu 14.04 LTS (выполняющуюся на виртуальной машине, но это не существенно). Такой подход позволяет с легкостью переходить на другие ARM (и не только) микроконтроллеры, не меняя при этом привычный комплект инструментов. Например, в [1] приводится пример разработки для микроконтроллеров STM32F4 фирмы ST microelectronics с применением такого же комплекта инструментов.
Несколько слов об используемой терминологии. Аппаратное устройство, которое подключается к целевому микроконтроллеру и к рабочей станции, далее называется отладочным адаптером. Отладчиком же будет называться компьютерная программа, служащая для пошагового выполнения программы, просмотра значений ячеек памяти и т.д.

Аппаратная платформа



Рис. 1. Внешний вид платы SAM4S-EK с подключенным отладочным адаптером.
Читать дальше →
Всего голосов 8: ↑8 и ↓0 +8
Комментарии 15

Atmel оптимизировал параметрический поиск микроконтроллеров для мобильных телефонов

Время на прочтение 1 мин
Количество просмотров 2.3K

Atmel ананонсировал запуск мобильной версии параметрического поиска микроконтроллеров — Microcontroller Selector. Функционально поиск повторяет аналогичный инструмент для ПК и работает для всех действующих семейств микроконтроллеров Atmel от AVR и Cortex-M0 до Cortex-M7 и -A5.
Читать дальше →
Всего голосов 11: ↑4 и ↓7 -3
Комментарии 2

Alljoyn: взгляд embedded разработчика. Часть 3: Портируем на МК SAMD21

Время на прочтение 8 мин
Количество просмотров 3.8K

В предыдущих статьях мы разбирались с основами Alljoyn и средствами, помогающими отладке. Пришло время писать код для микроконтроллера. Кратко напомню архитектуру LSF (Lighting Software Framework).
В библиотеке LSF предусмотрено три сущности:
  • Thin-лампочка (lamp service),
  • Router (lighting controller service),
  • «приложение» (lighting sample application).

Thin-лампочка это та часть, которая «крутится» непосредственно в микроконтроллере нашей умной лампочки. Именно ею мы сегодня и займемся. Остальное было весьма подробно описано ранее, очередной раз останавливаться не будем.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 4

Alljoyn: взгляд embedded разработчика. Часть 2: Linux нам в помощь

Время на прочтение 7 мин
Количество просмотров 4.4K


Предыдущая часть цикла Alljoyn: взгляд embedded разработчика. Часть 1: знакомство

Продолжаем повествование о том как получить «реальную железку», работающую по протоколу AllJoyn. Конечной целью цикла является получение прототипа «умной Wi-Fi лампочки». Причем именно «прототипа», потому что реализации силовой части нашей лампочки мы касаться не станем, так как это отдельная большая тема, не имеющая отношения к фреймворкам и способам управления. Потому ограничимся светодиодом на отладочной плате SAMD21-XPRO.

Прежде чем начать портирование фреймворка на микроконтроллер, разберемся со вспомогательными средствами, которые окажут нам неоценимую помощь в процессе разработки. В принципе, AllJoyn — кроссплатформенный фреймворк и Вы вольны использовать удобный именно Вам вариант операционной системы. Я использовал Linux (Ubuntu) — просто потому, что он мне привычнее.
Читать дальше →
Всего голосов 6: ↑5 и ↓1 +4
Комментарии 0

Alljoyn: взгляд embedded разработчика. Часть 1: знакомство

Время на прочтение 7 мин
Количество просмотров 14K

Не сочтите за расовые предрассудки, но в сегодняшней статье понятие «embedded разработка» будет означать разработку и программирование устройств на микроконтроллерах с использованием языка Си, безо всяких процессоров, Linux'ов, Windows'ов, Pyton'ов и прочего «не хардкора». Я намеренно сделал эту оговорку в самом начале, чтобы не пришлось постоянно акцентировать внимание на этом в дальнейшем.

Alljoyn — это протокол взаимодействия между устройствами разрабатываемый альянсом Allseen. В отличии от распространенных ныне протоколов промавтоматики (ModBus, KNX, BacNET и пр.) Alljoyn изначально рассчитан на применение в бытовых устройствах, т.е. тот самый пресловутый Интернет вещей. Причем Alljoyn претендует на статус глобального мирового стандарта и если взглянуть на список комнаний-участников альянса, вполне можно допустить, что его амбиции не безосновательны.
Сегодня мы попытаемся заглянуть за ширму маркетинговых заявлений об «универсальности, кросплатформенности и простоте использования» и понять что же за зверя пытается изобрести группа самых известных IT компаний со всего мира.
Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 10

Управление офисным освещением по Wi-Fi. Часть 3: Управляем светом

Время на прочтение 10 мин
Количество просмотров 9.2K


Сегодня мы, наконец, завершим данный цикл, соединив знания и наработки, полученные в первой и второй частях: будем управлять офисными светильники с помощью сенсорных кнопок по Wi-Fi, используя протокол ModBus TCP через шлюз ModBus-DALI.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Делаем iBeacon и Eddystone Beacon «на коленке»

Время на прочтение 5 мин
Количество просмотров 18K

iBeacon и Eddystone — это сервисы Apple и Google соответственно, использующие BLE (Bluetooth Low Energy) для локального позиционирования внутри помещений. Базовый принцип у обоих сервисов одинаков, отличается лишь формат передаваемых данных. Маяк (передатчик) периодически, с интервалом от долей секунды до нескольких секунд, передаёт пакеты стандарта Bluetooth LE, которые содержат помимо заголовка дополнительную информацию. Технология не предназначена для точного определения положения в помещении, а лишь для фиксирования момента приближения на некоторое близкое расстояние к маяку.
Классический пример использования маяков — музеи. Приходя в музей, вы устанавливаете на смартфон специальное приложение и отправляетесь осматривать экспозицию. Приближаясь к экспонату (маяку) на некоторое расстояние, смартфон это фиксирует и выводит на экран экскурсионную информацию.
В продаже можно найти немало готовых маяков, но сегодня мы соберем прототип собственного маяка (как iBeacon, так и Eddystone) на микроконтроллере SAML21 и BLE модуле BTLC1000 от Atmel.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 7

Тетрис на микроконтроллере в Tera Term

Время на прочтение 5 мин
Количество просмотров 5.5K
В этом году компания Atmel анонсировала линейку «младших» кортексов М0+ семейства SAM D09, SAM D10, SAM D11. Эти не сильно «навороченные» контроллеры имеют низкую цену и небольшие корпуса. Причем в линейке присутствуют камни в легкопаяемых корпусах SOIC-14 и SOIC-20. Для ознакомления с возможностями контроллера доступны очень дешевые отладки из серии Xplained mini, которые совместимы с шилдами от Arduino. Эти особенности, возможно, вызовут интерес не только среди профессиональных разработчиков, но и у радиолюбителей.

Когда отладки попали к нам в руки, захотелось вместо «серьёзной» демонстрационной задачи в честь приближающегося Нового года сделать что-нибудь забавное и креативное. Мы поскребли по сусекам и нашли старенький проектик — тетрис на MEGA168 через терминалку и решили портировать его на новый камень и представить общественности. Практического смысла в этом никакого, что называется Just for fun. Кому интересны подробности, прошу под кат.


Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 6

Беспроводные решения Atmel для IoT

Время на прочтение 4 мин
Количество просмотров 10K


Представляем обзор новых продуктов Atmel по беспроводке, вышедших в 2015 году и позиционируемых как решения для применения в разработке устройств Internet of Things. С точки зрения Atmel, фундаментальными требования к подобным продуктам является минитюаризация, высока степень интеграции решений, низкое потребление и низкая стоимость.

В статье внимание будет уделено линейкам WiFi, BLE и микроконтроллерам Cortex M0 со встроенным радиопередатчиком на 2.4 МГц.
Читать дальше →
Всего голосов 11: ↑11 и ↓0 +11
Комментарии 8

Управление офисным освещением по Wi-Fi. Часть 2: Сенсорная технология Q-touch

Время на прочтение 12 мин
Количество просмотров 7.1K
Продолжаем наш амбициозный «Hello, World!» на отладочной плате Atmel SAMD21 Xplained, затеянный в первой части, в которой была описана работа с Wi-Fi модулем WINC1500.
Сегодня будет продемонстрирован пример обработки сенсорных кнопок и слайдера при помощи библиотеки Q-touch.

В третьей части цикла, как и было обещано, данные с этих сенсоров будут «запаковываться» в посылку ModBus TCP и передаваться по Wi-Fi в систему управления освещением в нашем офисе.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Управление офисным освещением по Wi-Fi. Часть 1: Wi-Fi модуль Atmel WINC1500

Время на прочтение 14 мин
Количество просмотров 11K

Введение


В данном цикле статей речь пойдет не о DIY разработке а-ля «Умный офис» или «коробочном» продукте, который мы предлагаем купить. Целью цикла является ознакомление читателей с основами работы по трем продуктам небезызвестной компании Atmel:
  • Микроконтроллером из серии SAMD21 с ядром Cortex-M0+
  • Wi-Fi модулем WINC1500
  • Технологией сенсорных кнопок Q-touch

Только вместо привычного мигания светодиодом на отладке, мы для пущей масштабности решили помигать светильниками в нашем офисе через Wi-Fi сеть с использованием промышленного протокола ModBus TCP, а управлять будем при помощи сенсорных кнопок и слайдеров. Использовать для этого будем уже хорошо знакому нашим читателям отладочную плату SAMD21 Xplained Pro, c 2-мя подключенными к ней модулями расширения ATWINC1500-XPRO и ATQT1-XPRO. Подключив модули расширения к отладке получаем следующую конструкцию:

Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 0

Каждый велосипедист нуждается в этом устройстве

Время на прочтение 2 мин
Количество просмотров 4.4K
В современном обществе для многих экологически сознательных горожан велосипед стал основным видом транспорта. Велосипед оказался самым быстрым способом добраться на и с работы по сравнению с поездкой на автомобиле в часы пик. Тем не менее, есть и минусы, связанные с необходимостью останавливаться, чтобы сверить своё направление движения с навигатором в телефоне, что в самом худшем варианте может привести к аварии. Велосипедисты уже и так оказывают окружающей среде поддержку, почему же они не должны иметь более безопасный и простой путь на работу и обратно? Два лондонских велосипедиста решили обеспечить это с помощью устройства BeeLine (прим. переводчика: совпадение с названием отечественного оператора связи случайно), умным и недорогим навигационным гаджетом для велосипедов.


Читать дальше →
Всего голосов 6: ↑3 и ↓3 0
Комментарии 21

Интересные семейства микроконтроллеров Cortex от Atmel

Время на прочтение 6 мин
Количество просмотров 16K


Общаясь с разработчиками различной электроники (как любителями, так и профессионалами), я и мои коллеги обратили внимание, что широкой публике практически неизвестны микроконтроллеры Atmel на платформе Cortex-M. Я решил подготовить обзор по новым семействам микроконтроллеров, чтобы показать: не AVRом единым интересен Atmel.

Немного истории
Эпоха ARM Cortex-M началась с платформы Cortex-M3. Несмотря на то, что Atmel стал одним из первых производителей микроконтроллеров на платформе ARM7TDMI, компания не проявила интереса к новой платформе, сфокусировавшись на развитии собственных платформ. В результате этого, первыми серийными контроллерами нового типа стали микроконтроллеры STM32 от компании ST.

Вторым обстоятельством послужило то, что выпуск первых микроконтроллеров на платформе Cortex-M у Atmel пришелся не на лучшие времена. Следствием этого стали существенно более высокие цены на Atmel’овские контроллеры в сравнении с ST.
Оба этих обстоятельства закрепили приоритет за микроконтроллерами STM32. Причем это лидерство год за годом закреплялось все сильнее, поскольку в Сети стало появляться все больше и больше материалов по разработке на STM32. А к аналогам от Atmel на нашем рынке стал применяться один из двух стереотипов:
1. Atmel = AVR
2. Cortex’ы от Atmel дорогие и не интересны для использования.

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


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

Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

Protocol watchdog и Function key setting в GPS/ГЛОНАСС трекере Queclink GL300

Время на прочтение 5 мин
Количество просмотров 4.7K
1. Protocol watchdog — возможность автоматической или принудительной перезагрузка трекера

Команда AT + GTDOG используется для автоматической перезагрузки трекера Queclink GL300 либо через определенный промежуток времени, либо при включении зажигания в транспортном средстве.
Автоматическая, периодическая перезагрузка трекера помогает избежать функционирования устройства в «исключительном состоянии» в течение длительного времени. Помимо автоматической перезагрузки, трекер поддерживает перезагрузку принудительную, по команде на цифровой вход.


Читать дальше →
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 0

Отдаем отладку SAM4S-EK + программатор Atmel SAM-ICE за публикацию в интернете (акция завершена)

Время на прочтение 1 мин
Количество просмотров 4.3K
[акция завершена]
Компания Rainbow предлагает сделку: мы Вам отладочную плату SAM4S-EK + программатор SAM-ICE + блок питания для платы в обмен на обещание опубликовать в течение месяца обзор платы/микроконтроллера или устройства на базе этой отладки.

Забрать отладку можно будет в наших офисах в Москве, Санкт-Петербурге, Екатеринбурге, Новосибирске.

Для участия пишите в личку и на e-mail sde(собака)rtcs.ru с указанием:
  • ФИО, в каком городе будете забирать
  • e-mail, контактный телефон
  • ссылка на ресурс, где будет опубликована статья

Ресурс для публикации выбираете сами, при условии, что он не занят.

Читать дальше →
Всего голосов 4: ↑3 и ↓1 +2
Комментарии 33

Использование ASF и Atmel Start в IAR

Время на прочтение 3 мин
Количество просмотров 6K


ASF и IAR


Библиотека для продуктов Atmel ASF имеет две версии: встроенную в Atmel Studio и так называемую stand-alone. Stand-alone версия может использоваться, например, в IAR. Так как сам по себе IAR несколько аскетичен с точки зрения различных фишек типа автозаполнения, то использование ASF как внешней библиотекой, не так интерактивно и удобно, как в Atmel Studio, но тем не менее, можно один раз все настроить и использовать новинку Atmel Start — WEB конфигуратор кода для удобства и ускорения разработки.
Читать дальше →
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 2

Диагностический разъём OBDII: можно ли его ”приручить”

Время на прочтение 6 мин
Количество просмотров 74K
Идея не новая, но вопросов много. С одной стороны, можно снять практически любые данные, а с другой стороны, OBDII похож на лоскутное одеяло, т.к. общее количество физических интерфейсов и протоколов напугает любого. А объясняется всё тем, что к моменту появления первых версий спецификаций OBD большинство автопроизводителей уже успели разработать что-то своё. Появление стандарта хоть и навело некоторый порядок, но потребовало включения в спецификацию всех интерфейсов и протоколов, которые на тот момент существовали, ну, или почти всех.

Читать дальше →
Всего голосов 20: ↑14 и ↓6 +8
Комментарии 29

Atmel выпускает версию среды разработки Studio 7 и веб-платформу Atmel START — инструмент конфигурации и генерации ПО

Время на прочтение 5 мин
Количество просмотров 27K

Благодаря увеличенной производительности и легкости использования, Atmel Studio 7 значительно ускоряет разработку приложений на основе микроконтроллеров Atmel |SMART и AVR и подходит как профессиональным инженерам, так и радиолюбителям.

Выполняя роль связующего звена от начальной идеи до выводы на рынок конечного продукта, и дополняя собой среду Studio 7, платформа Atmel START является графическим веб-интерфейсом, позволяющим разработчикам осуществить конфигурацию программных компонентов и драйверов, компиляцию исходного кода, воспользоваться демонстрационными приложениями и базовыми проектами, поднимая свою продуктивность на новый уровень.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Комментарии 7

Подключение датчика температуры и считывателя ключей iButton к трекерам Queclink GV300/GV320

Время на прочтение 9 мин
Количество просмотров 4.6K
Автомобильные трекеры Queclink GV200/GV200G, GV300/GV320 имеют возможность подключения к ним внешнего датчика температуры и считывателя ключей iButton. Датчик температуры может использоваться для контроля за температурным режимом перевозимого груза, а считыватель ключей iButton – для отправки сообщения на сервер и управлением состоянием одного из цифровых выходов трекера. В этой статье описано подключение датчика и считывателя к трекерам GV300/GV320 (отличия в этих трекерах только в количестве поддерживаемых частот GSM: 850/900/1800/1900 МГц и 900/1800 МГц соответственно).

Читать дальше →
Всего голосов 4: ↑4 и ↓0 +4
Комментарии 0
1