ivainc1789 0 12 октября, 2013 Опубликовано 12 октября, 2013 · Жалоба Изучал 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 но безуспешно. Есть ли возможность стереть кристалл? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
swisst 0 12 октября, 2013 Опубликовано 12 октября, 2013 · Жалоба Есть ли возможность стереть кристалл? на LPC мне помог хи встроенный бутлоадер - пин подтянул куда-надо (в "0" в моем случае) и дальше отладчик чип подцепил. с стм не работал, но можете попробовать копнуть в этом направлении - ножками BOOT0, BOOT1 поиграйтесь - попробуйте загрузиться в ОЗУ... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivainc1789 0 12 октября, 2013 Опубликовано 12 октября, 2013 · Жалоба ножками BOOT0, BOOT1 поиграйтесь - попробуйте загрузиться в ОЗУ... Дело в том, что ноги эти у мну распаяны, а кристалл в корпусе qfn. Загрузка тока из flash. Подумалось: нужно приконнектить дебаггер по SWD во время сброса - в IAR есть такая опция. Далее пришла такая шальная мысль - просто удерживать RST пин в низком уровне и при этом запустить дебаггер. Тока это как-то не сработало сразу, С-SPY не запустился. Однако с третьей попытки получилось, но впечатление что случайно. Пока эту ситуацию не пойму, боюсь эксперементировать дальше. Тем временем прога уже написана, осталось обернуть ее в сторожевик и stop mode... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 12 октября, 2013 Опубликовано 12 октября, 2013 · Жалоба Держать ресет, думаю мысль дельная. В крайнем случае BOOT0 отрезать можно чтоб на плюс питания переключать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ivainc1789 0 12 октября, 2013 Опубликовано 12 октября, 2013 · Жалоба Держать ресет, думаю мысль дельная. В крайнем случае BOOT0 отрезать можно чтоб на плюс питания переключать? BOOT0 под брюхом кристалла соединен с землей. Перепаивать не хотелось бы. Способ, приведенный мной выше сработал и удалось стереть кристалл, но почему то с третьей попытки. Странно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 13 октября, 2013 Опубликовано 13 октября, 2013 · Жалоба BOOT0 под брюхом кристалла соединен с землей. Перепаивать не хотелось бы. Способ, приведенный мной выше сработал и удалось стереть кристалл, но почему то с третьей попытки. Странно. У меня есть стойкое мнение, что этот кристалл - сырой. В нём строенный бут запускается с n-ой попытки, и то, нужно ещё кучку условий соблюсти. По SWD работл в QFN, а в TQFP - не в какую. Тем не менее, я к нему приловчился. Даже программирую с первой попытки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Falkon_99 0 14 октября, 2013 Опубликовано 14 октября, 2013 · Жалоба Плохой контакт был при первых 2-х попытках) При удержании Reset в низком состоянии, и одновременном коннекте прогой "STM32 ST-LINK Utility" все получается с первого раза, проверено на STM32F100. Подключаемся спокойно, стираем кристал, и правим прошивку... Сам разок залочил его, случайно отключил SWD от соответстующих пинов)))) Помог только этот способ, теперь не боюсь. Правда в начале программы int main() делаю обязательную задержку 100ms, тогда 200% работает Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yanvasilij 0 13 ноября, 2013 Опубликовано 13 ноября, 2013 · Жалоба Выпаять кварц и стереть. Разумеется, если по умолчанию настроен на работу от внешнего кварца. Ну как вариант, возможно не такой простой как удерживание reset, но тоже работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
uriy 5 14 ноября, 2013 Опубликовано 14 ноября, 2013 · Жалоба Я тоже лочил SWD и JTAG на STMF100 но по ресету подключиться никак не смог. Перепаивал вывод BOOT. Я их всегда через перемычки на топологии цепляю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mstumbra 0 23 ноября, 2013 Опубликовано 23 ноября, 2013 (изменено) · Жалоба На будущее в stm32 utility в настройках можно выбрать опцию connect during reset, тогда она сама программатором reset бросит в ноль и подключится В IAR эта опция также присутствует Тогда никакие задержки в начала main не нужны :rolleyes: Изменено 23 ноября, 2013 пользователем mstumbra Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться