Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

EmBlocks — IDE для STM32

Программирование микроконтроллеров
Я обещал поделиться своей настроенной средой Em::Blocks.
Выполняю обещание.


Что такое Em::Blocks?


Это IDE на основе Code::Blocks — кросс-платформенной быстрой среды разработки со встроенным скриптовым языком и очень гибкой настройкой, ориентированной под С/С++ разработку. В среде есть встроенные шаблоны для кучи различных случаев и возможность подключать любые компиляторы.
EmBlocks в отличие от CodeBlocks не кросс-платформенная, она существует только под Windows.
Зато вместе с ней поставляется специальная версия CodeSourcery тулчейна, которая позволяет плотнее интегрировать тулчейн с IDE. Версия в комплекте всегда свежая.

Достоинства EmBlocks


  • быстрая, т.к. написана в native коде
  • расширяемая и хорошо автоматизируется с помощью скриптов
  • шаблоны проектов можно настроить на свой вкус
  • можно самому изменить диалог мастера создания проекта
  • не требует установки — можно носить с собой на флешке и легко перенести с настройками на другой комп
  • из коробки поддерживает отладку через ST-Link и J-Link
  • бесплатная
  • неплохо поддерживается на собственном форуме

Пример проекта с использованием EmBlocks — мигание светодиодами.
Подробности и архив для скачивания
Всего голосов 18: ↑17 и ↓1 +16
Просмотры39.1K
Комментарии 23

STM32 + EmBlocks — мигаем светодиодами

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

Подключаем аноды светодиодов к пинам PB5 и PB6, катоды через резсторы в 390 Ом к земле.
Заставим их перемигиваться
Всего голосов 24: ↑19 и ↓5 +14
Просмотры40.8K
Комментарии 35

Em::Blocks 1.20

Программирование микроконтроллеров
Вышла Em::Blocks 1.20, в которой довольно много вкусностей:
  • Semihosting as library option for EmBlocks Bare-metal ARM
  • Semihosting checkbox in debug interfaces JLink and STlink
  • Live data implemented on memory watch and debugger variable tooltip.
  • New STlinkGDB server with live data and semihosting support
  • Syntax highlight on GNU linker scripts
  • Yagarto toolchain replaced by Generic GCC (Yagarto project is cancelled)
  • C++ library linker option and C++ compiler options added
  • Make file tool entry is replaced by CPP tool entry.
  • Device list updated for JLinks
  • STmicro project wizard is changed so that the debug interfaces are preconfigured at the beginning.
  • Breakpoint on-the-fly is now working
  • Run to main() is working smoothly
  • Pre-compiled headers is supported
  • File manager plugin added to the installation package
  • EnergyMicro project wizard is using the preinstalled header files from EM instead of copying all the files with the wizard.
  • Project wizard can also use ZIP archive as template storage.
  • Bug fix STmicro project wizard
  • Bug fix EnergyMicro project wizard
  • and a lot of minor fixes.

В связи с этим я сделал новую сборку с версией 1.20
Преимущества EmBlocks я описывал ранее.
Быстрый старт с EmBlocks на примере простого blink.
Читать дальше →
Всего голосов 6: ↑3 и ↓3 0
Просмотры4.4K
Комментарии 4

Как начать делать блок управления автодвигателем с нуля

Разработка веб-сайтов
Из песочницы
Примерно год назад я начал разрабатывать блок управления автомобильным двигателем с нуля.
Позвольте рассказать, почему эта идея до сих пор кажется мне реалистичной.
Читать дальше →
Всего голосов 75: ↑71 и ↓4 +67
Просмотры72.6K
Комментарии 134

Список покупок

DIY или Сделай сам

Описание


У меня всегда неожиданно заканчиваются продукты. Казалось, ещё вчера был стратегический запас пива, а сегодня его уже нет. Ну и, конечно, когда обнаруживаешь, что чего-то не хватает, под рукой нет ни телефона, ни записной книжки. Не удивительно, поскольку дело обычно происходит на кухне в самый разгар готовки.

Я решил создать аппарат, который позволит одним нажатием кнопки отметить, чего не хватает. Аппарат передаёт информацию об отсутствующих продуктах на телефон и реагирует, если что-то было куплено.

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

Демонстрация работы и подробное описание
Всего голосов 139: ↑132 и ↓7 +125
Просмотры53.6K
Комментарии 88

STM32+Visual Studio

Программирование микроконтроллеров
Не так давно я вновь занялся поиском IDE для STM. Keil, IAR — это, конечно, прекрасно, но да простят меня любители данных сред, они ужасны. CooCox — единственная вещь, которая напоминает о том, что мы живем в 21 веке. Но CooCoх даже рядом не стоял с моей любимой средой разработки — Visual Studio. И мне удалось найти проект, который позволит мне работать с STM в VS.

Читать дальше →
Всего голосов 21: ↑17 и ↓4 +13
Просмотры36.8K
Комментарии 25

Электроника и котики: собираем робота-игрушку для кота на STM32

DIY или Сделай сам

Добрый день, уважаемые хабровчане.
Прошло достаточно много времени с тех пор, как я последний раз писал сюда статьи по разработке, пора это дело исправить.
В этой статье я расскажу о том, как собирал небольшого робота на микроконтроллере STM32F101 для развлечения своего мейн-куна, Артаса, о том, с какими проблемами пришлось столкнуться и о том, что же из этого вышло.
Читать дальше →
Всего голосов 183: ↑174 и ↓9 +165
Просмотры81.4K
Комментарии 105

rusEfi: зажигание и другие плюшки

Разработка веб-сайтов
Для тех, кто только присоединился к нам — предыдущая часть здесь.

Сразу к главной новости — на rusEfi заработали управление бензонасосом и альфа версия зажигания: этого достаточно, чтобы используя только rusEfi управлять двигателем!
Читать дальше →
Всего голосов 34: ↑31 и ↓3 +28
Просмотры18.1K
Комментарии 32

STM32 и USB-HID — это просто

Программирование микроконтроллеров
Tutorial
На дворе 2014 год, а для связи микроконтроллеров с ПК самым популярным средством является обычный последовательный порт. С ним легко начать работать, он до примитивности прост в понимании — просто поток байт.
Однако все современные стандарты исключили COM порт из состава ПК и приходится использовать USB-UART переходники, чтобы получить доступ к своему проекту на МК. Не всегда он есть под рукой. Не всегда такой переходник работает стабильно из-за проблем с драйверами. Есть и другие недостатки.
Но каждый раз, когда заходит разговор о том, применять USB или последовательный порт, находится множество поклонников логической простоты UART. И у них есть на то основания. Однако, хорошо ведь иметь альтернативу?

Меня давно просили рассказать как организовать пакетный обмен данными между ПК и МК на примере STM32F103. Я дам готовый рабочий проект и расскажу как его адаптировать для своих нужд. А уж вы сами решите — нужно оно вам или нет.

У нас есть плата с современным недорогим микроконтроллером STM32F103C8 со встроенной аппаратной поддержкой USB, я рассказывал о ней ранее

Заставим ее работать
Всего голосов 103: ↑101 и ↓2 +99
Просмотры249.2K
Комментарии 104

Определение физических констант с помощью STM32 и светодиода

DIY или Сделай сам

Введение


Светодиод — полупроводниковый прибор, излучающий электромагнитные волны видимого или близкого к нему диапазона. Его работа основана на эффекте рекомбинации носителей заряда в полупроводниковом переходе с излучением фотонов (полное теоретическое объяснение можно найти в соответствующих книгах по физике, здесь оно не описывается). Основные электрические и оптические свойства (при заданной конструкции) определяются фундаментальными физическими постоянными, косвенное измерение которых я и опишу в этой статье. А именно, в итоге определяется значение элеметарного заряда (заряда электрона) и постоянная Планка.

Я уже давно хотел изучить микроконтроллеры и разобраться в программировании для них, вот и решил сделать такой эксперимент. Его результаты были успешно представлены в качестве вопроса по выбору на экзамене по физике пару недель назад.
Читать дальше →
Всего голосов 32: ↑31 и ↓1 +30
Просмотры15.5K
Комментарии 44

FreeRTOS + STM32F4 на С++ под Linux

DIY или Сделай сам
Tutorial
Доброго дня! Прошло много времени с тех пор как я последний раз программировал под AVR и вот, решил восстановить в памяти такую, без сомнения интересную и увлекательную область разработки — разработку под микроконтроллеры. В качестве платформы был выбран ARM STM32, и, чтобы не мелочиться, сразу Cortex-M4. Отладочная плата STM32F4DISCOVERY с STM32F407 на борту. Мегабайт флеша и 128 кб памяти дает возможность не сильно заморачиваться экономией ресурсов и писать на C++.

Итак, задача: научиться с нуля моргать светодиодами под STM32 во FreeRTOS, но делать это модно — на C++, а не на чистом C.
И что из этого вышло?
Всего голосов 17: ↑16 и ↓1 +15
Просмотры28.6K
Комментарии 7

STM32CubeMX — продвинутый генератор проектов для STM32

Программирование микроконтроллеров
Пару недель назад STMicroelectronics выкатили обновление своей программы MicroXplorer, которая позволяла графически настроить инициализацию портов в конкретном STM32 для своих нужд, в том числе и делать ремап портов и визуально видеть что занято\свободно на текущий момент.
Выглядела эта программа следующим образом:
image
И позволяла на выходе получить *.c, *.h файлы в которых содержались функции по инициализации портов в соотвествии с заданными требованиями с использованием Standard Peripheral Library.
Что же решили изменить на этот раз?
Читать дальше →
Всего голосов 37: ↑35 и ↓2 +33
Просмотры69.1K
Комментарии 8

Самодельный фазовый лазерный дальномер

Программирование микроконтроллеровDIY или Сделай самЭлектроника для начинающих
image
В статье я расскажу о том, как я делал лазерный дальномер и о принципе его работы. Сразу отмечу, что конструкция представляет собой макет, и ее нельзя использовать для практического применения. Делалась она только для того, чтобы убедится в том, что фазовый дальномер реально собрать самому.
Читать дальше →
Всего голосов 187: ↑187 и ↓0 +187
Просмотры155K
Комментарии 72

STM32 — правильно используем встроенный flash

Программирование микроконтроллеров
Из песочницы
Предисловие

Давно ни для кого не секрет, что STMicroelectronics производит замечательные 32-битные ARM микроконтроллеры STM32. В последнее время они набирают всё большую популярность, и на то есть веские причины, которые в рамках этой статьи я повторять не намерен. Кому интересно — раз, два и три.

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

Именно о таком моменте я и хочу рассказать. А именно — как правильно использовать возможность записи во встроенный flash нашего МК. Добро пожаловать под кат.
Читать дальше →
Всего голосов 35: ↑35 и ↓0 +35
Просмотры64.2K
Комментарии 36

rusEfi автомобильный блок управления: улучшили железо, теперь будем писать к нему софт

Open source
Два месяца назад мы остановились на том, что rusEfi стал полнофункциональным блоком управления — вот только аппаратная часть напоминала взрыв на макаронной фабрике. Напомню, rusEfi — это автомобильный блок управления с открытым кодом и железом на платформе stm32.

Мы не сидели сложа руки и сфокусировались как раз на аппаратной стороне вопроса: задача была сделать шаг вперёд по железу, и я думаю прогресс на лицо:

Было no name v3:

image

Стало Франкенштейт 0.1:

image
Читать дальше →
Всего голосов 55: ↑50 и ↓5 +45
Просмотры30.3K
Комментарии 52

Отладочная плата STM32F429I и GPS модуль. Получаем детальную информацию о спутниках

Программирование микроконтроллеров
Tutorial
image
Приветствую хабрасообщество!

Не так давно мне в руки попала отладочная плата STM32F429I-DISCO на базе контроллера STM32F429ZI.
Пожалуй главной ее отличительно особенностью является помимо достаточно производительного процессора Cortex M4 — интегрированный экран на 2,4'' дюйма, которого вполне хватает для многих экспериментов.
Первым делом я естественно начал искать по нему документацию и примеры. Хорошая документация вместе с примерами нашлась прямо на сайта st.com, но естественно хотелось большего, туториалов и прочего. То чего так не хватает начинающему программисту под ARM. Но детальный поиск не дал каких то больших результатов. Поэтому пришлось собирать информацию по крохам, анализировать, пересматривать и тестировать ее.

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

Тем кому это может показаться интересным, добро пожаловать под кат.
Читать дальше →
Всего голосов 28: ↑27 и ↓1 +26
Просмотры29.6K
Комментарии 20

Начинаем изучать Cortex-M на примере STM32

Программирование микроконтроллеров
Из песочницы
Tutorial
Данная статья является первой в планируемом цикле статей по изучению программирования микроконтроллеров. Изучая различные материалы я отметил, что практически все они начинаются с того, что новичку предлагается скачать (или использовать идущую со средой разработки) библиотеку для работы с периферийными устройствами и использовать ее для написания своей первой программы (обычно мигание светодиодом).

Меня это сильно удивило. Если верить данным статьям, для программирования не обязательно даже читать документацию к программируемому контроллеру. Меня же учили премудростям «железного программирования» совершенно иначе.

В этой статье, путь от фразы «Да, я хочу попробовать!» до радостного подмигивания светодиода, будет значительно длиннее чем у других авторов. Я постараюсь раскрыть аспекты программирования микроконтроллеров, которые прячутся за использованием библиотечных функций и готовых примеров.
Если вы намерены серьезно изучать программирование микроконтроллеров данная статья для вас. Возможно, она может заинтересовать и тех, кто вдоволь наигрался с Arduino и хочет получить в свои руки все аппаратные возможности железа.
Если вас не пугает написанное выше - прошу под кат
Всего голосов 38: ↑31 и ↓7 +24
Просмотры262.9K
Комментарии 39

Музыкальная игрушка на STM32 из подручных средств

DIY или Сделай сам

Добрый день, уважаемые хабровчане.
Как-то вечером мне стало скучно и я решил собрать небольшое электронное устройство из валяющихся дома компонентов, чисто для развлечения, безо всякой практической цели. Повторить его может любой желающий, не потребуется даже печатной платы — устройство собрано из минимума электронных компонентов «навесу», приклено при помощи эпоксидки к какой-то ненужной плате, исключительно как к элементу конструкции, спаяно при помощи проволочек и залито той же самой эпоксидкой для надежности.
Итак, делаем электронную флейту!
Читать дальше →
Всего голосов 54: ↑51 и ↓3 +48
Просмотры30.3K
Комментарии 45