KEIL+SWD+JLINK仿真不能烧写

2019-07-14 14:52发布



刚接触STM32F407, 在下载和在线调试阶段碰到了问题,请求帮助,具体如下:


1、第一次烧写很顺利,程序烧写进去,好像也可以进行在线调试;
2、第二次烧写时就不能烧写进去,提示“No Cortex-M  SW device found”.  经过寻求帮助得以解决,方法如下:
        (1)B0拉高,按一下复位按钮;(2)B0拉低, 点击烧写,即可烧写进去。
          原因可能是SWDIO和SWDCLK被设置为IO口了, 但是我下载一个什么都没有的空程序若不按照上面的方法也是             写不进去。即使成功下载了,按下KEIL的仿真按钮,也是提示:No Cortex-M  SW device found”。 说明SWD和芯片的链接又断开了。


3、有成功使用SWD+JLINK进行仿真的麻烦帮助下,谢谢。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
15条回答
dsdaiztt
2019-07-14 20:27
60user22 发表于 2019-1-2 06:20
原因就是SWDIO和SWDCLK被设置为IO口。库函数里面应该有,设置一下就可以了。

我也设置了,但是没有起作用,不知道是不是代码写的不对,请看如下:
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//使能PA的时钟
  

    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用功能
  GPIO_InitStructure.GPIO_OType = GPIO_OType_PP;//推挽输出
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//弱上拉
  GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化

GPIO_PinAFConfig(GPIOA,GPIO_PinSource13,GPIO_AF_SWJ); //复用
GPIO_PinAFConfig(GPIOA,GPIO_PinSource14,GPIO_AF_SWJ); //复用

一周热门 更多>