Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перестал шиться stm32 (SWD)
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
stm32f4
Сразу к делу, пару часов назад случайно в проекте допустил ошибку, изменил состояние регистра MODER порта A 13-той ноги на OUTPUT, а это одна из линий(SWDIO) интерфейса SWD !!!!!
[PHP] RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODER13_0;[/PHP]

Собственно теперь никак не могу ни стереть не прошить МК(STM32f405) (((((((
Я уже и через CooCox,Keil и даже STM32 ST-LINK Utility пробовал, не помогают((Контроллер живет своей жизнью!!!
Неужели из-за такой ерунды выбрасывать проц:-?
что делать?
HHIMERA
А стереть через загрузчик по UART... не???
nx6310
попробуй перед началом прошивки кварц закоротить. По идее из-за этого программа должна зависнуть на этапе инициализации тактовой частоты HSE и не успеет инициализировать порты.
demiurg_spb
Что за распайка SWD разъёма, NRST присутствует?
Genadi Zawidowski
При завешенном NRST стирание ERASE CHIP через SEGGER J-FLASH ARM по SWD не происходит. Проверил на STM32F101.
demiurg_spb
Цитата(Genadi Zawidowski @ Feb 28 2013, 18:51) *
А ели он не завешен, а управляется программатором?
Genadi Zawidowski
Не могу проверить. Вы думаете, программатор успеет снять ресет и перешить?
KRS
Цитата(Genadi Zawidowski @ Mar 1 2013, 00:56) *
Не могу проверить. Вы думаете, программатор успеет снять ресет и перешить?

SWD позволяет подцепиться когда проц находится в ресете и задать остановку на ресет векторе. После снятия ресета проц встанет до исполнения первой команды!
MiklPolikov
Надо сделать так :
1)Подтягиваете ногу NRST к земле, и пытаетесь шить по JTAG или SWD. Вылезает ошибка.
2)После этого отсоединяете NRST от земли, и снова шьёте. Должно начать шится.

drum1987
Используйте пин boot0 чтобы при включении питания проц пытался загрузится не с флеш а с usart... Потом цепляйте SWD и стирайте память контроллера. Мне помогло.
stm32f4
Огромное спасибо всем откликнувшимся)Вообщем помог танец с бубном))))Закоротил NRST на землю и пытался прошить, он долго не прошивался, в итоге после смены проекта- прошился, что на мой взгляд немного странно, т.к строки :
Цитата
RCC->AHB1ENR |= RCC_AHB1ENR_GPIOAEN;
GPIOA->MODER |= GPIO_MODER_MODER13_0;

я давно убрал!Ну и после очистки памяти изначальный проект заработал))))
Кстати в интернете нашел еще один 100 пудовый вариант: Просто подтянуть линию BOOT1 к единичке и подать питание. Контроллер войдет в bootloader, но при этом будет прекрасно прошиваться)
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.