STM32F3 загружается только с отладчиком ST-Link
Я могу прошить STM32F3 моей пользовательской платы с помощью ST-Link v2 без проблем, и программа работает нормально (включает светодиод). Однако, если я выключаю питание, отключаю ST-Link, а затем снова включаю питание, программа, похоже, не запускается: светодиод выключен.
Контакт nRST поднимается до 3,3 В (внутреннее повышение), как только я включаю питание, и Boot0 остается на 0, как и должно (внешнее снижение). Осциллограф не показывает странного поведения ни на булавке при загрузке, ни после.
Еще один тест, который я провел, заключается в следующем: я запускаю программу с использованием ST-Link, затем отключаю ST-Link, не выключая питание. Программа продолжает работать нормально, нет ничего удивительного. Но затем, если я вручную ставлю nRST на землю, программа останавливается, и если я затем отпускаю ее, она снова поднимается до 3,3 В из-за подтягивания, и программа перезапускается и работает так же, как и раньше. Таким образом, проблема действительно заключается в том, что я включаю плату с нуля. FIY, я использую 5В от USB-подключения, чтобы получить 3,3В STM через регулятор напряжения. У меня также есть внешний кристалл для часов STM, который отлично работает в соответствии с осциллографом.
У кого-нибудь есть представление о том, в чем может быть проблема?
Спасибо.
1 ответ
Как оказалось, это была программная проблема! У меня отсутствовала строка в одном из кодов инициализации моего GPIO: я установил его как выходной, с опцией Pull down, но без установки его типа в Output-PushPull. Это должно быть перехвачено ASSERT, когда я настраиваю вывод и запускаю BP, но по какой-то причине, если нет, когда подключен отладчик. На самом деле это произошло один раз, именно так я и нашел ошибку. До сих пор остается загадкой, почему все прошло хорошо.
В любом случае, спасибо за ответы, теперь все работает нормально!