STM32L100C6 отключить JTAG

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

Сообщение sx386 »

Подскажите как в STM32L100C6 отключить JTAG
GPIO_PinRemapConfig (GPIO_Remap_SWJ_JTAGDisable, ENABLE);
Error[Pe020]: identifier "GPIO_Remap_SWJ_JTAGDisable" is undefined
Error[Pe020]: identifier "GPIO_PinRemapConfig" is undefined
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Реклама
Опытный кот
Аватара пользователя
Сообщения: 725
Зарегистрирован: Вт апр 26, 2011 13:58:36
Откуда: Ростовская область

Сообщение amv2000 »

Код: Выделить всё

    RCC->APB2ENR |= RCC_APB2ENR_AFIOEN;
    AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // Disable JTAG 
или добавить к Вашему коду тактирование

Код: Выделить всё

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
   GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);
Реклама
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Сообщение ut1wpr »

sx386 писал(а):Подскажите как в STM32L100C6 отключить JTAG
GPIO_PinRemapConfig (GPIO_Remap_SWJ_JTAGDisable, ENABLE);
Error[Pe020]: identifier "GPIO_Remap_SWJ_JTAGDisable" is undefined
Error[Pe020]: identifier "GPIO_PinRemapConfig" is undefined
Для вашего МК нужна SPL SSTW-STM32077. Вы с ней работаете?
Внимательнее отнеситесь к абзацу из PDF:
Serial wire JTAG debug port (SWJ-DP)
The ARM SWJ-DP interface is embedded, and is a combined JTAG and serial wire debug
port that enables either a serial wire debug or a JTAG probe to be connected to the target.
The JTAG JTMS and JTCK pins are shared with SWDAT and SWCLK, respectively, and a
specific sequence on the JTMS pin is used to switch between JTAG-DP and SW-DP.
The JTAG port can be permanently disabled with a JTAG fuse.
Обратите внимание, какие основные и альтернативные функции разрешены на эти выводы.
На дальнейшее учитесь работать с ДШ.
С уважением,
Виктор.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

Сообщение sx386 »

AFIO, RCC_APB2Periph_AFIO, ENABLE, GPIO_Remap_SWJ_JTAGDisable
Компилятор не знает что это такое.
The JTAG port can be permanently disabled with a JTAG fuse.
JTAG порт может быть постоянно отключён с JTAG фьюзов.
Да, я это видел в даташите, но знать бы ещё где эти фьюзы.
И я искал в даташите описания регистров, но что-то вобще в нём нет описания регистров.
SPL SSTW-STM32077
STM32L1xx_StdPeriph_Lib_V1.2.0, да, естественно его подключил.
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Реклама
Эиком - электронные компоненты и радиодетали
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Сообщение ut1wpr »

sx386 писал(а):
AFIO, RCC_APB2Periph_AFIO, ENABLE, GPIO_Remap_SWJ_JTAGDisable
Компилятор не знает что это такое.
А он должен это знать? И вообще, откуда вы взяли функцию:

Код: Выделить всё

GPIO_PinRemapConfig (GPIO_Remap_SWJ_JTAGDisable, ENABLE);
?
В библиотеке всего 14 функций. Лишь одна с реконфигом пинов. Ну очень на вашу непохожа, остюда и вопрос, из какой билиотеки вы свою притащили?
Я там нашел только:
void GPIO_PinAFConfig (GPIO_TypeDef *GPIOx, uint16_t GPIO_PinSource, uint8_t GPIO_AF)
Changes the mapping of the specified pin
The JTAG port can be permanently disabled with a JTAG fuse.
JTAG порт может быть постоянно отключён с JTAG фьюзов.
Да, я это видел в даташите, но знать бы ещё где эти фьюзы.
И я искал в даташите описания регистров, но что-то вобще в нём нет описания регистров.
SPL SSTW-STM32077 STM32L1xx_StdPeriph_Lib_V1.2.0, да, естественно его подключил.
А зачем вам что-то нужно отключать? Еще раз цитирую:
The JTAG JTMS and JTCK pins are shared with SWDAT and SWCLK, respectively, and a
specific sequence on the JTMS pin is used to switch between JTAG-DP and SW-DP.
Ну хоть со словарем почитайте, что ли...
Рекомендую познакомиться с методикой построения документации на продукты от ST. У них есть Reference Manuals для отельной линейки, и ДШ для МК в этой линейке. Не стоит искать общих описаний в детальных ДШ. Похоже, над вами довлеет длительное общение с AVR и описаниями ее продуктов. Здесь иначе.
Извините, больше уделить вам внимания не могу. Сам я с этой линейкой не сталкивался, взялся помочь только путем поверхностного просмотра док. ЧТо увидел, на том акцентировал. Дальше уж сами, ведь это ваши проблемы, так? :)
С уважением,
Виктор.
Реклама
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

Сообщение sx386 »

А зачем вам что-то нужно отключать?
Мне нужно использовать порты B3 и А15 как выход.
Для этого нужно отключить JTAG.
Без отключения не работает.
А отключить не получается.

GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, 0) ;
GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, 0);
Не работает.
Последний раз редактировалось sx386 Чт фев 13, 2014 18:59:03, всего редактировалось 1 раз.
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Реклама
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Сообщение ut1wpr »

sx386 писал(а):
А зачем вам что-то нужно отключать?
Мне нужно использовать порты B3 и А15 как выход.
Для этого нужно отключить JTAG.
Без отключения не работает.
А отключить не получается.
Попробуйте рекомендацию производителя наконец:
Спойлер

Код: Выделить всё

void mx_pinout_config(void) {
	/* Private typedef ---------------------------------------------------------*/
	GPIO_InitTypeDef GPIO_InitStruct;


	/** Configure pins as GPIO
		 PA15	 ------> GPIO_Output
		 PB3	 ------> GPIO_Output
	*/


	/*Enable or disable the AHB peripheral clock */
	RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA|RCC_AHBPeriph_GPIOB, ENABLE);

	/*Configure GPIO pin */
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_15;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_40MHz;
	GPIO_Init(GPIOA, &GPIO_InitStruct);

	/*Configure GPIO pin */
	GPIO_InitStruct.GPIO_Pin = GPIO_Pin_3;
	GPIO_InitStruct.GPIO_Mode = GPIO_Mode_OUT;
	GPIO_InitStruct.GPIO_OType = GPIO_OType_PP;
	GPIO_InitStruct.GPIO_PuPd = GPIO_PuPd_NOPULL;
	GPIO_InitStruct.GPIO_Speed = GPIO_Speed_40MHz;
	GPIO_Init(GPIOB, &GPIO_InitStruct);
}
С уважением,
Виктор.
Потрогал лапой паяльник
Аватара пользователя
Сообщения: 394
Зарегистрирован: Сб апр 28, 2012 16:04:14

Сообщение sx386 »

Работает ! Спасибо !
А где вы нашли рекомендации производителя ?
Критикуешь - предлагай. Предлагаешь - делай. Делаешь - отвечай.
Вымогатель припоя
Сообщения: 581
Зарегистрирован: Ср янв 05, 2011 10:03:18

Сообщение ut1wpr »

sx386 писал(а):Работает ! Спасибо !
А где вы нашли рекомендации производителя ?
У производителя. Я это приберег напоследок. Думал, вы все-таки самостоятельно сообразите. Так ничему и не научил. Видать, до стиля документации от ST вы еще не дозрели.
Или пока еще не научились отказываться от готовенького.
http://www.st.com/web/en/catalog/tools/PF251717
С уважением,
Виктор.
Ответить

Вернуться в «ARM»