由于STM32的引脚功能较多,在为了方便硬件的使用,常会使用复用,重映射的功能,这里主要提及的是SWD和JTAG端口的引脚对应出现的问题。为了使得TIM2能够重映射到PA15和PB3,所以得对TIM2进行重映射,但是这样是不够的,因为下载调试端口SWD默认就占用了该引脚,所以重映射无效,因此必须先启动时钟
void Relay_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd( RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_Disable, ENABLE);
AFIO->MAPR = 0x02000000;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;
/*ÉèÖÃÒý½ÅģʽΪͨÓÃÍÆÍìÊä³ö*/
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
/*ÉèÖÃÒý½ÅËÙÂÊΪ50MHz */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
/*µ÷Óÿ⺯Êý£¬³õʼ»¯GPIO*/
GPIO_Init(GPIOA, &GPIO_InitStructure);
//GPIO_SetBits(GPIOA, GPIO_Pin_15);
}
出现的问题是:
JLink info:
DLL: V6.10i, compiled Oct 25 2016 19:31:51
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N : 20090928
Feature(s) : RDI,FlashDL,FlashBP,JFlash,GDBFull
JLink Info: STM32 (connect): Can not attach to CPU. Trying connect under reset.
JLink Info: STM32 (connect): Can not attach to CPU. Trying connect under reset.
***JLink Error: STM32: Connecting to CPU via connect under reset failed.
Error: Flash Download failed - Target DLL has been cancelled
1、按着板子上面的复位键不放,若没有按键,就用夹子短路复位电容,这样单片机将停止程序的运行;我的是工程板,RST端口接地就行了。
2. 这时候点击Keil的下载,下方的“Build Output”窗口便会开始滚动,一会之后会提示出错。直接关闭它,放开复位键。
3. 如果方法2 不行,就是弹出错误窗口时,点NO,然后再运行一秒,马上放开复位键,程序这时一般可以正常下载了,如果不行, 测试多几次
上一篇:ST-Link不能下载程序的几种解决办法
下一篇:SWD和JTAG都给关了,程序下载不进去,解决办法
推荐阅读最新更新时间:2024-03-16 16:20