Доброго времени. Длительное время искал ответ, но ничего не помогло. Пришли из китая несколько МК: stm32f407vgt6 и stm32f103cb6. Втупую подлючил второй к программатору, определился St-link utility верно. Также подключаю stm32f4 (сабж) ошибку даёт, мол цель не обнаружена, снижай частоту или конектись через ресет. Подключаю так: 3v3-11(Vdd), gnd-10(Vss), swclk-76(PA14), swdio-72(PA13). Подтяжка nrst к 3в3 - не помогло; Пробовал питать от внешнего источника 3в3 - не помогло; Смена режимов BOOT - не помогло; Чип не греется, с виду как новый. Что делать, друзья? сабжа у меня две штуки и такая шляпа с обоими, грешу на кривые руки, ибо все f1 определялись корректно. Маркировка "stm32f407vgt6 2 78499 VQ PHL 78 815 ST ARM"
Длительное время искал ответ, но ничего не помогло.
В течении этого длительного времени не приходило на ум открыть Datasheet и посмотреть как же оно там подключается по всем правилам? Конечно оно не заработает, там Voltage Regulator привязан к паре VCAP, на которые конденсаторы ставятся. И даже так не стартанет пока выводы аналогового питания не подключишь...
Точно не скажу за F407V, но на F429Z даже цифровое питание все внутри не соединено, а разбито на две группы, так что на всякий случай я бы прозвонил и тут...
даже цифровое питание все внутри не соединено, а разбито на две группы, так что на всякий случай я бы прозвонил и тут...
Огромное спасибо! Для будущих поколений: Подключение Vcap согласно таблице 21 не помогло. Прозвонка показала, что все контакты питания изолированы друг от друга. Судя по всему каждая пара Vdd/Vss подключается к Voltage regulator по отдельньсти и пары не связаны. Завтра вдумчиво посижу, об успехах напишу.
Точно, всё в соответствии с точкой на корпусе, я прозванивал несколько раз. Для перестраховки отсчитывал номера ног вручную, всё сходилось к одним и тем же контактам. Разве что точка не правильно проставлена. Я не впаиваю, у меня приспособа китайская: Спойлер
В левом нижнем углу точно мелкого ключа нет? Он должен быть под надписью ST, по крайней у всех моих STM32 и на фотках всяких дискавери именно так и второй фейковый круг большего размера тоже часто присутствует в противоположном углу.
Ура! Оно завелось! Спасибо, Reflector! Проблема оказалась в том, что точка на корпусе действительно символизировала не первую ножку чипа. Второй точки или чего-либо похожего на неё не нашёл. Посмотрел картинки в гугле и действительно, на других чипах есть две точки, большая и маленькая. Повернул чип на 180 градусов, прозвонил питание - сходится. Подключил цифровое питание, аналоговое и v_cap и всё завелось, скрин прилагаю.
На будущее: будьте предельно внимательны с китайскими поделками! Вопрос решён, ещё раз благодарю за помощь)
Прошу прощения, что пишу в уже существующую тему: моя проблема такая же, как у ТС, а описанное решение, вроде как, не помогает..
Итак: заказал плату из Китая, чип тот же самый (stm32f407vgt6). Проблема та же самая: st link не видит контроллер.
НО:
1. Контроллер, вроде как, работает. Изначально была залита тестовая прошивка, которая мигала светодиодом. Причем, если подключить только SWD, тестовая программа не стартует (светодиод не мигает). Стартует только в случае, если подать питание через USB (по схеме 5 вольт из USB преобразуются в 3.3 вольта, после чего этим напряжением запитывается чип).
2. Контроллер также может быть прошит через DFU. Для этого нужно подключить плату по USB к компьютеру, причем перед подключением подать высокий уровень на BOOT0. После этого в системе появляется устройство "STM Device in DFU Mode", после чего через специальную программу (STM32CubeProgrammer) возможно прошивать чип. Этот способ работает, удалось таким образом стереть тестовую прошивку (светодиод после этого перестал мигать).
3. Судя по схеме из пдф, чип запитан полностью.
Прикрепляю фотографию платы и пдф с принципиальной схемой. Больше информации по плате в этом гит репозитории.
1. Контроллер, вроде как, работает. Изначально была залита тестовая прошивка, которая мигала светодиодом. Причем, если подключить только SWD, тестовая программа не стартует (светодиод не мигает). Стартует только в случае, если подать питание через USB (по схеме 5 вольт из USB преобразуются в 3.3 вольта, после чего этим напряжением запитывается чип).
Подключить шнур USB, подключить SWD . STLink снова китай_огрызок?
Да, вот такой. Есть также плата с stm32f103c8t6, с ней работает без проблем.
Интересная особенность конкретно этого st link: изначально утилита от ST (в моем случае STM32CubeProgrammer) отказывалась работать с ним, объясняя это устаревшей прошивкой. Ни на что не надеясь, попробовал с помощью этой же утилиты обновить прошивку; на удивление, процесс прошел успешно, прошивка обновилась, утилита теперь работает с устройством. Внутри st link стоит какая-та stm'ка и немного обвязки.
Электроника наука о контактах. Для огрызка достаточно SWD, SWC и GND соединить с чипом и шей сколько влезет. Boot0 можно в режим DFU поставить, чтобы никакая внутренняя прошивка не отрубила SWD.
Для огрызка достаточно SWD, SWC и GND соединить с чипом и шей сколько влезет.
Вы же читали тему, правда?
Просто, ключевая мысль обсуждения выше заключается в том, что НЕ достаточно "SWD, SWC и GND соединить с чипом" а нужно также подключить "цифровое питание, аналоговое и v_cap" чтобы st link увидел контроллер.
Цитата:
Boot0 можно в режим DFU поставить
Пробовал входить в DFU (замыкая boot0 на 3.3 вольта перед подачей питания). Проблема сохраняется, st link не видит контроллер.
Цитата:
чтобы никакая внутренняя прошивка не отрубила SWD.
Внутренней прошивки нет, стер ее опять-таки с помощью DFU.
Цитата:
Электроника наука о контактах.
Не знаю, какой вывод сделать из этого.. Прозвонил контакты разъема SWD (SWCLK, SWDIO), они приходят на нужные ноги чипа. Что еще?
Прошу совета, что еще проверить. Чип вроде живой, запитан верно, SWD подключен корректно, но однако st link не видит контроллер.
Я то читал? А вы? Или только писали? Я вот прочитал, что плата покупная, мигалка на ней была зашита и работала. По DFU прошивается. Это значит что питание процессора подано правильно. Осталось только подключить три проводочка и прошить.
Даже если внутренняя прошивка отрубила SWD , можно через сброс соединиться. Попробуйте полностью стереть чип через УАРТ.
Уже стер чип, подключив его по DFU через USB. Будет ли разница, если сделать то же самое через UART?
Цитата:
Я то читал? А вы? Или только писали? Я вот прочитал, что плата покупная, мигалка на ней была зашита и работала. По DFU прошивается. Это значит что питание процессора подано правильно. Осталось только подключить три проводочка и прошить.
Окей, значит имеет место недопонимание с моей стороны Я подумал, что вы говорите, что в ОБЩЕМ случае "SWD, SWC и GND соединить с чипом и шей сколько влезет". Если ваши слова о конкретной плате, то ничего против не имею.
Цитата:
Для огрызка достаточно SWD, SWC и GND соединить с чипом и шей сколько влезет.
Тем не менее, шить сколько влезет не выходит В какую сторону копать?
Через ресет пробовали? ВООТ0 в рабочий режим , зажимаем на плате ресет - жмем в программе Connect - отпускаем ресет.
Ага, пробовал. Тоже не помогло.
Проверил также пины SWDIO и SWCLK таким образом: написал программу, которая инициализирует их как выходы и подает на них прямоугольный сигнал. После этого залил прошивку через DFU, проверил форму сигналов на выводах, все в порядке.. Так что, видимо, пины живые.
Сравнил также схему питания со схемой STM32F4DISCOVERY (отладочная плата от ST, в которой используется тот же чип; маловероятно, что в ее принципиальной схеме есть ошибки, поэтому имеет смысл с ней сравнивать). Вроде все совпадает, помимо того, что на моей плате VBAT висит в воздухе, но, думаю, это не критично..
Какая-то магия, в общем Грешу на частично мертвый чип, но может ли такое быть?..
Сейчас этот форум просматривают: AlanDrakes и гости: 12
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения