Перейти к содержанию
    

"Залочил" STM32F051K8

Изучал low power режимы STM32F0 и нечаянно запустил такую вот main():

 

int main(void){
  // мигнуть светодиодом
  PINSET(LED);Delay(100*ms);PINCLR(LED);Delay(100*ms);

  // вход в режим STOP
  PWR_EnterSTOPMode(PWR_Regulator_ON,PWR_STOPEntry_WFE);

  // дальнейшая программа

}

 

Никаких событий на пробуждение не запрограммировано.

IAR IDE, J-link.

 

Теперь приконнектиться к данному процу невозможно. Он быстро мигает 1 раз светодиодом и отключает тактирование.

Пробовал "вклиниться" процедурой коннекта в паузу 100ms но безуспешно.

Есть ли возможность стереть кристалл?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть ли возможность стереть кристалл?

 

на LPC мне помог хи встроенный бутлоадер - пин подтянул куда-надо (в "0" в моем случае) и дальше отладчик чип подцепил.

 

с стм не работал, но можете попробовать копнуть в этом направлении - ножками BOOT0, BOOT1 поиграйтесь - попробуйте загрузиться в ОЗУ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ножками BOOT0, BOOT1 поиграйтесь - попробуйте загрузиться в ОЗУ...

 

Дело в том, что ноги эти у мну распаяны, а кристалл в корпусе qfn. Загрузка тока из flash.

Подумалось: нужно приконнектить дебаггер по SWD во время сброса - в IAR есть такая опция.

Далее пришла такая шальная мысль - просто удерживать RST пин в низком уровне и при этом запустить дебаггер.

Тока это как-то не сработало сразу, С-SPY не запустился. Однако с третьей попытки получилось, но впечатление что случайно.

Пока эту ситуацию не пойму, боюсь эксперементировать дальше.

Тем временем прога уже написана, осталось обернуть ее в сторожевик и stop mode...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Держать ресет, думаю мысль дельная. В крайнем случае BOOT0 отрезать можно чтоб на плюс питания переключать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Держать ресет, думаю мысль дельная. В крайнем случае BOOT0 отрезать можно чтоб на плюс питания переключать?

BOOT0 под брюхом кристалла соединен с землей. Перепаивать не хотелось бы.

Способ, приведенный мной выше сработал и удалось стереть кристалл, но почему то с третьей попытки. Странно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

BOOT0 под брюхом кристалла соединен с землей. Перепаивать не хотелось бы.

Способ, приведенный мной выше сработал и удалось стереть кристалл, но почему то с третьей попытки. Странно.

У меня есть стойкое мнение, что этот кристалл - сырой. В нём строенный бут запускается с n-ой попытки, и то, нужно ещё кучку условий соблюсти. По SWD работл в QFN, а в TQFP - не в какую. Тем не менее, я к нему приловчился. Даже программирую с первой попытки.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Плохой контакт был при первых 2-х попытках)

При удержании Reset в низком состоянии, и одновременном коннекте прогой "STM32 ST-LINK Utility" все получается с первого раза, проверено на STM32F100. Подключаемся спокойно, стираем кристал, и правим прошивку...

Сам разок залочил его, случайно отключил SWD от соответстующих пинов))))

Помог только этот способ, теперь не боюсь. Правда в начале программы int main() делаю обязательную задержку 100ms, тогда 200% работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выпаять кварц и стереть. Разумеется, если по умолчанию настроен на работу от внешнего кварца. Ну как вариант, возможно не такой простой как удерживание reset, но тоже работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тоже лочил SWD и JTAG на STMF100 но по ресету подключиться никак не смог. Перепаивал вывод BOOT. Я их всегда через перемычки на топологии цепляю.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На будущее в stm32 utility в настройках можно выбрать опцию connect during reset, тогда она сама программатором reset бросит в ноль и подключится

В IAR эта опция также присутствует

 

Тогда никакие задержки в начала main не нужны :rolleyes:

Изменено пользователем mstumbra

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...