[Решенные] Проблемы с пользовательской платой с STM32GENERIERC BOOTLOULDER

Примат
Солнце 20 сентября 2015 11:46
Я сделал пользовательскую доску для целей разработки для более крупного проекта, который я планирую. В основном я клонировал Maple Mini, но использовал STM32F103C8 вместо CB, потому что я получил сделку и не понадобится дополнительное пространство. У меня есть кнопка, и я привел одинаковую. Кнопку на загрузке0 и PB8, вытянутая с помощью кнопки на высокую. Светодиод PB1 и приезжает на высоком уровне. Первоначально я собирался положить все аппаратное обеспечение USB, которое находится на Mini, но я увидел загрузчика STM32Duino, и я хотел поиграть и использовать это вместо этого. Меньшее Бом = счастливее меня. Там не было никакого варианта, скомпилированного с светодиодными и кнопками, поэтому я сделал свой собственный и составил его. Для USB у меня есть встроенный резистор 22 Ом на каждой линии (D+, D-) и 1.5K подтягивание на D+.

По какой -то причине, когда я попытался прошить доску с помощью загрузчика Python STM32, согласно инструкциям на веб -сайте Leaflabs, светодиод не работал, хотя он сказал, что он успешно его вспыхнул. Ничего не сработало. Когда я подключил его к своему ноутбуку Windows 10 через USB, он не распознал устройство (да, оба драйвера установлены и протестированы с помощью Maple Mini). В устройстве USB говорится «Неизвестное USB -устройства (недопустимый дескриптор устройства)» в диспетчере устройств.

Наконец, я попытался загрузить загрузчик, используя STM32Loader.EXE PER ИНСТРУКЦИИ ПО ГИТУБ Вики, и теперь светодиод ведет себя должным образом. Быстрые миганы, за которыми следуют более медленные мигание и продолжают мигать. Тем не менее, я продолжаю получать USB -устройство, не распознаваемое и «неизвестное USB -устройство (недопустимый дескриптор устройства)» в диспетчере устройств, независимо от того, что я делаю.

Итак, теперь я пытаюсь найти проблему. У меня нет масштаба, я просто любитель. Я проверил свой дизайн, и он похож на Maple Mini, за исключением изменений, упомянутых выше, и я использовал один LDO как для аналоговой, так и для цифровой энергии. Все припоя выглядят хорошо, у меня много опыта. Я потратил немного больше времени на паяток IC STM32, потому что у этих чипсов есть такой маленький шаг, его трудно вручную припоять, но я не думаю, что я был на них до длинного.

У кого -нибудь есть идеи, или, может быть, предложение о том, что попробовать?

Mrburnette
Пн 21 сентября 2015 г. 2:26
Возьмите показания напряжения постоянного тока и сравните свою плату с Maple Mini: два теста, один после питания и один в режиме загрузчика.

Надеюсь, что -то появится в сравнениях.

Луча

Примат
Пн 21 сентября 2015 г., 4:19
Спасибо, Mrburnette, я попробую завтра это завтра. Уже поздно, и я устал возиться с этим сегодня вечером.

Обновление, хотя. Я могу успешно загрузить эскизы на доску через сериал, используя Arduino. Все, что я пробовал, работает отлично, поэтому я менее подозреваю проблему власти. Однако сначала загрузки были хитрыми. Они отлично работают, если я вручную проводят Boot0 до 3V3 и переключаю на землю на землю. Так что я предполагаю, что мои кнопки могут работать правильно или у них есть холодные припоры. Когда я спроектировал кнопку в Eagle Cad, я не оставил много места для ручной пайки, и я мог бы получить плохую припой. Я переработаю их завтра. Тем не менее, даже вручную переключать булавки, даже если получить 100% успешную серийную скорость загрузки с Arduino и STM32Flash.exe, я не могу заставить загрузчика работать даже после многочисленных перепрошивок с помощью этого метода.

Я заметил еще одну вещь. Когда я попытался запустить эскиз с ШИМ на не -ШИМ -штифте с внешним светодиодом (аварией), эскиз не начался немедленно. При сбросе он вел себя точно так же, как и в то, что я думал, был загрузчиком. Встроенный светодиод быстро мигает. Теперь я начинаю думать, что это какая -то ошибка, и загрузчик никогда не был инициализируется.

Я заметил, что, по моему мнению, может быть частью, если не вся проблема. Когда я запускаю STM32Flash.Exe для загрузки загрузчика, он сообщает о вспышке 128 КБ, когда C8 имеет 64 КБ. Это может быть не проблема, но это первое, что я нашел. Я собираюсь перепроверить все свои конфигурации и завтра перекомпилировать загрузчик и посмотреть, смогу ли я найти что -нибудь еще.

Примечание
По какой -то причине я предположил, что общие платы STM32F103C имели ту же карту штифтов, что и Maple Mini, поскольку они основаны на Maple Mini и используют тот же IC. Они не ха -ха. Мне было интересно, почему мои светодиоды не работали, но сериал был. Быстрый для петли, переключая каждую булавку и сообщающий о переключении булавки, сказал мне, что они быстро разные. Я переписал свой собственный вариант на основе общего F103C, но с Maple Mini Pinmap. Решил проблему. Я мог бы сделать графику PINMAP, чтобы добавить в GitHub Readme или Wiki, когда я решаю это, чтобы другие не сталкивались с одной и той же проблемой.

Эниф
Пн 21 сентября 2015 г., 4:42
Что касается вашего бокового примечания: я также столкнулся с той же проблемой с разницей в нумерации PIN -кода между Maple Mini и (общей) синей таблеткой, см здесь.

victor_pv
Пн 21 сентября 2015 г., 4:59
Windows покажет неизвестное USB -устройство, если порт USB платы не работает по какой -либо причине.
Может быть перечисление, может быть неправильной скоростью на периферийном устройстве USB, может быть что -то не так в коде...

Я бы проверил, что ваш мультиметр измеряет ровно 22 Ом от контактов разъема USB до соответствующих выводов MCU, и не измеряйте короткие с VCC или GND.
И на D+ проверьте, что вы измеряете 1.5K до VCC.

Убедитесь, что вы подключаете правильные выводы MCU для D- и D+, возможно, в какой-то момент вы дизайн подключили контакты MCU.
Вы используете xtal 8 МГц? Если нет, вам нужно внести изменения в свой множитель PLL, чтобы убедиться, что вы запустите MCU на уровне 72 МГц, в противном случае периферийное устройство USB не будет работать. Он также может работать с основными часами 48 МГц, но вам нужно изменить USB -разделитель в коде и в коде. Это единственные 2 допустимых скорости для периферийного устройства USB, чтобы получить правильные часы.

Я не помню, работает ли загрузчик по умолчанию с активным или активным кнопкой с активной или активной. Проверьте, что показывает мини -схема, что есть в Mini, это дефолт. Это можно изменить, я сделал это для некоторых досок, у которых были кнопки противоположным образом.

Кроме того, я собрал один или 2 раза с GCC 4.9, и загрузчик не работал. Я никогда не изучал это и просто скомпилирован с 4.8.3 и это сработало нормально.

Чтобы отказаться от любых ошибок компиляции, я бы загрузил один из составленных загрузчиков для общих плат из репо Роджера. Мы изменили загрузчик, чтобы включить внутреннее вытягивание или вытянуть для кнопки, поэтому, если штифт остается плавающим, он будет считывать кнопку, не нажатую, так что вы можете использовать загрузчик, скомпилированный для кнопки в другом штифте и оставить штифт плавание, и загрузчик должен работать нормально. И специально следует обнаружить Windows, независимо от того, что с кнопкой.
Кстати, вы установили и протестировали свои кленовые драйверы с правой кленовой доской? Просто чтобы подтвердить, что водители действительно работают и загружаются правильно.

Наконец, около 128 КБ, это хорошее бесплатное обновление предоставлено ST. Весь C8, который мы проверили до сих пор, были 128 КБ в реальности, наслаждайтесь ;)

Примат
Пн 21 сентября 2015 11:25
victor_pv написал: Кроме того, я собрал один или 2 раза с GCC 4.9, и загрузчик не работал. Я никогда не изучал это и просто скомпилирован с 4.8.3 и это сработало нормально.

Примат
Вторник 22 сентября 2015 г. 3:38
ОБНОВЛЯТЬ:
Я пытался скомпилировать Windows, но в файле Make есть флаги, такие как RM, и то, что продолжало бросать ошибки. У меня установлен Winavr для команды Make, но она все еще не сработала. Итак, я установил GCC-Arm-None-Eabi 4.8 в Cygwin, используя инструкции здесь http: // andybrown.мне.Великобритания/2015/03/22/STM32DEV-Windows/ На втором шаге. Затем я смог скомпилировать свой новый вариант загрузчика. Я загрузил его на обе доски, которые припаял, и сейчас это работает безупречно. Спасибо всем за всю вашу помощь. Я новичок в Arm и STM32, и я многому научился за последние 3 дня, когда он возился с этим.

Вот фотография моих новых, полностью рабочих досок.
Изображение

Mrburnette
Чт 24 сентября 2015 г. 15:25
Хороший дизайн, примат..

Достопримечательности меньше, чем клон Maple Mini? Или есть ли физические атрибуты вашей доски, которые переместили вас в пользовательские доски? Может немного меньше? Трудно сказать по пиксу. Конечно, я понимаю желание просто сделать это, потому что можно : D

Луча

Примат
Чт 24 сентября 2015 г., 17:03
Mrburnette написал:Хороший дизайн, примат..

Достопримечательности меньше, чем клон Maple Mini? Или есть ли физические атрибуты вашей доски, которые переместили вас в пользовательские доски? Может немного меньше? Трудно сказать по пиксу. Конечно, я понимаю желание просто сделать это, потому что можно : D

Луча

Мадиас
Чт 24 сентября 2015 г., 18:38
Хорошо, вы построили минималистский мини - :)
Как я вижу на ваших фотографиях, вы используете очень пайку на SMD. Вы когда -нибудь пробовали что -то подобное? ---> http: // www.aliexpress.com/item/hk-mecha ... 59211.HTML
Поскольку я использую это для SMD, я больше не буду пропустить! Просто немного (!) вставьте каждый контакт на пустую печатную плату, поместите компонент, припаяйте, готово! Даже 64-контактный STM32 припаян в течение одной минуты.

Примат
Чт 24 сентября 2015 г., 21:24
Мадиас написал:Хорошо, вы построили минималистский мини - :)
Как я вижу на ваших фотографиях, вы используете очень пайку на SMD. Вы когда -нибудь пробовали что -то подобное? ---> http: // www.aliexpress.com/item/hk-mecha ... 59211.HTML
Поскольку я использую это для SMD, я больше не буду пропустить! Просто немного (!) вставьте каждый контакт на пустую печатную плату, поместите компонент, припаяйте, готово! Даже 64-контактный STM32 припаян в течение одной минуты.

Ахулл
Чт 24 сентября 2015 г., 22:03
Я могу проверить это "Механик XG-50 паяная пая" ака MCN-300 паяная пая работает как очарование. Даже такой даффер, как я, может припаять очень маленькие вещи. Хитрость заключается в том, чтобы использовать довольно крошечную сумму, экспериментируйте, и вы скоро обнаружите, что сможете судить об этом. Также получите лидерство/олово, если только вам не нужно использовать свободные от свинца, так как это намного лучше (избегайте паров и не лизите пальцами, и все будет в порядке).

Хороший увеличитель, «механик» паяная пая и очень тонкий кончик на вашем железе (или карандаш с горячим воздухом), и любой может быть пайком ниндзя : D

Mrburnette
Пт. 25 сентября 2015 г. 14:47
Примат писал: <...>
Тем не менее, основная причина, по которой я построил, заключается в том, что я собираюсь строить более продвинутые доски со встроенными экранами TFT, Wi -Fi, SD -картами, модемами 3G и тому подобным, и я хотел убедиться, что мой более минимальный дизайн сработал, что Мои компоненты, которые я выбрал, работали, чтобы я мог заставить загрузчик работать над этим минимальным USB -оборудованием, а также получить общее понимание компонентов и загрузчика.