marco 0 11 марта, 2013 Опубликовано 11 марта, 2013 · Жалоба Здравствуйте. Играюсь с низким потреблением (stm32l-discovery). Запрограммировал sysclock stm32l на тактирование от MSI в режиме 65.536 КГц. МК работает, но теперь программатор ругается, что не может достучаться до процессора. Пробовал понижать клок у jtag/swd (st-link) - не помогает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topkin 0 12 марта, 2013 Опубликовано 12 марта, 2013 · Жалоба Здравствуйте. Играюсь с низким потреблением (stm32l-discovery). Запрограммировал sysclock stm32l на тактирование от MSI в режиме 65.536 КГц. МК работает, но теперь программатор ругается, что не может достучаться до процессора. Пробовал понижать клок у jtag/swd (st-link) - не помогает. В свое время тоже попадал на это, года полтора назад. Писал в саппорт ST, мне пришел ответ что в той версии ST-Link не реализована функция работы отладчика на низких частотах, как то так, точно не помню уже - функция автоподстройки частоты. На тот момент такое поддерживал только 1 программатор, j-Link или u-Link, тоже уже не помню, мне и посоветовали его использовать. Притом сообщили что в новых версиях ST-Link данная фича будет исправлена. Это видимо новый ST-link, который появился в прошлом году, во всяком случае дизайн там новый :) Зачем вам отладка в low power режимах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
drum1987 0 12 марта, 2013 Опубликовано 12 марта, 2013 · Жалоба Универсальное решение в таком случае: сменить boot mode для загрузки не из flash а с usarta... тогда ваша прога стартовать не будет и соответственно частота sysclk не станет маленькой...ноги BOOT0 = 1 и BOOT1 = 0 жмем RESET и можем стереть flash контроллера, а потом уже шить нормальную программу в контроллер. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
marco 0 12 марта, 2013 Опубликовано 12 марта, 2013 · Жалоба В свое время тоже попадал на это, года полтора назад. Писал в саппорт ST, мне пришел ответ что в той версии ST-Link не реализована функция работы отладчика на низких частотах, как то так, точно не помню уже - функция автоподстройки частоты. На тот момент такое поддерживал только 1 программатор, j-Link или u-Link, тоже уже не помню, мне и посоветовали его использовать. Притом сообщили что в новых версиях ST-Link данная фича будет исправлена. Это видимо новый ST-link, который появился в прошлом году, во всяком случае дизайн там новый :) Зачем вам отладка в low power режимах? По-моему, в stm32l-discovery стоит st-link/v2. Мне отладка не нужна - теперь я не могу даже запрограммировать МК. Универсальное решение в таком случае: сменить boot mode для загрузки не из flash а с usarta... тогда ваша прога стартовать не будет и соответственно частота sysclk не станет маленькой...ноги BOOT0 = 1 и BOOT1 = 0 жмем RESET и можем стереть flash контроллера, а потом уже шить нормальную программу в контроллер. Спасибо. Попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topkin 0 12 марта, 2013 Опубликовано 12 марта, 2013 · Жалоба По-моему, в stm32l-discovery стоит st-link/v2. Мне отладка не нужна - теперь я не могу даже запрограммировать МК. Спасибо. Попробую. Тут я вам не подскажу что и каких версий сейчас. Можете на этапе отладки ставить задержку секунд 5 перед уходом контроллера в низкопотребляющий режим или сразу после входа в основную программу, мне так было проще всего. Как раз успеете стереть флеш утилитой Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
marco 0 12 марта, 2013 Опубликовано 12 марта, 2013 (изменено) · Жалоба Помог способ, описанный drum1987. Быстрый howto для stm32l-discovery (для других discovery, думаю, подойдёт - нужно проверить номинал резистора между BOOT0 и землёй): - соединяем пин BOOT0 (выведен на правый ряд пинов) с +3В; - жмём резет; - отсоединяем +3В; - программируем; - reset; - ...; - PROFIT! Изменено 13 марта, 2013 пользователем marco Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 12 марта, 2013 Опубликовано 12 марта, 2013 · Жалоба - жмём резет; - программируем; А не пробовали при нажатом Сбросе запустить программирование? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
marco 0 13 марта, 2013 Опубликовано 13 марта, 2013 · Жалоба А не пробовали при нажатом Сбросе запустить программирование? Нельзя программить, пока МК находится в ресете. Почему, не знаю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kan35 7 13 марта, 2013 Опубликовано 13 марта, 2013 · Жалоба Нельзя программить, пока МК находится в ресете. Почему, не знаю. Недавно подобная проблема на форуме обсуждалась, помогло BOOT0:BOOT1 сконфигурировать на загрузку с SRAM - там кода не будет, зато flash будет доступна и ядро тактироваться будет на дефолтной частоте Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Budek 0 17 марта, 2013 Опубликовано 17 марта, 2013 · Жалоба Нельзя программить, пока МК находится в ресете. Почему, не знаю. Не раз уже случалось подобное... Держим сброс, нажимаем в st-link utility, например, Target-Connect и как только прога начинает "стучаться" в микроконтроллер - отпускаем сброс. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться