STM32F103... вместо maple dfu Unknown Device
- Войдите на сайт для отправки комментариев
Чт, 13/12/2018 - 22:19
Добрый день, All !
Купил из китая платы STM32F103C8T6
В исходном состоянии мигали светодиодиком и определялись как Unknown Device.
Прошил через UART прошивку generic_boot20_pc13.bin
Прошивка и проверка проходит успешно, джампер переставлял и туда и обратно и ресет нажимал, но как было Unknown Device, так и осталось никакого maple dfu (
Пробовал при рошивке выбирать и 64к и 128к
Подскажите, в каком направлении копать.
поставить драйвера
В десятке и без драйверов всё определяется сразу. Перетыкать ничего не надо если заливка через st-link. В любом случае после прошвки должен мигнуть 6 раз быстро а потом непрерывный блинк. В описании процесса написано что 10к на D+ нужно поменять на 1.5к, но у меня и так работает.
по примеру новичков влезу в чужую тему.
Имею похожую проблему, но обратную :)
Когда втыкаю БлюПилл в USB- она определяется как MapleMini и если на компе в этот момент открыт VisualMicro - он автоматически перестраивает параметры текущего проекта с платы "Generic STM32F103" на эту самую Maple- что очень неудобно. Более того, из-за того, что ВижуалМикро автоматически определяет плату как Мапле - он ее отказывается прошивать как Generic STM32.
При этом в АрдуиноИДЕ плата прошивается без проблем - наверно потому что АрдуиноИДЕ не "умничает" и е пытается мне "подсказать" , какую плату мне использовать.
Вопрос - можно ли в ВижуалМикро выключить автоматическое определение типа прошиваемой платы?
Драйвера поставлены
Но какие драйвера для устройства без VIDов и PIDов ?
Резистор стоял 10к , сейчас поставил 1к5 . ничего не изменилось.
Я так понимаю непрерывный блинк это если устройство опознано компом.
Сейчас провел экспермент. Всё не понятно. У меня несколько плат. Есть blue pill, есть JM electron c диодом на PA1 и резистором на D+ 1k. Писал разные загрузчики. Blue pill с загрузчиком generic_boot20_pc13.bin моргает как надо и определяется как maple DFU. JM electron с любым загрузчиком моргает 6 раз и гаснет, при этом определяется как ком порт и записать из ардуино в неё ничего нельзя. В blue pill пишутся программы из ардуино и USB порт работает как сериал, но только со старым ядром, которое не поддерживает куб. JM electron я не смог заставить работать с загрузчиком ардуино. C новым ядром и st-link ардуино работает с кубом в полном объеме после добавления в файл platform.txt (c:\Users\1\AppData\Local\Arduino15\packages\STM32\hardware\stm32\1.4.0\platform.txt) к параметру compiler.extra_flags строки "-DUSE_FULL_LL_DRIVER" , но новое ядро не поднимает USB как сериал порт. Печаль.
В blue pill пишутся программы из ардуино и USB порт работает как сериал, но только со старым ядром, которое не поддерживает куб.
спасибо за инфо, значит ядро обновлять не будем. Для меня Сериал важнее поддержки куба.
Я обновил некоторые библиотеки, входящие в пакет СТМ32дуино - вроде пока все работает :)
у меня три платы, после установки драйверов раз шесть пришлось передёрнуть чтобы снача мапл а потом ком порт встал или наоборот ))) уже не помню

Устанавливается компортом
В мапл они все на 2 секунды перекидываются при старте. Но загрузить программу за это время ардуино не успевает. А blue pill остается и в сериал не перекидывается.
Ядра с разных ресурсов:
В мапл они все на 2 секунды перекидываются при старте. Но загрузить программу за это время ардуино не успевает. А blue pill остается и в сериал не перекидывается.
не совсем понял, что имеется в виду. У меня штук шесть БлюПилл - все они определяются как МаплМини, при этом Ардуино Иде грузит скетчи без проблем и Сериал работает. Резисторы на USB не перепаивал - работет и так.
Единственное что заметил - при подключенном СериалМониторе плату нельзя перегружать, иначе она пропадает из системы и появляется снова только после физического отключения и обратного подключения USB-шнурка. Но если перед Ресетом предварительно закрыть СериалМонитор - то никаких проблем.
Это создает небольшие сложности при отладке, так как нет никкой возможности увидеть в Сериале сообщения сразу после загрузки платы.
Я про другие платы, не голубая таблетка. У меня их 4 разных на stm32F103. Только таблетка через stm32duino bootloader грузится. Остальные только через st-link. Но меня это не напрягает. Я stmку в других средах програмирую.
Я про другие платы, не голубая таблетка. У меня их 4 разных на stm32F103. Только таблетка через stm32duino bootloader грузится. Остальные только через st-link. Но меня это не напрягает. Я stmку в других средах програмирую.
Я правильно понимаю - куб умеет зашивать голубые платы?
Я правильно понимаю - куб умеет зашивать голубые платы?
конечно. Они же тоже СТМ32
Нет. Ардуина может скушать кубовую программу, если прграмму и ардуину немного подправить. Потом запрограмировать таблетку. Куб только генерит программу инициализации оборудования. Зашивать не умеет. Запуск и прерывания надо дописывать руками. Програмировать чип можно готовой прошивкой программой st-link через програматор.
не только так
Бинарник можно прошивать в плату как через St-Link, так и через TTL-USB переходник через пины PA9 PA10 - аналогично тому, как прошивается загрузчик для СТМ-дуино
А бинарник делаем так - Куб может генерить проект под маке, потом мэйком собираешь
Ну так куб зашивать не умеет, а только генерить программу, которая без доработки никогда не заработает? Я не знаю как в кубе сгенерить програму блинька без дописывания руками. Про мэйк знаю. Он тоже не умеет зашивать.
да я не спорю - я просто дополняю
Это создает небольшие сложности при отладке, так как нет никкой возможности увидеть в Сериале сообщения сразу после загрузки платы.
вставьте
И правильно и неправильно одновременно. :-)
1) STM32CubeMX зашивать не умеет, а только генерит программу.
2) STM32CubeProgrammer генерить не умеет, а зашивает за милую душу.
И то и другое нынче входит в состав куба. :-)
Киньте мне, пожалуйста какую-нибудь демопрошивку, чтобы без лишней обвески просто было какое-нибудь ЮСБ-устройство у которого нет заморочек с секундами.
Просто убедиться, что микруха рабочая
Ну если прописано в makefile , то умеет: Когда работал с библиотекой Lufa, то команда make atprogram компилила и сразу заливала скопилированную прошивку в мк.
Согласен. Именно это я имел в виду. Сам не умеет. Умеет вывзывать сторонние программы, которые прошьют. Это с любой средой так. При прошивке вызывается прошивальщик. Вопрос в том насколько дружественно к пользователю. В ардуино через st-link этот процесс вполне прозрачен и не требует никаких телодвижений со стороны пользователя.
А можно об этом поподробнее?
#6, #9
Киньте мне, пожалуйста какую-нибудь демопрошивку, чтобы без лишней обвески просто было какое-нибудь ЮСБ-устройство у которого нет заморочек с секундами.
Просто убедиться, что микруха рабочая
https://cloud.mail.ru/public/3ocV/PgYmeains
Прошивка голубой таблетки блинкает светодиодом С13 и выдает в сериал через USB циферки от 0 до 255 раз в секунду.
Спрошу здесь*
У всех так - при заливке через IDE в самый последний момент приходится нажимать кнопку сброс на плате, тогда шьётся
Спрошу здесь*
У всех так - при заливке через IDE в самый последний момент приходится нажимать кнопку сброс на плате, тогда шьётся
иногда так, иногда само сбрасывается. Закономерности не нашел, обычно 3-5 раз само шьется. потом столько же кнопку нажимаешь, потом снова само...
У всех так - при заливке через IDE в самый последний момент приходится нажимать кнопку сброс на плате, тогда шьётся
Тут нужно принять во внимание тот факт, что заливка возможна только когда в текущей загруженной программе корректно работает USB-CDC, т.е. не запрещены прерывания, не отключен сам USB CDC (который по дефолту включен) , не отключен таймер систик, и вообще всё работает и ничего не висит ) Если всё ок, то плата должна прошится без нажания на ресет. По крайней мере у меня 100% прошивается, при вышеперечисленных условиях.
По крайней мере у меня 100% прошивается, при вышеперечисленных условиях.
шью подряд один и тот же скетч - вроде как условия должны быть одинаковы. Но вполне может пару раз прошиться только с Ресетом, потом начать прошиваться само. Или наоборот