本帖最后由 clrois_cai 于 2016-11-6 01:02 编辑
最近在开发过程中,发现了一个问题:配置使用SPI3后,SWD调试时会卡在下面的程序出一直出不来,但是不调试就可以正常使用。
while (SPI_I2S_GetFlagStatus(SPI3, SPI_I2S_FLAG_RXNE) == RESET)
根据Datasheet,SPI3使用的引脚中,PB3的Default功能是JTDO,复用成SPI3-SCK。PB4的Default功能是NJTRST,复用成SPI3-MISO。PA15的Default是JTDI,复用成SPI3-NSS。
跟JTAG有冲突,网上的解决方案是配置GPIO前先禁用掉JTAG调试。
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE); /* Enable Remap clock */
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable, ENABLE);//关闭jtag , 开启swd
按照这个做了以后,现象依旧,无法进行调试。
论坛里的其他兄弟是否也遇到过这样的问题,请帮忙解决一下。感谢感谢!
下图是我的J-LINK调试配置界面的内容:
下图是我JLinkGDBServer的配置内容:
下图是我的JLINK-SWD接线方法:
|