Board logo

标题: SWD模式下下载调试STM32程序的方法 [打印本页]

作者: yuyang911220    时间: 2015-4-29 19:54     标题: SWD模式下下载调试STM32程序的方法

调试GPS+GPRS模块。淘宝链接:用的是STM32F103RBT6主控芯片。因为手头12864多,所以没有买他的液晶。结果12864调了一天,做笔记,做笔记啊。呵呵。

第一:由于RBT6这款芯片没有完整的口,所以一开始我们用的时候没有注意,PCB中液晶使用了J-LINK的PB3,PB4端口,结果。。。。这两个口始终是高电平。搞了好久,只能用SWD模式。SWD模式只需要用两个口A13,A14,加上电源和地也只需要4线来进行调试。,呵呵方便啊,以后就用这个了。不然完整的J-LINK,需要至少8个口,做板子太麻烦了。
【注意1】:SWD模式下如果想使用PB3,PB4口,需要把他们重定义一下才行。调用IO配置里面的remap函数。
【注意2】:SWD模式下,J-LINK的GND最好接20脚,因为有的J-LINK右边一排GND不是都接上的。
【注意3】:SWD模式下,如果不接系统复位RST的话,也是可以的,但是注意,必须在keil中设置软件复位VECTRESET,,不过好像是用autodetect也是可以的。网上说不接这个有可能程序较大的时候会下载失败。

GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable,ENABLE);
// 改变指定管脚的映射 GPIO_Remap_SWJ_DisableSWJ 完全禁用(JTAG+SW-DP)
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable ,ENABLE);
// 改变指定管脚的映射GPIO_Remap_SWJ_JTAGDisable ,JTAG-DP 禁用 + SW-DP 使能
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_3 | GPIO_Pin_4;
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
GPIO_Init(GPIOB,&GPIO_InitStructure);

GPIO_InitStructure.GPIO_Pin =GPIO_Pin_11 | GPIO_Pin_12 | GPIO_Pin_13;
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
GPIO_Init(GPIOA,&GPIO_InitStructure);




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0