Рубрика «cortex-m0»

Вступление

Компания Megawin Technology Co., Ltd. была основана в Тайване в 1999 году. Первые разработки компании были в области создания встроенной flash-памяти и контроллеров ввода-вывода. С 2004 г. было запущено массовое производство 8-битных микроконтроллеров (МК). На российском рынке компания известна прежде всего своими МК серий MG82 и MG84 на ядре 80C51.

Читать полностью »

Post-mortem отладка на Cortex-M

Post-mortem отладка на Cortex-M - 1

Предыстория:

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

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

На соплях был прикручен отладочный UART, в который я стал выводить логи. Стало легче, часть проблем решилась. Но потом случился assert и все завертелось.

Читать полностью »

Привет!

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

Проверка корректности адресов в памяти на Cortex-M0-M3-M4-M7 - 1

Одна из весьма полезных и при этом почему-то в готовом виде нигде не описанных возможностей на микроконтроллерах Cortex-M (всех) — это возможность проверки корректности адреса в памяти. С её помощью можно определять размеры флэша, ОЗУ и EEPROM, определять наличие на конкретном процессоре конкретной периферии и регистров, прибивать упавшие процессы при сохранении общей работоспособности ОС и т.п.
Читать полностью »

image
Добрый день.

В прошлой статье мы достаточно бегло ознакомились с минимальным набором возможностей BLE стека и создали свой первый проект для соединения двух удаленных устройств. Теперь пришло время обратить внимание на аппаратную часть nRF51822, а именно на 32-битный микроконтроллер на базе архитектуры ARM с ядром Cortex M0 (256kB/128kB flash + 32kB/16kB RAM).

В данной статье хотелось бы уделить время наверное одной из основных особенностей устройств Bluetooth Low Energy — энергосбережению, а также рассмотреть наиболее часто используемую периферию, такую как АЦП, таймеры и интересный, как мне кажется блок PPI. Остальные часто используемые периферийные блоки такие, как SPI, I2C, UART рассмотрим в следующих статьях.
Читать полностью »

1. Вступление

Добрый день.

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

Однако есть нюанс — шаг вправо, шаг влево от стандартной подборки STM32/8, AVR и иже с ними или углубление в более сложные интерфейсы тех же самых STM32/8, и тишина. Лишь изредка на далеком-далеком форуме кто-то задает вопрос, который в итоге остается без ответа…

К чему я, собственно, веду. Не так давно возникла необходимость использования в проекте чипа nRF51822 компании Nordic Semiconductor с популярной ныне тематикой Bluetooth low energy (далее — BLE) на борту.

image

Чип оказался настолько популярным на информационную составляющую, что Google с горем пополам выдал 2-3 ссылки с описанием самого BLE стека и пару абстрактных статей касательно реализации стека у чипов Nordic и Texas instruments (CC2640). Матерые программисты скажут: «Берите примеры от компании Nordic (а их там к слову с избытком) и разбирайтесь». И это верный подход, если бы не одно но, касающееся, по большей части, начинающих программистов и желающих получить быстрый результат: обилие структур, многоуровневые библиотеки — все это прекрасно и логично, но избыточно для быстрого старта или маленького проекта. Все это увеличивает порог вхождения до неоправданных высот.
Читать полностью »

Как отмечалось на geektimes, микрокомпьютер BBC micro:bit ещё этой весной начали рассылать британским школьникам, а пару месяцев назад он поступил в свободную продажу по цене от £13 за штуку.

Предположим, micro:bit приобретён; что с ним делать дальше? Я решил сделать из него часы, потому что мои наручные как раз сломались.

Знакомство: BBC micro:bit и mbed OS 5 - 1


Инструкция по использованию micro:bit со старой версией mbed OS есть на сайте Ланкастерского университета; но ARM две недели назад выпустила новую версию mbed OS 5, и с этой новой версией библиотека поддержки microbit-dal «из коробки» не работает.

Насколько я понимаю, даже в самом ARM никто ещё не пытался использовать mbed OS 5 на micro:bit; мне хотелось стать первым.
Читать полностью »

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

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

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

Тетрис на микроконтроллере в Tera Term - 1
Читать полностью »

Беспроводные решения Atmel для IoT - 1
Представляем обзор новых продуктов Atmel по беспроводке, вышедших в 2015 году и позиционируемых как решения для применения в разработке устройств Internet of Things. С точки зрения Atmel, фундаментальными требования к подобным продуктам является минитюаризация, высока степень интеграции решений, низкое потребление и низкая стоимость.
В статье внимание будет уделено линейкам WiFi, BLE и микроконтроллерам Cortex M0 со встроенным радиопередатчиком на 2.4 МГц.Читать полностью »

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

В третьей части цикла, как и было обещано, данные с этих сенсоров будут «запаковываться» в посылку ModBus TCP и передаваться по Wi-Fi в систему управления освещением в нашем офисе.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js