Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: STM32F105R PB3 PB4
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > ARM
Пал
Добрый день всем.... У STM32 две упомянутые ноги при сбросе принадлежат житагу и свд. Не могу никак забрать их программой для работы в качестве GPIO. Вроде делаю все как описано в RM0008 - записываю 100 (пробовал и 010) в SWJ _CFG в AFIO_MAPR. Не помогает. Кто делал - подскажите в чем трабл.... Заранее спасибо.
scifi
Делал на STM32F100, всё работало. Не забудьте включить тактирование AFIO, GPIO.
Пал
Можно показать КАК вы это делали...... ? Тактирование включено.... но не работает...
adnega
Код
#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);
Пал
Цитата(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. --- мой английский нервно курит.... не понимаю...

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

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

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

Это да, засадаsm.gif Попробуйте закоротить кварц при включении.
scifi
Цитата(Пал @ 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) *
Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.

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


Спасибо, помогло
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.