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

 
 
 
Reply to this topicStart new topic
> Не могу запрограммировать после установки низкого SysClock, STM32L MSI JTAG SWD
marco
сообщение Mar 11 2013, 23:00
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Здравствуйте.
Играюсь с низким потреблением (stm32l-discovery). Запрограммировал sysclock stm32l на тактирование от MSI в режиме 65.536 КГц. МК работает, но теперь программатор ругается, что не может достучаться до процессора.
Пробовал понижать клок у jtag/swd (st-link) - не помогает.
Go to the top of the page
 
+Quote Post
topkin
сообщение Mar 12 2013, 04:11
Сообщение #2


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

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(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 режимах?
Go to the top of the page
 
+Quote Post
drum1987
сообщение Mar 12 2013, 04:55
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 255
Регистрация: 3-02-09
Из: Омск
Пользователь №: 44 323



Универсальное решение в таком случае: сменить boot mode для загрузки не из flash а с usarta... тогда ваша прога стартовать не будет и соответственно частота sysclk не станет маленькой...ноги BOOT0 = 1 и BOOT1 = 0 жмем RESET и можем стереть flash контроллера, а потом уже шить нормальную программу в контроллер.
Go to the top of the page
 
+Quote Post
marco
сообщение Mar 12 2013, 06:51
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Цитата(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 контроллера, а потом уже шить нормальную программу в контроллер.

Спасибо. Попробую.
Go to the top of the page
 
+Quote Post
topkin
сообщение Mar 12 2013, 09:59
Сообщение #5


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

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



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


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


Тут я вам не подскажу что и каких версий сейчас. Можете на этапе отладки ставить задержку секунд 5 перед уходом контроллера в низкопотребляющий режим или сразу после входа в основную программу, мне так было проще всего. Как раз успеете стереть флеш утилитой
Go to the top of the page
 
+Quote Post
marco
сообщение Mar 12 2013, 13:51
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



Помог способ, описанный drum1987.
Быстрый howto для stm32l-discovery (для других discovery, думаю, подойдёт - нужно проверить номинал резистора между BOOT0 и землёй):
- соединяем пин BOOT0 (выведен на правый ряд пинов) с +3В;
- жмём резет;
- отсоединяем +3В;
- программируем;
- reset;
- ...;
- PROFIT!

Сообщение отредактировал marco - Mar 13 2013, 08:43
Go to the top of the page
 
+Quote Post
ViKo
сообщение Mar 12 2013, 17:48
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(marco @ Mar 12 2013, 16:51) *
- жмём резет;
- программируем;

А не пробовали при нажатом Сбросе запустить программирование?
Go to the top of the page
 
+Quote Post
marco
сообщение Mar 13 2013, 08:34
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 48
Регистрация: 12-12-10
Пользователь №: 61 580



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

Нельзя программить, пока МК находится в ресете. Почему, не знаю.
Go to the top of the page
 
+Quote Post
kan35
сообщение Mar 13 2013, 09:33
Сообщение #9


Знающий
****

Группа: Участник
Сообщений: 537
Регистрация: 22-02-06
Пользователь №: 14 594



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

Недавно подобная проблема на форуме обсуждалась, помогло BOOT0:BOOT1 сконфигурировать на загрузку с SRAM - там кода не будет, зато flash будет доступна и ядро тактироваться будет на дефолтной частоте
Go to the top of the page
 
+Quote Post
Budek
сообщение Mar 17 2013, 17:40
Сообщение #10


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

Группа: Свой
Сообщений: 132
Регистрация: 17-02-08
Из: Уфа
Пользователь №: 35 116



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


Не раз уже случалось подобное... Держим сброс, нажимаем в st-link utility, например, Target-Connect и как только прога начинает "стучаться" в микроконтроллер - отпускаем сброс.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th August 2025 - 12:48
Рейтинг@Mail.ru


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