如何禁用stm32f405 jtag接口

如何禁用stm32f405 jtag接口,stm32,Stm32,我有一块使用STM32F405RG的电路板,我的客户设计了硬件,不得不使用两个JTAG引脚PA15和PB4作为GPIO。我使用SWD进行闪烁和调试,因此我想禁用JTAG接口,如ST文档中所述,发布PA15和PB4以用作GPIO输出 我的大多数搜索都返回如何禁用JTAG接口,这与STM32F1xx和F4在这方面有很大不同 由于对于PA15和PB4,AFR设置为零选择JTAG引脚功能,如何释放它们以用作GPIO输出?您必须如您所说释放PA15和PB4以用作GPIO输出 我不认为F1和F4在这件事上有

我有一块使用STM32F405RG的电路板,我的客户设计了硬件,不得不使用两个JTAG引脚PA15和PB4作为GPIO。我使用SWD进行闪烁和调试,因此我想禁用JTAG接口,如ST文档中所述,发布PA15和PB4以用作GPIO输出

我的大多数搜索都返回如何禁用JTAG接口,这与STM32F1xx和F4在这方面有很大不同

由于对于PA15和PB4,AFR设置为零选择JTAG引脚功能,如何释放它们以用作GPIO输出?

您必须如您所说释放PA15和PB4以用作GPIO输出

我不认为F1和F4在这件事上有什么不同。因此,您可以将它们配置为输出,并将其设置为强制高或低。这将禁用它们由JTAG适配器驱动的能力

您必须如您所说释放PA15和PB4以用作GPIO输出


我不认为F1和F4在这件事上有什么不同。因此,您可以将它们配置为输出,并将其设置为强制高或低。这将禁用它们由JTAG适配器驱动的能力。F1 JTAG端口设置确实与F4系列不同

在F1系列中,您需要从AF重新映射和调试I/O配置寄存器中禁用它们。例如,以下代码禁用JTAG引脚,但保持SWD启用:

RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // Enable A.F. clock
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // JTAG is disabled, SWD is enabled

在F4系列中更容易。AF0确实选择了JTAG引脚,但您所要做的就是不在MODER寄存器中选择AF。通电时,PA13、PA14、PA15、PB3和PB4通过其相应的MODER位设置为交替功能模式。只需使用MODER寄存器为这些管脚选择另一种模式输入、输出或模拟。

F1 JTAG端口设置确实与F4系列不同

在F1系列中,您需要从AF重新映射和调试I/O配置寄存器中禁用它们。例如,以下代码禁用JTAG引脚,但保持SWD启用:

RCC->APB2ENR |= RCC_APB2ENR_AFIOEN; // Enable A.F. clock
AFIO->MAPR |= AFIO_MAPR_SWJ_CFG_JTAGDISABLE; // JTAG is disabled, SWD is enabled

在F4系列中更容易。AF0确实选择了JTAG引脚,但您所要做的就是不在MODER寄存器中选择AF。通电时,PA13、PA14、PA15、PB3和PB4通过其相应的MODER位设置为交替功能模式。只需使用MODER寄存器为这些管脚选择另一种模式输入、输出或模拟。

STMCubeMX可以帮助您。STMCubeMX可以帮助您。