本帖最后由 wangjianf5 于 2018-12-5 13:03 编辑
之前一个项目用到了STM32F103RBT6的芯片,因为引脚有限,所以在原理图上用了JTAG的两个引脚来控制LED,仿真和下载的时候用的是SWD。
最近项目升级,新品用了STM32F103RDT6(384KB的FLASH),手册上写的是两种芯片的硬件和软件完全相同。但是我发现用了新芯片的板子后,有一句只关闭JTAG的语句居然把SWD也关了,运行这个语句后,用STLINK通过KEIL仿真和下载都不行,必须通过STlink自带的programmer才能擦除。
工程中使用关闭JTAG,保留SWD的语句:
/** JTAG-DP Disabled and SW-DP Enabled */
__HAL_RCC_AFIO_CLK_ENABLE();
__HAL_AFIO_REMAP_SWJ_NOJTAG();
这句话在RBT6中可以正确使用(JTAG被关闭,SWD正常使用),但是在RDT6中,SWD和JTAG居然全部被关闭了。请问哪位大神遇到过这种情况的?我是哪里少写了语句么?谢谢
下面是摘自stm32f1xx_hal_gpio_ex.h中的
/**
* @brief Enable the Serial wire JTAG configuration
* @NOTE NOJTAG: JTAG-DP Disabled and SW-DP Enabled
* @retval None
*/
#define __HAL_AFIO_REMAP_SWJ_NOJTAG() MODIFY_REG(AFIO->MAPR, AFIO_MAPR_SWJ_CFG, AFIO_MAPR_SWJ_CFG_JTAGDISABLE)
|