Перейти к содержанию

    

STM32F105R PB3 PB4

Добрый день всем.... У STM32 две упомянутые ноги при сбросе принадлежат житагу и свд. Не могу никак забрать их программой для работы в качестве GPIO. Вроде делаю все как описано в RM0008 - записываю 100 (пробовал и 010) в SWJ _CFG в AFIO_MAPR. Не помогает. Кто делал - подскажите в чем трабл.... Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Делал на STM32F100, всё работало. Не забудьте включить тактирование AFIO, GPIO.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно показать КАК вы это делали...... ? Тактирование включено.... но не работает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#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);

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
#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. --- мой английский нервно курит.... не понимаю...

 

О блин.... Заработало.... тока теперь другой трабл..... Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
--- мой английский нервно курит.... не понимаю...

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

 

О блин.... Заработало.... тока теперь другой трабл..... Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
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. --- мой английский нервно курит.... не понимаю...

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

 

Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть.

Как бы раньше надо было думать :-)

Можно сделать так, чтобы МК запускался в режиме загрузчика. Тогда соединится.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Как бы раньше надо было думать :-)

Можно сделать так, чтобы МК запускался в режиме загрузчика. Тогда соединится.

 

Спасибо, помогло

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация