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

 
 
 
Reply to this topicStart new topic
> STM32F105R PB3 PB4, не могу заставить работать
Пал
сообщение Jul 21 2011, 10:23
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Добрый день всем.... У STM32 две упомянутые ноги при сбросе принадлежат житагу и свд. Не могу никак забрать их программой для работы в качестве GPIO. Вроде делаю все как описано в RM0008 - записываю 100 (пробовал и 010) в SWJ _CFG в AFIO_MAPR. Не помогает. Кто делал - подскажите в чем трабл.... Заранее спасибо.
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 21 2011, 12:42
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Делал на STM32F100, всё работало. Не забудьте включить тактирование AFIO, GPIO.
Go to the top of the page
 
+Quote Post
Пал
сообщение Jul 21 2011, 16:32
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Можно показать КАК вы это делали...... ? Тактирование включено.... но не работает...
Go to the top of the page
 
+Quote Post
adnega
сообщение Jul 21 2011, 17:09
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702



Код
#define JTAG_SW_DP_NONE               ((u32)(4))
#define RCC_APB2ENR_AFIOEN        ((u32)(0))
#define AFIO_MAPR_SWJ_CFG        ((u32)(24))

    RCC->APB2ENR |=  (1 << RCC_APB2ENR_AFIOEN);
    AFIO->MAPR =  (JTAG_SW_DP_NONE << AFIO_MAPR_SWJ_CFG);
Go to the top of the page
 
+Quote Post
Пал
сообщение Jul 21 2011, 17:33
Сообщение #5


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Цитата(adnega @ Jul 22 2011, 00:09) *
Код
#define JTAG_SW_DP_NONE               ((u32)(4))
#define RCC_APB2ENR_AFIOEN        ((u32)(0))
#define AFIO_MAPR_SWJ_CFG        ((u32)(24))

    RCC->APB2ENR |=  (1 << RCC_APB2ENR_AFIOEN);
    AFIO->MAPR =  (JTAG_SW_DP_NONE << AFIO_MAPR_SWJ_CFG);



Это то понятно... а в каком месте проги это должно быть вставлено??? Никак не могу понять смысл следующего...

To use the serial wire DP to release some GPIOs, the user software must set
SWJ_CFG=010 just after reset. - сразу после сброса..... насколько сразу??? если вставить первой строчкой в майн??? не работает.

и еще....
To release the debug pins, remember that they will be first configured either in input-pull-up
(nTRST, TMS, TDI) or pull-down (TCK) or output tristate (TDO) for a certain duration after
reset until the instant when the user software releases the pins. --- мой английский нервно курит.... не понимаю...

О блин.... Заработало.... тока теперь другой трабл..... Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.
Go to the top of the page
 
+Quote Post
AHTOXA
сообщение Jul 21 2011, 17:43
Сообщение #6


фанат дивана
******

Группа: Свой
Сообщений: 3 387
Регистрация: 9-08-07
Из: Уфа
Пользователь №: 29 684



Цитата(Пал @ Jul 21 2011, 23:33) *
--- мой английский нервно курит.... не понимаю...

Имеется в виду, что при сбросе эти ноги сконфигурированы под JTAG. nTRST, TMS, TDI - входы, подтянуты к питанию, TCK - к земле, и т. д. И некоторое время после старта они будут в таком состоянии (пока вы их не сконфигурируете как надо). Это надо учитывать.

Цитата(Пал @ Jul 21 2011, 23:33) *
О блин.... Заработало.... тока теперь другой трабл..... Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.

Это да, засадаsm.gif Попробуйте закоротить кварц при включении.


--------------------
Если бы я знал, что такое электричество...
Go to the top of the page
 
+Quote Post
scifi
сообщение Jul 21 2011, 17:44
Сообщение #7


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(Пал @ Jul 21 2011, 21:33) *
To use the serial wire DP to release some GPIOs, the user software must set
SWJ_CFG=010 just after reset. - сразу после сброса..... насколько сразу??? если вставить первой строчкой в майн??? не работает.

Это не имеет значения.

Цитата(Пал @ Jul 21 2011, 21:33) *
To release the debug pins, remember that they will be first configured either in input-pull-up
(nTRST, TMS, TDI) or pull-down (TCK) or output tristate (TDO) for a certain duration after
reset until the instant when the user software releases the pins. --- мой английский нервно курит.... не понимаю...

Сказано, что эти пины по умолчанию сконфигурированы не в таком режиме, как остальные (floating input).

Цитата(Пал @ Jul 21 2011, 21:33) *
Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.

Как бы раньше надо было думать :-)
Можно сделать так, чтобы МК запускался в режиме загрузчика. Тогда соединится.
Go to the top of the page
 
+Quote Post
Пал
сообщение Jul 21 2011, 18:01
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 26
Регистрация: 3-12-08
Пользователь №: 42 171



Цитата(scifi @ Jul 22 2011, 00:44) *
Как бы раньше надо было думать :-)
Можно сделать так, чтобы МК запускался в режиме загрузчика. Тогда соединится.


Спасибо, помогло
Go to the top of the page
 
+Quote Post

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

 


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


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