Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Не могу запрограммировать после установки низкого SysClock
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
marco
Здравствуйте.
Играюсь с низким потреблением (stm32l-discovery). Запрограммировал sysclock stm32l на тактирование от MSI в режиме 65.536 КГц. МК работает, но теперь программатор ругается, что не может достучаться до процессора.
Пробовал понижать клок у jtag/swd (st-link) - не помогает.
topkin
Цитата(marco @ Mar 12 2013, 03:00) *
Здравствуйте.
Играюсь с низким потреблением (stm32l-discovery). Запрограммировал sysclock stm32l на тактирование от MSI в режиме 65.536 КГц. МК работает, но теперь программатор ругается, что не может достучаться до процессора.
Пробовал понижать клок у jtag/swd (st-link) - не помогает.


В свое время тоже попадал на это, года полтора назад. Писал в саппорт ST, мне пришел ответ что в той версии ST-Link не реализована функция работы отладчика на низких частотах, как то так, точно не помню уже - функция автоподстройки частоты. На тот момент такое поддерживал только 1 программатор, j-Link или u-Link, тоже уже не помню, мне и посоветовали его использовать. Притом сообщили что в новых версиях ST-Link данная фича будет исправлена. Это видимо новый ST-link, который появился в прошлом году, во всяком случае дизайн там новый sm.gif
Зачем вам отладка в low power режимах?
drum1987
Универсальное решение в таком случае: сменить boot mode для загрузки не из flash а с usarta... тогда ваша прога стартовать не будет и соответственно частота sysclk не станет маленькой...ноги BOOT0 = 1 и BOOT1 = 0 жмем RESET и можем стереть flash контроллера, а потом уже шить нормальную программу в контроллер.
marco
Цитата(topkin @ Mar 12 2013, 08:11) *
В свое время тоже попадал на это, года полтора назад. Писал в саппорт ST, мне пришел ответ что в той версии ST-Link не реализована функция работы отладчика на низких частотах, как то так, точно не помню уже - функция автоподстройки частоты. На тот момент такое поддерживал только 1 программатор, j-Link или u-Link, тоже уже не помню, мне и посоветовали его использовать. Притом сообщили что в новых версиях ST-Link данная фича будет исправлена. Это видимо новый ST-link, который появился в прошлом году, во всяком случае дизайн там новый sm.gif
Зачем вам отладка в low power режимах?

По-моему, в stm32l-discovery стоит st-link/v2. Мне отладка не нужна - теперь я не могу даже запрограммировать МК.

Цитата(drum1987 @ Mar 12 2013, 08:55) *
Универсальное решение в таком случае: сменить boot mode для загрузки не из flash а с usarta... тогда ваша прога стартовать не будет и соответственно частота sysclk не станет маленькой...ноги BOOT0 = 1 и BOOT1 = 0 жмем RESET и можем стереть flash контроллера, а потом уже шить нормальную программу в контроллер.

Спасибо. Попробую.
topkin
Цитата(marco @ Mar 12 2013, 10:51) *
По-моему, в stm32l-discovery стоит st-link/v2. Мне отладка не нужна - теперь я не могу даже запрограммировать МК.


Спасибо. Попробую.


Тут я вам не подскажу что и каких версий сейчас. Можете на этапе отладки ставить задержку секунд 5 перед уходом контроллера в низкопотребляющий режим или сразу после входа в основную программу, мне так было проще всего. Как раз успеете стереть флеш утилитой
marco
Помог способ, описанный drum1987.
Быстрый howto для stm32l-discovery (для других discovery, думаю, подойдёт - нужно проверить номинал резистора между BOOT0 и землёй):
- соединяем пин BOOT0 (выведен на правый ряд пинов) с +3В;
- жмём резет;
- отсоединяем +3В;
- программируем;
- reset;
- ...;
- PROFIT!
ViKo
Цитата(marco @ Mar 12 2013, 16:51) *
- жмём резет;
- программируем;

А не пробовали при нажатом Сбросе запустить программирование?
marco
Цитата(ViKo @ Mar 12 2013, 21:48) *
А не пробовали при нажатом Сбросе запустить программирование?

Нельзя программить, пока МК находится в ресете. Почему, не знаю.
kan35
Цитата(marco @ Mar 13 2013, 12:34) *
Нельзя программить, пока МК находится в ресете. Почему, не знаю.

Недавно подобная проблема на форуме обсуждалась, помогло BOOT0:BOOT1 сконфигурировать на загрузку с SRAM - там кода не будет, зато flash будет доступна и ядро тактироваться будет на дефолтной частоте
Budek
Цитата(marco @ Mar 13 2013, 14:34) *
Нельзя программить, пока МК находится в ресете. Почему, не знаю.


Не раз уже случалось подобное... Держим сброс, нажимаем в st-link utility, например, Target-Connect и как только прога начинает "стучаться" в микроконтроллер - отпускаем сброс.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.