проблема отладки в ARM stm32f407

пока я использовал cubemx для настройки периферийных устройств моего ядра stm32f407, непосредственно перед генерацией кода я проверил и выбрал диалоговое окно «установить все свободные контакты как аналоговые (для оптимизации энергопотребления)» в настройках проекта -> генератор кода -> Настройки HAL без маскировки отладочных контактов (swdio и swclk). После этого я успешно загрузил простой мигающий код внутри микроконтроллера, используя keil ide. но теперь, когда я хочу использовать keil для удаления или загрузки кода, я вижу ошибку «Нет подключенной цели» на вкладке отладки и не могу загрузить какой-либо код. Как я могу решить эту проблему? Спасибо за вашу помощь.


person Alex Maxwell    schedule 03.08.2018    source источник
comment
Это ваш дизайн платы или стандартная плата и т. д.? должен быть способ изменить контакт boot0, часто это кнопка или перемычка. это приведет к альтернативному пути загрузки в их загрузчик, затем вы можете войти с swd, uart, usb или чего-то еще и попробовать еще раз.   -  person old_timer    schedule 03.08.2018
comment
Спасибо за Ваш ответ. да ты был прав. но я вроде как новичок в этой области, и я еще не знаю, как использовать uart и другие подобные средства. но в любом случае еще раз спасибо за уделенное время.   -  person Alex Maxwell    schedule 04.08.2018
comment
Подключение stlink при сбросе звучит специфично для отладчика, я бы не стал полагаться на него, вывод boot0 — это то, на что вы можете положиться, и это то, что вы должны использовать во всех своих проектах плат. Если на чипе, отличном от stm32, вы хотите создать что-то подобное в своей прошивке, обычно вас убивает инициализация часов, но если вы испортите gpio, то игра также может быть окончена. Конечно, есть эта новая проблема с курицей и яйцом, связанная с изучением gpio без уничтожения доступа к отладке / полевому программированию.   -  person old_timer    schedule 04.08.2018
comment
Некоторые конструкции AVR и другие чипы программируются в процессе перезагрузки, легко решая эту проблему. Поставщики ARM до сих пор имели тенденцию использовать загрузчики на основе программного обеспечения для рук или полагаться на swd, который не работает таким образом, а не на разработку логики. в основном они используют то, что пришло с ним, а не делают что-то новое, поэтому вам нужно защитить себя. Еще один способ сделать это: я всегда покупаю по крайней мере два новых для меня продукта, на случай, если я сразу закину один, я могу попытаться продолжить работу с другим, пока жду, когда появятся новые.   -  person old_timer    schedule 04.08.2018


Ответы (2)


Примерно через 10 часов поиска я нашел решение. если у кого-то была такая же проблема, вот решение:

https://electronics.stackexchange.com/questions/204996/stm32-st-link-cannot-connect-to-mcu-after-successful-programming

person Alex Maxwell    schedule 04.08.2018

Как дополнение к твоему ответу - когда ставишь все как аналог, выставляй в SYS правильный отладочный интерфейс. Это не позволит генератору кода установить эти контакты как аналоговые.

введите здесь описание изображения

person 0___________    schedule 04.08.2018