PAL73 0 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба Добрый день всем.... У STM32 две упомянутые ноги при сбросе принадлежат житагу и свд. Не могу никак забрать их программой для работы в качестве GPIO. Вроде делаю все как описано в RM0008 - записываю 100 (пробовал и 010) в SWJ _CFG в AFIO_MAPR. Не помогает. Кто делал - подскажите в чем трабл.... Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба Делал на STM32F100, всё работало. Не забудьте включить тактирование AFIO, GPIO. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PAL73 0 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба Можно показать КАК вы это делали...... ? Тактирование включено.... но не работает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
adnega 11 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба #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); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PAL73 0 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба #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 18 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба --- мой английский нервно курит.... не понимаю... Имеется в виду, что при сбросе эти ноги сконфигурированы под JTAG. nTRST, TMS, TDI - входы, подтянуты к питанию, TCK - к земле, и т. д. И некоторое время после старта они будут в таком состоянии (пока вы их не сконфигурируете как надо). Это надо учитывать. О блин.... Заработало.... тока теперь другой трабл..... Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть. Это да, засада:) Попробуйте закоротить кварц при включении. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
scifi 1 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба 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). Житаг не коннектится с ядром..... Почему - вроде понятно..... Не понятно как бороть. Как бы раньше надо было думать :-) Можно сделать так, чтобы МК запускался в режиме загрузчика. Тогда соединится. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
PAL73 0 21 июля, 2011 Опубликовано 21 июля, 2011 · Жалоба Как бы раньше надо было думать :-) Можно сделать так, чтобы МК запускался в режиме загрузчика. Тогда соединится. Спасибо, помогло Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться