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