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

Комментарии 35

ниочем…
Хоть бы привели в чем плюсы по сравнению с другими ide.
Уже писал об этом. Эта статья для тех, кто хотел пример ее использования. Основная проблема с Eclipse и другими IDE — более сложная настройка проекта. А CooCox не поддерживает С++ и намного медленнее.
Мне вот в кокосе нравятся репозитории для stm32f1xx, когда в начале отмечаешь, какую из периферии хочешь юзать (или из репозиторных библиотек), а ИДЕшка подключает нужные либы и заодно дает справку по ним и код примеров.
Мелочь, конечно, но приятная, чтобы не вспоминать каждый раз где там что. Тут такого нет?
Да, мне тоже. Кстати, все эти репозитарии совместимы с EmBlocks — достаточно кинуть их в папку проекта и включить в состав проекта. К сожалению, тут такого визарда нет. Надо подумать, возможно это можно сделать скриптами.
В любом случае, это более универсальная среда — она подходит не только для STM32 и вообще не только для ARM, но и для AVR, к примеру. Поэтому и не так сильно заточена под ARM.
Скажите, а программатор где/по чем? Ценовой порог вхождения какой и можно ли программатор на коленке паять, как для Атмеловских?
И еще вопрос начинающего ламера. Вижу впаянный кварц на 8 МГц. В Вашей статье написано — можно до 72. Скажите, пожалуйста, как наиболее просто и дешево поднять частоту хотя бы до 50 МГц.
Встроенными средствами процессора — модуль PLL (ФАПЧ) выполняет умножение частоты, например 8*9=72.
PS или дешево вы имеете ввиду вообще без кварца?
Спасибо
Оно и работает на 72МГц сейчас. Как сказано в комментарии ниже — с помощью умножителя частоты МК тактируется на 72 МГц от кварца на 8МГц. Можно использовать и другие частоты.
Эта плата — полноценный девайс на полной скорости и все порты выведены на гребенки.
Спасибо и Вам :)
Программатор для прошивки вообще не нужен — достаточно USB-UART переходника за 2 бакса (на CP2102, например или из шнурка от старого телефона). В STM32 есть встроенный бутлоадер, я об этом писал.
Ценовой порог вхождения — $10. Столько стоит плата, которая на фото. Ее функционал я описывал. Больше кроме USB-UART переходника для начала ничего не нужно.
Отладчик на фото для прошивки и аппаратной отладки из IDE стоит в районе $25. Есть и за 6-7 баксов, но я их не тестил, поэтому не могу сказать, работают ли.
Ссылки и цены я давал в комментариях у себя на сайте.
Понял, спасибо. Интересует именно вариант с отладкой. Для атмеловской меги сами собирали jtag-программатор. Тут, видимо, надо 25 баксов просто платить — и голову не морочить.
Конечно, самый простой вариант — купить ST-link/V2 или Discovery плату — не ней уже есть дебаггер, который можно использовать в своих проектах.
Также можно и самому собрать. Например ColinkEx. Схемотехника открытая, прошивка лежит к нему открыто. Поддержку ColinkEx я в EmBlocks добавил (им правда пользоваться не так удобно, как ST-Link, если надо отлаживать платы на разных процессорах).
Подскажите, пожалуйста, а что с точностью тактирования? А то когда мы на меге на 16 МГц собирали счетчик, за 4 мс набегала погрешность более 2 тактов…
Точность тактирования достаточна, для того, чтобы корректно работал UART и USB, которые довольно чувствительны к уплываниям частоты. Но в штуках не могу сказать, у меня такого осциллографа нет. Только Oscill и логический анализатор saleae logic.
Хотелось бы спросить на счет питания от сети 220. Вроде бы написано, что на плате есть стабилизатор на 3.3 вольта и что можно питать 5 вольтами. Значит ли это, что можно использовать любой не стабилизированный блок питания или вообще взять зарядку от телефона с выходом на usb?
Легко. Я проверял на зарядке от планшета с miniUSB выходом.
А Вы могли бы показать, как прошивать микроконтролллер с помощью встроенного бутлоадера, или сами ещё не пробовали это сделать?
Делал, очень просто. BOOT1 замыкаем на VCC(3V3), подключаем к USART1 переходник USB-UART. Запускаем STM32 Flash demo loader и дальше все и так понятно — там просто подсунуть файлик прошивки, он все сделает сам. Затем возвращаем BOOT1 в 0 (замкунть на GND) и сбросить МК.
Т.е. загрузчик не работает с имеющимся на плате USB разъёмом?
Конечно нет, этот USB разъем для имеющегося в составе МК периферийного модуля USB-FS. Встроенный бутлоадер работает с UART. Но есть возможность написать прошивку, которая будет поддерживать DFU — самопрограммирование по USB, но это непросто и нестираемой она не будет.
У меня есть плата, которая имеет на борту FTDI чип, который подключен к USART1 и там все совсем просто — подключаем в USB и заливаем.
А Вы можете рассказать (или отдельную статью заделать) про работу со встроенным USB-FS для STM32F103C8? Очень заинтересовала платка. Там использование такое же как и у чипов FT, или полноценный USB 2.0? В приборе сейчас у меня работа по принципу USB-to-COM и на Rx Tx AtMega162.Но хочется побыстрее и камень, и обвязку.
Спасибо.
Вообще есть такая мысль, но дело в том, что USB — шина с огромными возможностями и описать их в пределах одной статьи совершенно нереально. Потребности у всех разные и соответственно метод работы тоже разный.
Я для себя использую пакетный обмен с ПК, потому что поток мне неудобен — нужно распознавать заголовки и куча других неудобств.
Второе условие — отсутствие необходимости писать USB драйвер или использовать какие бы то ни было dll для работы с девайсом. Поэтому я выбрал для себя релизацию HID, которая не требует дополнительных драйверов. Есть ограничение на размер пакета в 64 байта и частота опроса примерно в 1 кГц, что дает примерно 64 кБ в секунду, мне этого достаточно, поэтому описывать буду именно такой вариант. Подойдет он разумеется не всем.
По поводу реализации — вы можете сделать реализацию виртуального COM порта — VCP или CDC. Можете сделать HID, или что-то свое. На МК есть соответсвтующий аппаратный модуль USB-FS, который как настроите так и будет работать. Но это нетривиальная задача, поэтому я для себя сделал шаблон с USB-HID и пользуюсь им, слегка модифицируя его.
Ну меня такой вариант более чем устроит: как минимум выигрыш в компактности получаем — все что надо есть на плате — по сравнению с использованием FT232. Да и объем передаваемых данных небольшой и к скорости требований жестких нет
Так что жду с нетерпением :)
Ну значит требования примерно как у меня.
Статью пока не знаю где буду размещать. Может на хабре, если подойдет по формату, может у себя на сайте.
это не суть важно. Кто захочет — найдет ;)
Скажие, а шилдики есть под эту штуку? Беглый поиск по Алиэкспрессу результатов не дал…
Какие сделаете :) Это не стандарт и не Arduino. Хотя и можно сделать самим что угодно. Лично мне такой формат нравится больше, чем Arduino с ее кривым промежутком между пинами.
Эта плата — продвинутый конструктор для тех, кто вырос из Arduino.
Но я уже думал на тему того, чтобы выпускать к ней шилды. Есть какие-то конкретные пожелания?
Спасибо за информацию. Пожеланий нет, просто искал монтажку с готовыми стыковочными разъемами. Придется значит самому руками делать. Надо специфическую обвеску под свои задачи на входы лепить.
Что-то я не могу выбрать в визарде STM32F103RB, плата, если что, вот такая. Надо куда-то библиотеки подсовывать?
Открываем даташит, видим «STM32F103xB medium-density performance line microcontrollers».
а значит нужно выбрать STM32F10x_md (что и означет medium density).
image
второе поле нужно только, если вы используете CoolinkEx в качестве отладчика или для прошивки. Я добавил это поле для удобства работы с ним. Для компиляции или при работе с ST-Link оно не имеет значения.
О, спасибо! Я испугался что камень не тот (C8, а не RB). Для J-Link'а же тоже не важно?
Насколько я знаю нет, но J-Link у меня пылится на полке из-за неудобства работы с ним и кривых дров — новые версии банят китайские копии по серйиникам )
Оу, не знал, спасибо! Буду делать снепшот перед обновлением. А что с ним не так? У меня в кококсе дебаг без нареканий работает. Дрова да, пришлось поискать, и я, похоже, спалил им китайский серийник. =(
Нужно держать его сервис запущенных, он медленнее стартует и медленно работает. Еще какие -то мелочи всплывают, но и проблем с лицензией и сервисом мне хватило, чтобы отказаться в пользу беспроблемного st-link
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации