реклама на сайте
подробности

 
 
> "Залочил" STM32F051K8, DebugPort cannot wake up!
ivainc1789
сообщение Oct 12 2013, 14:12
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Изучал 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 но безуспешно.
Есть ли возможность стереть кристалл?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 9)
swisst
сообщение Oct 12 2013, 14:25
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 163
Регистрация: 16-02-07
Из: Харьков
Пользователь №: 25 425



Цитата(ivainc1789 @ Oct 12 2013, 17:12) *
Есть ли возможность стереть кристалл?


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

с стм не работал, но можете попробовать копнуть в этом направлении - ножками BOOT0, BOOT1 поиграйтесь - попробуйте загрузиться в ОЗУ...
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Oct 12 2013, 14:42
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Цитата(swisst @ Oct 12 2013, 18:25) *
ножками BOOT0, BOOT1 поиграйтесь - попробуйте загрузиться в ОЗУ...


Дело в том, что ноги эти у мну распаяны, а кристалл в корпусе qfn. Загрузка тока из flash.
Подумалось: нужно приконнектить дебаггер по SWD во время сброса - в IAR есть такая опция.
Далее пришла такая шальная мысль - просто удерживать RST пин в низком уровне и при этом запустить дебаггер.
Тока это как-то не сработало сразу, С-SPY не запустился. Однако с третьей попытки получилось, но впечатление что случайно.
Пока эту ситуацию не пойму, боюсь эксперементировать дальше.
Тем временем прога уже написана, осталось обернуть ее в сторожевик и stop mode...
Go to the top of the page
 
+Quote Post
smk
сообщение Oct 12 2013, 15:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



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


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post
ivainc1789
сообщение Oct 12 2013, 19:11
Сообщение #5


Профессионал
*****

Группа: Свой
Сообщений: 1 175
Регистрация: 5-01-05
Пользователь №: 1 807



Цитата(smk @ Oct 12 2013, 19:16) *
Держать ресет, думаю мысль дельная. В крайнем случае BOOT0 отрезать можно чтоб на плюс питания переключать?

BOOT0 под брюхом кристалла соединен с землей. Перепаивать не хотелось бы.
Способ, приведенный мной выше сработал и удалось стереть кристалл, но почему то с третьей попытки. Странно.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Oct 13 2013, 02:00
Сообщение #6


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (ivainc1789 @ Oct 13 2013, 04:11) *
BOOT0 под брюхом кристалла соединен с землей. Перепаивать не хотелось бы.
Способ, приведенный мной выше сработал и удалось стереть кристалл, но почему то с третьей попытки. Странно.

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


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
Falkon_99
сообщение Oct 14 2013, 18:44
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 169
Регистрация: 26-03-12
Из: Харьков
Пользователь №: 71 010



Плохой контакт был при первых 2-х попытках)
При удержании Reset в низком состоянии, и одновременном коннекте прогой "STM32 ST-LINK Utility" все получается с первого раза, проверено на STM32F100. Подключаемся спокойно, стираем кристал, и правим прошивку...
Сам разок залочил его, случайно отключил SWD от соответстующих пинов))))
Помог только этот способ, теперь не боюсь. Правда в начале программы int main() делаю обязательную задержку 100ms, тогда 200% работает
Go to the top of the page
 
+Quote Post
yanvasiij
сообщение Nov 13 2013, 16:46
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 321
Регистрация: 23-12-11
Из: Уфа
Пользователь №: 69 041



Выпаять кварц и стереть. Разумеется, если по умолчанию настроен на работу от внешнего кварца. Ну как вариант, возможно не такой простой как удерживание reset, но тоже работает.
Go to the top of the page
 
+Quote Post
uriy
сообщение Nov 14 2013, 05:16
Сообщение #9


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Я тоже лочил SWD и JTAG на STMF100 но по ресету подключиться никак не смог. Перепаивал вывод BOOT. Я их всегда через перемычки на топологии цепляю.
Go to the top of the page
 
+Quote Post
mstumbra
сообщение Nov 23 2013, 10:48
Сообщение #10


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 14-04-10
Пользователь №: 56 652



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

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

Сообщение отредактировал mstumbra - Nov 23 2013, 10:49
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 01:21
Рейтинг@Mail.ru


Страница сгенерированна за 0.01432 секунд с 7
ELECTRONIX ©2004-2016