Easyelectronics.ru

Электроника для всех
Текущее время: 28 сен 2020, 04:48

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как отключить JTAG в STM32 ?
СообщениеДобавлено: 16 май 2012, 23:58 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 00:28
Сообщения: 1337
Откуда: сами знаете
Всем привет,

В последнее время начал ковыряться с STM32, и ВНЕЗАПНО столкнулся с небольшой проблемой. Мне нужна нога PB4 но она занята JTAG'ом. Прошиваю я контроллер через SWD, следовательно JTAG можно безболезненно вырубить. Вопрос в том как?
Насколько я понял это можно сделать покрутив биты SWJ_CFG регистра AFIO_MAPR. Я че только с ними не делал, ничего не выходит. Даже пробовал вот такую штуку вызывать:
Код:
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);

Тоже не помогло. Пляски с бубном не стихают уже который час. На ноге PB4 постоянно высокий логический уровень.

p.s. Контроллер у меня STM32F100RB (в STM32VL Discovery который стоит), юзаю CooCox IDE.

_________________
http://avrdevices.ru/ мои девайсы
http://easystm32.ru/ Сайт про STM32


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить JTAG в STM32 ?
СообщениеДобавлено: 17 май 2012, 15:09 
Заглядывает иногда

Зарегистрирован: 28 апр 2012, 15:09
Сообщения: 31
Откуда: Екатеринбург
попробуй перед ремапом вставить:
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить JTAG в STM32 ?
СообщениеДобавлено: 17 май 2012, 18:51 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 00:28
Сообщения: 1337
Откуда: сами знаете
Нифига не помогло.
Вот код полностью.

Код:
#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"


int main(void)
{

   RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
   while(1)
      {
      }
}

_________________
http://avrdevices.ru/ мои девайсы
http://easystm32.ru/ Сайт про STM32


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить JTAG в STM32 ?
СообщениеДобавлено: 17 май 2012, 19:17 
Заглядывает иногда

Зарегистрирован: 28 апр 2012, 15:09
Сообщения: 31
Откуда: Екатеринбург
попробуй вообще JTAG целиком вместе с swd потушить, вместо GPIO_Remap_SWJ_JTAGDisable впиши GPIO_Remap_SWJ_Disable, у меня нормально работает, задейтсствованы все пины porta и 3-7 portb


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как отключить JTAG в STM32 ?
СообщениеДобавлено: 17 май 2012, 19:58 
Супермодератор
Аватара пользователя

Зарегистрирован: 27 янв 2010, 00:28
Сообщения: 1337
Откуда: сами знаете
Ура всё заработало! Оно у меня и раньше оказывается работало, просто я то думал, что когда я вырублю житаг у меня нога сразу станет входом без подтяжки (дефолтное состояние) и светодиод который я подключил к этой ноге - погаснет. Но это оказалось не так. Добавил еще пару строчек которые настраивают ногу на выход и выводят на неё лог0 - и все стало окей.
Спасибо nikll ;-)

_________________
http://avrdevices.ru/ мои девайсы
http://easystm32.ru/ Сайт про STM32


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB