В статье я хотел бы описать шаги на пути к написанию прошивки для микроконтроллеров stm32 без использования специальных сред разработки типа keil, eclipse и тому подобных. Я опишу подготовку прошивки с самых основ, начиная с написания загрузчика на ассемблере, скрипта для линкера и заканчивая основной программы на C. В коде на C буду использовать заголовочные файлы из CMSIS. Редактор кода может быть любым на ваш вкус, vim, emacs, блокнот, все что угодно. Для сборки проекта буду использовать утилиту make. Итак, начнем!
Читать полностью »
Рубрика «микроконтроллеры» - 20
Программирование stm32f103 с самых основ
2018-04-29 в 18:14, admin, рубрики: stm32f103, микроконтроллеры, основы, программирование микроконтроллеровМедиасистема для Toyota Prius (рестайл)
2018-04-20 в 16:30, admin, рубрики: carpc, composite device, USB-HID, микроконтроллеры, периферия, Программирование, программирование микроконтроллеров, схемотехникаЭта первая (вводная) статья серии о том, как я собираюсь доработать медиасистему автомобиля. Сам проект в процессе, времени, как и у всех — нет, поэтому, дорогие читатели, запаситесь терпением, ибо часто клепать статьи не обещаю.
А началось все с того, что у меня появился Prius.
И первое, что бросилось в глаза — проблемы с обновлением навигации. Следующее — весьма скудные, но местами необходимые возможности устройства с названием «Многофункциональный дисплей» (в простонародье — голова). И это на фоне огромного количества китайских радио с Android на борту, и множеством приятностей. Но их установка на штатное место подразумевает лишение таких «плюшек», как диаграмма распределения энергии и управление климатом.
Родилась идея как-то соединить Android магнитолу с автомобилем более плотно, чем предлагают братья-китайцы. Об этом и статья.
Читать полностью »
Электронный протоглаз на микроконтроллере v.1
2018-04-02 в 20:00, admin, рубрики: arduino, DIY, diy или сделай сам, машинное зрение, микроконтроллеры, робототехника, фотодатчик, шаговый двигатель, Электроника для начинающихЗдравствуй, Сообщество!
Статья — классический «велосипед», но для начинающих в электронике и робототехнике может быть интересна.
Как известно, самую мелкую и простую робототехнику собирают сейчас на микроконтроллерах типа Atmega или STM. Здесь в статье я принципиально не беру уровень мини-компьютеров типа Raspberry.
В робототехнике, кроме движений, бывает необходимо делать хотя бы оценку окружающего пространства. Так вот — оптического растрового датчика для простых МК мне не попадалось. Популярный «датчик линии» — это не то. Поиск по Гиктаймсу и аналогичным ресурсам дал ссылки на видеокамеры, но они слишком быстрые для простых МК и одну статью про использование 8 шт. светодиодов в качестве фотодиодов.
Поэтому родилась идея сделать примитивный растровый датчик — протоглаз, по аналогии с первыми живыми организмами. Всё, что написано далее, мной делалось только для собственного развлечения, с минимальными затратами и практического применения не предполагалось. Пусть и снова велосипед, но с уважением к Нипкову и отцам механического телевидения.
Подробности под катом…
Читать полностью »
Программирование современных микроконтроллеров: лекция 1
2018-04-02 в 8:53, admin, рубрики: stm32, Блог компании IoT Академия Samsung, микроконтроллеры, мирэа, Производство и разработка электроники, Электроника для начинающихКонспект первой лекции по программированию современных микроконтроллеров на примере STM32 и операционной системы RIOT. Лекции читаются в Институте информационных технологий МИРЭА по субботам, с 12:50 в актовом зале на 4 этаже корпуса Д. В занятиях отводится 1,5 часа на саму лекцию и 3 часа на практические занятия в лаборатории IoT Академии Samsung по теме лекции.
Как мы и обещали, начинаем публикацию конспектов лекций, которые сейчас читаются в Институте ИТ МИРЭА. По результатам первой, вводной лекции мы решили немного изменить структуру курса — вместо планировавшихся двух потоков по 5 занятий будет один поток на 7 занятий. Это позволит в более спокойном темпе разобрать ряд вспомогательных вопросов, а также статьи с конспектом будут появляться на GT каждую неделю в течение всего марта и апреля, а не через неделю, как планировалось раньше.
Тем не менее, в семь лекций невозможно полностью уложить столь обширную тему, поэтому местами изложение будет тезисным — хотя для компенсации этого мы постараемся указывать, в какую сторону смотреть тем, кто хочет самостоятельно глубже разобраться в том или ином вопросе.
Курс рассчитан на студентов второго и третьего курсов, знакомых с языком C и базовыми понятиями электроники и электротехники. Предварительное знакомство с микроконтроллерами не требуется.
Цель курса — освоение навыков, позволяющих свободно работать с микроконтроллерами на ядре ARM Cortex-M на современном уровне и, при наличии такого желания, двигаться в сторону дальнейшего углубления своих знаний.
Сегодняшняя лекция — первая, поэтому на ней будут разбираться общие понятия: что такое вообще микроконтроллер и зачем он нужен, что такое прошивка и как она получается, зачем нам нужна операционная система, и наконец — как работать с git. Результат практического занятия — собственный репозитарий на GitHub с исходными кодами ОС, а также успешно настроенная среда сборки на локальном компьютере.
Читать полностью »
NRF51822: дружим BLE и RTOS
2018-03-04 в 12:24, admin, рубрики: BLE, bluetooth, CMSIS RTOS, Keil RTX, nrf51822, rtos, Беспроводные технологии, микроконтроллеры, программирование микроконтроллеровСовременные тенденции в технике идут по пути все большей интеграции – прогресс позволяет делать процесс разработки электронных устройств все больше похожим на сборку конструктора. Одним из наиболее ярких примеров является огромное количество так называемых «систем на чипе» — SoC, связка из микроконтроллера и периферии практически на любой вкус. Сегодня мы с вами рассмотрим одну из таких систем, чип NRF51822 от Nordic Semiconductor — решение для систем, заточенных под работу с технологией BLE, включенной в стандарт Bluetooth 4.0.
А поскольку электронные устройства все больше увеличивают уровень интеграции, то почему бы и в программировании не подняться на более высокий уровень абстракции и сделать Bluetooth приложение под управлением операционной системы реального времени – RTOS.
Нашей целью в рамках этой статьи будет сделать простое встроенное приложение для NRF51822 под управлением RTOS Keil-RTX которое будет опрашивать АЦП раз в секунду и записывать полученные значения в характеристики BLE. Если Вас заинтересовала эта тема — добро пожаловать под кат.
Читать полностью »
Программирование современных микроконтроллеров — новый курс МИРЭА, Samsung и Unwired Devices
2018-03-02 в 14:48, admin, рубрики: stm32, Блог компании IoT Академия Samsung, микроконтроллеры, мирэа, Производство и разработка электроники, Электроника для начинающихЭтим полукреслом мастер Гамбс… Этим постом мы — проект IoT Академия Samsung и компания Unwired Devices — начинаем цикл публикаций по мотивам нового практического курса по программированию микроконтроллеров на ядре Cortex-M3, который с завтрашнего дня будет читаться в Институте Информационных Технологий Московского Технологического Университета (также известного как МИРЭА).
Цель курса — познакомить студентов с современными микроконтроллерами на ядре Cortex-M3 и дать им базовые навыки программирования под них на языке C под операционной системой. Требования к слушателям — знакомство с языком C (не обязательно на микроконтроллерах) и базовое понимание электроники (на уровне умения подключить светодиод).
Изначально программа IoT Академии задумывалась как достаточно высокоуровневая — студенты должны работать с готовыми модулями передачи данных для сетей LoRa и 6LoWPAN, в которые уже были загружены прошивки с поддержкой нужных датчиков и необходимой логикой работы с ними. Фактически, курс заключается в настройке этих модулей и написании высокоуровневого ПО для обработки приходящих данных на платформе Samsung Artik + Tizen.
Однако, как показала практика, многим студентам интересно более серьёзно углубиться в то, что происходит внутри микроконтроллеров. При этом на данный момент с обучающими курсами по контроллерам Cortex-M в паре с операционными системами всё обстоит достаточно плохо: по сути, девять из десяти таких курсов посвящены написанию несложного приложения с использованием StdPeriphLib и/или CubeMX, причём половина текста приходится на вопросы инициализации контроллера и его периферии.
Читать полностью »
Сети для самых маленьких. Часть четырнадцатая. Путь пакета
2017-12-22 в 9:58, admin, рубрики: asic, cam, CEF, Cisco, control plane, cpu, data plane, Data Plane Development Kit, ethernet, FIB, forwarding, forwarding plane, fpga, huawei, IP, juniper, lfib, linkmeup, management plane, network processor, qos, queuing, ram, scheduling, serdes, tcam, tcp, traffic management, аппаратная архитектура, коммутация, маршрутизаторы, маршрутизация, микроконтроллеры, микроэлектроника, Сетевые технологии, сети для самых маленьких, сети передачи данных, системное администрирование, Стандарты связиA forwarding entity always forwards packets in per-flow order to
zero, one or more of the forwarding entity’s own transmit interfaces
and never forwards a packet to the packet’s own receive interface.
Brian Petersen. Hardware Designed Network
Одно из удивительнейших достижений современности — это то, как, сидя в Норильске, человек может чатиться со своим другом в Таиланде, параллельно покупать билет на вечерний самолёт к нему, расплачиваясь банковской картой, в то время, как где-то в Штатах на виртуалочке его бот совершает сделки на бирже со скоростью, с которой его сын переключает вкладки, когда отец входит в комнату.
А через 10 минут он закажет такси через приложение на телефоне, и ему не придётся даже брать с собой в дорогу наличку.
В аэропорту он купит кофе, расплатившись часами, сделает видеозвонок дочери в Берлин, а потом запустит кинцо онлайн, чтобы скоротать час до посадки.
За это время тысячи MPLS-меток будут навешаны и сняты, миллионы обращений к различным таблицам произойдут, базовые станции сотовых сетей передадут гигабайты данных, миллиарды пакетов больших и малых в виде электронов и фотонов со скоростью света понесутся в ЦОДы по всему миру.
Это ли не электрическая магия?
В своём вояже к QoS, теме обещанной многократно, мы сделаем ещё один съезд. На этот раз обратимся к жизни пакета в оборудовании связи. Вскроем этот синий ящик и распотрошим его.
Сегодня:
- Коротко о судьбе и пути пакета
- Плоскости (они же плейны): Forwarding/Data, Control, Management
- Кто как и зачем обрабатывает трафик
- Типы чипов: от CPU до ASIC'ов
- Аппаратная архитектура сетевого устройства
- Путешествие длиною в жизнь