本帖最后由 l4157 于 2017-9-12 11:12 编辑
问题情况:在CubeMX中,不映射掉相应管脚,选择JTAG 4线,可以仿真,下载等,但是不能使用STM32F103VCT的PA15和PB3,关掉JTAG,选择SWD,下载程序后无法再联接芯片。
解决方法:直接对MAPR寄存器一次性赋值,然后注释掉相应硬件MspInit中的对MAPR的操作,问题解决!
估计问题在:由于CubeMX对MPAR的操作不严谨导致,CubeMX 对MAPR是用SET_BIT()进行操作,而#define SET_BIT(REG, BIT) ((REG) |= (BIT)),由于SWJ_CFG[2:0]是只写位,“|=”包含读操作,所以会造成对这些位的误读,然后意外选择了JTAG-DP Disabled and SW-DP Disabled!
PS:这是我个人猜的
|