В одной из прошлых статей мы писали про USB bootloader на микроконтроллере SAM D21 с ядром Cortex M0+. Использование флешки для обновления прошивки очень удобно, но подходит не для всех случаев. Например, если доступ к устройству ограничен или проблематичен, а связь с ним устанавливается удаленно. В подобных случаях, к разработке бутлоадера следует отнестись с особой тщательностью. Иначе, в случае ошибки высока вероятность получить «кирпич» и огромное число проблем себе на голову. Примером такого труднодоступного устройства может быть управляющая плата «умного» архитектурного светильника, висящего на фасаде здания на 7-м этаже.
Читать полностью »
Рубрика «Cortex» - 2
Удаленное обновление прошивки микроконтроллера
2015-09-30 в 21:43, admin, рубрики: atmel, atmel arm, bootloader, Cortex, cortex-m0, samd20, usb, Блог компании Rainbow, программирование микроконтроллеров, Электроника для начинающих1-Wire slave на МК. Часть 2: Реализация в коде
2015-09-15 в 4:48, admin, рубрики: 1-wire, atmel, atmel arm, Cortex, cortex-m0, diy или сделай сам, owfs, samd20, Блог компании Rainbow, программирование микроконтроллеров, Электроника для начинающих
Первая статья цикла: 1-Wire slave на МК. Часть 1: Железо
Что есть в инетрнете по 1-Wire slave
В интернете про реализацию 1-Wire мастера можно найти множество информации, статей, application notes для микроконтроллеров на любой вкус и цвет.
А вот для реализации со стороны Slave материалов немного. Исходных кодов и того меньше. В итоге был найден один исходник для PIC, с ассемблерными вставками и ошибками. Недавно появилась статья на хабре для MSP430 от resetnow. Под катом наш вариант реализации задачи.Читать полностью »
Тактирование микроконтроллеров Atmel SAMD20-21
2015-09-10 в 4:26, admin, рубрики: atmel, atmel arm, Cortex, cortex-m0, DFLL48M, samd20, samd21, Блог компании Rainbow, программирование микроконтроллеров, Электроника для начинающихНемного теории
Согласно документации на микроконтроллеры Atmel серии SAMD20/21 система тактирования состоит из следующих блоков:
- блок источников сигнала (управляется SYSCTRL)
- Clock source – это базовая частота в системе. Это может быть, например, внутренний осциллятор 8 МГц (OSC8M), внешний осциллятор (XOSC), блок цифровой фазовой автоподстройки частоты (DFLL48M);
- базовый контроллер тактовой частоты (GLCK-generic clock controller), который управляет системой распределения тактовых сигналов и состоит из:
- базовых генераторов частоты (Generic Clock Generator) — это программируемый предделитель, к которому может быть подключен любой источник сигнала. С выхода генератора 0 (GCLKGEN[0], GCLK_MAIN) сигнал идет на блок управления питанием (Power manager), который генерирует главный тактовый сигнал;
- базовые тактовые сигналы (Generic Clocks) – обычно это сигналы, которые тактируют периферию. Базовые тактовые сигналы, с помощью базовых мультиплексоров сигнала могут использовать любой из доступных в системе тактовых сигналов. Разные периферийные блоки могут использовать разные тактовые сигналы. Выход мультиплексора 0 используется как источник опорного сигнала для блока цифровой фазовой автоподстройки частоты. Обратите внимание, что в таком случае выход с DFLL не должен использоваться как опорный сигнал для генератора, выход которого используется как опорный для мультиплексора 0.
- блок управления питанием (PM – Power manager)
- блок управления питанием управляет синхронным тактированием системы. Это включает в себя CPU, шины (APB, AHB) и синхронную (с точки зрения CPU) периферию. Он содержит маски тактирования, с помощью которых можно включать и выключать пользовательский интерфейс периферии, а также делители для тактовых сигналов CPU, шин.
1-Wire slave на МК. Часть 1: Железо
2015-09-06 в 21:59, admin, рубрики: 1-wire, atmel, atmel arm, Cortex, cortex-m0, diy или сделай сам, owfs, samd20, Блог компании Rainbow, программирование микроконтроллеров, Электроника для начинающих
Для одного из проектов по автоматизации потребовалось сделать устройство, которое является подчинённым 1-Wire устройством, принимает команды от мастера и выставляет на своих выходах значение аналогового сигнала в диапазоне от 0 до 10В.
Проанализировав линейку стандартных микросхем 1-Wire от Maxim, стало ясно, что нет микросхемы, которая позволит реализовать подобный функционал.
Потому было принято решение реализовывать 1-Wire slave на микроконтроллере. Надеюсь, данный материал будет интересен и полезен людям, которые делают «умный дом» своими руками, т.к. 1-Wire достаточно популярная шина в подобных проектах. В качестве камня был выбран МК Cortex M0+ ATSAMD20G16 от Atmel, но о реализации в коде расскажем во второй части. Забегая немного вперед, скажу что в третьей части цикла пойдет речь о реализации собственного семейства устройств для линуксовой библиотеки OWFS (One Wire File System). А сегодня расскажем о некоторых аппаратных решениях, к которым мы пришли в процессе разработки.
Читать полностью »
Atmel Software Framework (ASF): как это работает?
2015-09-02 в 21:19, admin, рубрики: atmel, atmel arm, atmel studio, Cortex, cortex-m0, samd20, Блог компании Rainbow, микроконтроллеры, микроконтроллеры avr, программирование микроконтроллеров, Электроника для начинающихНемного теории
Atmel® Software Framework (ASF) — программная библиотека для микроконтроллеров, которая содержит широкий набор встраиваемого кода для микроконтроллеров Atmel из всех семейств: megaAVR, AVR XMEGA, AVR UC3 и SAM.
Основные преимущества:
- упрощается использование и освоение микроконтроллеров, так как библиотека написана на высоком и среднем уровнях абстракции;
- ASF разработана для использования на любой стадии проектирования;
- ASF интегрирована в Atmel Studio (которая пришла на смену AVR Studio и поддерживает все семейства мк Atmel) с графическим пользовательским интерфейсом, но также может использоваться с компиляторами IAR и GCC;
- ASF бесплатна.
USB bootloader на микроконтроллере: обновление прошивки с флешки
2015-08-30 в 21:11, admin, рубрики: atmel, atmel arm, bootloader, Cortex, cortex-m0, samd20, usb, Блог компании Rainbow, программирование микроконтроллеров, метки: samd20 Возможность обновления прошивки на серийно выпускаемых изделиях, или на единичных изделиях, находящихся в эксплуатации у заказчика трудно переоценить. Это не просто даёт возможность последующего устранения багов и расширения функционала, но и позволяет разработчику с более лёгким сердцем выпускать «еще сыроватый» продукт на рынок, если руководство того требует.
Поэтому важность наличия bootloader'а во вновь разрабатываемых устройствах в большинстве случаев не вызывает сомнений. В данной статье пойдет речь о разработке bootloader'а по интерфейсу USB на микроконтроллере Atmel SAM D21 с ядром Cortex M0+. А конкретно на SAMD21J18A. У микроконтроллеров SAM D20/21 нет предзаписанного бутлоадера, поэтому придётся заниматься его программной реализацией. На сайте Atmel можно найти Application notes, как сделать его с использованием стандартных интерфейсов (UART, I2C, SPI, USB). Под катом описание процесса создания USB-бутлоадера.
Читать полностью »
Все, что вы хотели узнать о Cortex – новой группе Twitter по разработкам, связанным с искусственным интеллектом
2015-07-14 в 12:09, admin, рубрики: Cortex, twitter, искусственный интеллект, твиты, Управление продуктом
Twitter увеличивает свои силы в области разработок искусственного интеллекта, охотясь на экспертов, которые сформируют новую команду под названием Cortex.
Несколько недавних объявлений о приеме на работу освещают некоторые детали касательно новой группы Cortex, которая смогла бы помочь компании лучше персонализировать свои услуги для 300 миллионов пользователей сервиса и не отставать от Google и Facebook во все нарастающей гонке в отрасли ИИ.
Читать полностью »
Обзор платформы для разработчиков ST Nucleo на примере Nucleo-F401RE
2014-07-22 в 14:08, admin, рубрики: arduino, arduino uno, Cortex, Morpho, Nucleo-F401RE, Nucleo-F411RE, stm, stm32, stm32F, STM32F4, X-Nucleo, Программинг микроконтроллеров, робототехника, Электроника для начинающихОценочные платы ST Nucleo:
Это открытая, недорогая и легко расширяемая отладочная платформа для разработки с широким выбором специальных плат расширения, для всей линейки 32-х битных микроконтроллеров STM32 архитектуры ARM Cortex-M3 и Cortex-M4.
Платы «ST Nucleo» дают возможность выбирать из различных сочетаний производительность, энергопотребление, и архитектурные особенности микроконтроллера. Платформа позволяет быстро, удобно и легко изучить особенности архитектуры и программирования микроконтроллера, опробовать свои идеи, создать прототипы с любым микроконтроллером семейства STM32.
Читать полностью »
Свежий взгляд на микроконтроллеры
2012-12-04 в 23:51, admin, рубрики: arduino, Cortex, Железо, микроконтроллеры, Программинг микроконтроллеров, метки: Cortex, микроконтроллеры Этот короткий пост может слегка напомнить некое исследование рынка по теоретической заметке "Микроконтроллеры устарели?".
На исследование микроконтроллеров и готовых плат натолкнула одна из небольших поделок, над которой сейчас работаю. В частности, необходим довольно компактный контроллер с 20 входами/выходами, и позволяющий выступать в роли ведомого USB устройства. Первый взгляд упал на Teensy, довольно компактный, на чипе Atmega32U4. Смутила только цена, $24 за устройство с распаянными ножками плюс доставка. Всего лишь чуть менее, чем вдвое дешевле, чем мне обошёлся, заказанный в апреле и пришедший лишь сегодня, Raspberry model B (ура!).
Цены на Arduino, Propeller также неприятно удивили.
Собственно, посетила мысль просто поставить сам чип на печатную плату и не заморачиваться с отдельным контроллером, но и Atmega32U не дёшев, около 4 евро за штуку (32U2) 5.5 евро за 32U4, и цены на них не снижаются, а, наоборот, растут.
С AVR'ами серии USB (90USB, 8U. 16U. 32U) смущает ещё то, что те пробные прошивки, что я делал по примерам, занимали около 18КБ, в основном занимаемые кодом работы с USB (LUFA/какое-то доморощенное от Teensy), а флеш памяти в половине этих устройств уже меньше. Что там с потреблением оперативной памяти, вообще сказать тяжело, хватит ли 1КБ? Без какого-то либо опыта оптимизации кода на C лезть в эти дебри совершенно не хотелось.
Устройство GV2-B и возможности его применения
2012-06-10 в 11:22, admin, рубрики: android, Cortex, diy или сделай сам, Гаджеты. Устройства для гиков, Железо, метки: android, Cortex, set-top box Заказал недавно на одном из китайских ресурсов вот такое устройство, с непретенциозным названием GV-2B.
Кто является производителем определить не предоставляется возможным, поставщики умело скрывают это, прикрываясь слабым знанием английского.
Я колебался с выбором между GV-3 на Cortex A9 с Mali400MP (на Amlogic 8726-M) аналогичного GV-2B форм-фактора, и стиком (размером не многим более USB флешки) тоже на Cortex A9, целиком построенный на reference board от Renesas. Недостатком последнего является уменьшенное количество разьёмов подключения (есть HDMI, 1xUSB и 1xmicroSD). Изначально я планировал взять Raspberry Pi, уже был заказан корпус, USB хаб, WiFi и Bluetooth затычки, блок питания, но выяснилось, что в Россию Raspberry эксклюзивно не поставляется. Добрые ребята из ModMyPi, продающие корпуса к нему пообещали заказать несколько штук и отправлять в РФ вместе с заказом корпусов, но пока тишина.
Наверное, стоило взять GV-3, но, судя по обзорам, Rockchip 2918 не сильно отстаёт, а местами и быстрее Amlogic 8726-M при прочих равных.
Пришло, надо сказать, всего за 8 дней, что является исключением из правила. Почта, почуствовав моё желание создать сервис по помощи в возврате сумм доставки при задержке отправлений, сделала всё так, как должна обычно делать.
Расскажу немного и о самом устройстве, и о том, на чём оно сделано, и как я планирую его использовать.
Читать полностью »