Страница 1 из 1
STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 00:26:30
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
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 12:46:28
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);
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 13:58:00
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.
Обратите внимание, какие основные и альтернативные функции разрешены на эти выводы.
На дальнейшее учитесь работать с ДШ.
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 15:58:36
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, да, естественно его подключил.
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 17:03:00
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 и описаниями ее продуктов. Здесь иначе.
Извините, больше уделить вам внимания не могу. Сам я с этой линейкой не сталкивался, взялся помочь только путем поверхностного просмотра док. ЧТо увидел, на том акцентировал. Дальше уж сами, ведь это ваши проблемы, так?

Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 18:15:54
sx386
А зачем вам что-то нужно отключать?
Мне нужно использовать порты B3 и А15 как выход.
Для этого нужно отключить JTAG.
Без отключения не работает.
А отключить не получается.
GPIO_PinAFConfig(GPIOB, GPIO_PinSource3, 0) ;
GPIO_PinAFConfig(GPIOA, GPIO_PinSource15, 0);
Не работает.
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 18:57:52
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);
}
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 21:14:06
sx386
Работает ! Спасибо !
А где вы нашли рекомендации производителя ?
Re: STM32L100C6 отключить JTAG
Добавлено: Чт фев 13, 2014 22:38:12
ut1wpr
sx386 писал(а):Работает ! Спасибо !
А где вы нашли рекомендации производителя ?
У производителя. Я это приберег напоследок. Думал, вы все-таки самостоятельно сообразите. Так ничему и не научил. Видать, до стиля документации от ST вы еще не дозрели.
Или пока еще не научились отказываться от готовенького.
http://www.st.com/web/en/catalog/tools/PF251717