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

Устройство GV2-B и возможности его применения

Время на прочтение4 мин
Количество просмотров10K
Заказал недавно на одном из китайских ресурсов вот такое устройство, с непретенциозным названием 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 дней, что является исключением из правила. Почта, почуствовав моё желание создать сервис по помощи в возврате сумм доставки при задержке отправлений, сделала всё так, как должна обычно делать.

Расскажу немного и о самом устройстве, и о том, на чём оно сделано, и как я планирую его использовать.
Читать дальше →
Всего голосов 34: ↑31 и ↓3+28
Комментарии54

Свежий взгляд на микроконтроллеры

Время на прочтение2 мин
Количество просмотров72K
Этот короткий пост может слегка напомнить некое исследование рынка по теоретической заметке "Микроконтроллеры устарели?".


На исследование микроконтроллеров и готовых плат натолкнула одна из небольших поделок, над которой сейчас работаю. В частности, необходим довольно компактный контроллер с 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 лезть в эти дебри совершенно не хотелось.

И тут внезапно
Всего голосов 42: ↑32 и ↓10+22
Комментарии71

Настройка VSCODE под разработку для ARM на примере отладочной платы stm32f429i-disco

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


Всем привет!


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


Все шаги проверены на виртуальной машине со свежеустановленной Ubuntu 16.04 xenial desktop x64.


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


Все настройки, касающиеся конкретного железа (в моём случае это контроллер STM32F429 и девборда STM32F429DISCO), нужно подменить на свои. То же самое касается и путей.


Если готовы, то

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

Orion: новый двухядерный чип на основе Cortex A9

Время на прочтение1 мин
Количество просмотров7.2K
Orion: новый двухядерный чип на основе Cortex A9Компания Samsung объявила о создании двухъядерного процессора приложения (AP) под кодовым названием Orion, основанного на ARM Cortex A9. Чип будет работать на тактовой частоте в 1 ГГц и позволит различным OEM-производителям мобильных телефонов, нетбуков и планшетов совмещать в своих устройствах высокую производительность и низкое энергопотребление.
Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии50

ARM выпустила новые чипы Cortex

Время на прочтение2 мин
Количество просмотров4.6K
image
image
Британский разработчик микропроцессоров ARM объявил о последних новинках для рынка смартфонов – процессорах Cortex-R5 MPCore и Cortex-R7 MPCore, в которые была добавлена поддержка стандартов LTE и LTE-Advanced. В рамках защиты от нападения Intel на рынок смартфонов, со своими многообещающими энергоэффективными версиями процессора Atom, новые чипы ARM Cortex-R предлагают бинарную совместимость с существующими процессорами компании, при этом добавляя новые функции и технологии. Компания надеется, что это позволит ей сохранять лидирующие позиции на данном рынке.
Читать дальше →
Всего голосов 43: ↑37 и ↓6+31
Комментарии11

Выбираем микроконтроллер вместе

Время на прочтение3 мин
Количество просмотров113K
Прочитав эту статью я заметил большой интерес к выбору микроконтроллера у читателей и решил взглянуть на эту проблему с другой стороны.
Могу предположить, что всех интересует выбор их первого, либо первого 32-х битного МК.
image
Тем, кто знает, что на фотографии нет ни одного микроконтроллера — прошу в комментарии, дополнить мой рассказ и тем самым поделиться своим опытом с начинающими. Остальным, непременно под кат!
Читать дальше →
Всего голосов 50: ↑47 и ↓3+44
Комментарии57

Обзор платформы для разработчиков ST Nucleo на примере Nucleo-F401RE

Время на прочтение5 мин
Количество просмотров86K
Оценочные платы ST Nucleo:

image

Это открытая, недорогая и легко расширяемая отладочная платформа для разработки с широким выбором специальных плат расширения, для всей линейки 32-х битных микроконтроллеров STM32 архитектуры ARM Cortex-M3 и Cortex-M4.

image

Платы «ST Nucleo» дают возможность выбирать из различных сочетаний производительность, энергопотребление, и архитектурные особенности микроконтроллера. Платформа позволяет быстро, удобно и легко изучить особенности архитектуры и программирования микроконтроллера, опробовать свои идеи, создать прототипы с любым микроконтроллером семейства STM32.
Читать дальше →
Всего голосов 34: ↑32 и ↓2+30
Комментарии28

Быстрый старт ST Nucleo-F401 + краткое руководство

Время на прочтение8 мин
Количество просмотров86K
В предыдущем своем посте я попытался коротко ознакомить вас с платформой Nucleo от ST.
В этом посте я хочу рассказать вам на живом примере некоторые сильные стороны этой платформы, которая имеет все шансы потеснить приевшиеся всем Arduino, и показать что все примеры кода и шилды от Arduino, прекрасно подходят для платформы Nucleo.

Читать дальше →
Всего голосов 35: ↑32 и ↓3+29
Комментарии37

USB bootloader на микроконтроллере: обновление прошивки с флешки

Время на прочтение8 мин
Количество просмотров18K
Возможность обновления прошивки на серийно выпускаемых изделиях, или на единичных изделиях, находящихся в эксплуатации у заказчика трудно переоценить. Это не просто даёт возможность последующего устранения багов и расширения функционала, но и позволяет разработчику с более лёгким сердцем выпускать «еще сыроватый» продукт на рынок, если руководство того требует.

Поэтому важность наличия bootloader'а во вновь разрабатываемых устройствах в большинстве случаев не вызывает сомнений. В данной статье пойдет речь о разработке bootloader'а по интерфейсу USB на микроконтроллере Atmel SAM D21 с ядром Cortex M0+. А конкретно на SAMD21J18A. У микроконтроллеров SAM D20/21 нет предзаписанного бутлоадера, поэтому придётся заниматься его программной реализацией. На сайте Atmel можно найти Application notes, как сделать его с использованием стандартных интерфейсов (UART, I2C, SPI, USB). Под катом описание процесса создания USB-бутлоадера.
Читать дальше →
Всего голосов 18: ↑18 и ↓0+18
Комментарии6

Atmel Software Framework (ASF): как это работает?

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

Немного теории


Atmel Software Framework (ASF) — программная библиотека, которая содержит широкий набор встраиваемого кода для микроконтроллеров Atmel всех семейств: megaAVR, AVR XMEGA, AVR UC3 и SAM.
Основные преимущества:
  • Упрощается использование и освоение микроконтроллеров, так как библиотека написана на высоком и среднем уровнях абстракции;
  • ASF разработана для использования на любой стадии проектирования;
  • ASF интегрирована в Atmel Studio с графическим пользовательским интерфейсом, но также может использоваться с компиляторами IAR и GCC;
  • ASF бесплатна.



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

1-Wire slave на МК. Часть 1: Железо

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

Для одного из проектов по автоматизации потребовалось сделать устройство, которое является подчинённым 1-Wire устройством, принимает команды от мастера и выставляет на своих выходах значение аналогового сигнала в диапазоне от 0 до 10В.
Проанализировав линейку стандартных микросхем 1-Wire от Maxim, стало ясно, что нет микросхемы, которая позволит реализовать подобный функционал.
Потому было принято решение реализовывать 1-Wire slave на микроконтроллере. Надеюсь, данный материал будет интересен и полезен людям, которые делают «умный дом» своими руками, т.к. 1-Wire достаточно популярная шина в подобных проектах. В качестве камня был выбран МК Cortex M0+ ATSAMD20G16 от Atmel, но о реализации в коде расскажем во второй части. Забегая немного вперед, скажу что в третьей части цикла пойдет речь о реализации собственного семейства устройств для линуксовой библиотеки OWFS (One Wire File System). А сегодня расскажем о некоторых аппаратных решениях, к которым мы пришли в процессе разработки.
Читать дальше →
Всего голосов 12: ↑11 и ↓1+10
Комментарии8

Тактирование микроконтроллеров Atmel SAMD20/21

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

Немного теории



Согласно документации на микроконтроллеры 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, шин.
Читать дальше →
Всего голосов 9: ↑8 и ↓1+7
Комментарии1

1-Wire slave на МК. Часть 2: Реализация в коде

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

Первая статья цикла: 1-Wire slave на МК. Часть 1: Железо

Что есть в инетрнете по 1-Wire slave


В интернете про реализацию 1-Wire мастера можно найти множество информации, статей, application notes для микроконтроллеров на любой вкус и цвет.
А вот для реализации со стороны Slave материалов немного. Исходных кодов и того меньше. В итоге был найден один исходник для PIC, с ассемблерными вставками и ошибками. Недавно появилась статья на хабре для MSP430 от resetnow. Под катом наш вариант реализации задачи.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии0

Удаленное обновление прошивки микроконтроллера

Время на прочтение11 мин
Количество просмотров11K
В одной из прошлых статей мы писали про USB bootloader на микроконтроллере SAM D21 с ядром Cortex M0+. Использование флешки для обновления прошивки очень удобно, но подходит не для всех случаев. Например, если доступ к устройству ограничен или проблематичен, а связь с ним устанавливается удаленно. В подобных случаях, к разработке бутлоадера следует отнестись с особой тщательностью. Иначе, в случае ошибки высока вероятность получить «кирпич» и огромное число проблем себе на голову. Примером такого труднодоступного устройства может быть управляющая плата «умного» архитектурного светильника, висящего на фасаде здания на 7-м этаже.
Читать дальше →
Всего голосов 9: ↑9 и ↓0+9
Комментарии3

Как защититься от переполнения стека (на Cortex M)?

Время на прочтение8 мин
Количество просмотров27K
Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело.

image

Но вот если вы программируете микроконтроллеры, то проблема выглядит немного иначе. Для начала нужно заметить, что стек переполняется.

В этой статье я расскажу о собственных изысканиях на эту тему. Поскольку я программирую в основном под STM32 и под Миландр 1986 — на них я и фокусировался.
Читать дальше →
Всего голосов 61: ↑60 и ↓1+59
Комментарии66
2