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

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

Сначала показывать
  • Новые
  • Лучшие

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

Блог компании Rainbow Программирование микроконтроллеров *
Продолжение электронной версии статьи из номера №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
Просмотры 10K
Комментарии 0

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

Блог компании Rainbow Программирование микроконтроллеров *
Представляем электронную версию статьи из номера №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
Просмотры 26K
Комментарии 15

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

Блог компании Rainbow Программирование микроконтроллеров *

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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *

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

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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *


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

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

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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *

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

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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *


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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *
Tutorial

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

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

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

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


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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *


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

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

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

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

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

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

Блог компании Rainbow Программирование микроконтроллеров *Разработка для интернета вещей *
Tutorial

Введение


В данном цикле статей речь пойдет не о 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
Просмотры 11K
Комментарии 0

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

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


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

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

Блог компании Rainbow Программирование микроконтроллеров *


Общаясь с разработчиками различной электроники (как любителями, так и профессионалами), я и мои коллеги обратили внимание, что широкой публике практически неизвестны микроконтроллеры 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
Просмотры 14K
Комментарии 4

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

Блог компании Rainbow
1. Protocol watchdog — возможность автоматической или принудительной перезагрузка трекера

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


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

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

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

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

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

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

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

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

Блог компании Rainbow Программирование микроконтроллеров *
Tutorial


ASF и IAR


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

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

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

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

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

Блог компании Rainbow Программирование микроконтроллеров *
Перевод

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

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

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

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

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