你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

KEIL + SWD +JLINK 仿真问题

[复制链接]
yifabandaoti 提问时间:2018-7-17 15:33 /




刚接触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进行仿真的麻烦帮助下,谢谢。

点评

就是在system_stm32f4xx.c的PLL_M晶振设置有问题,因为我直接用的网上的例程,网上的例程是根据他们的开发板做的,并且晶振25改成了8,改成原来的25就...  发表于 2024-1-29 10:34
收藏 评论17 发布时间:2018-7-17 15:33

举报

17个回答
yifabandaoti 回答时间:2018-7-17 16:16:02
radio2radio 发表于 2018-7-17 15:55
前面的GPIO设置错误,应该不需要,或者设置成输入高阻模式。你试一试。

       
改了如下代码,也不行
GPIO_InitTypeDef  GPIO_InitStructure;
       
               
  RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE);//ʹÄÜGPIOAʱÖÓ
  

  //GPIOFB3,4,5³õʼ»¯ÉèÖÃ
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14;//PA13~14¸´Óù¦ÄÜÊä³ö       
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//¸´Óù¦ÄÜ
  GPIO_InitStructure.GPIO_OType = GPIO_OType_OD;//
  GPIO_InitStructure.GPIO_Speed = GPIO_Speed_100MHz;//100MHz
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL;//
  GPIO_Init(GPIOA, &GPIO_InitStructure);//³õʼ»¯
       
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource13,GPIO_AF_SWJ); //PA13¸´ÓÃ
        GPIO_PinAFConfig(GPIOA,GPIO_PinSource14,GPIO_AF_SWJ); //PA14¸´Ó
yifabandaoti 回答时间:2018-7-17 15:51:07
radio2radio 发表于 2018-7-17 15:46
原因就是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); //复用
七哥 回答时间:2018-7-17 23:44:52
本帖最后由 toofree 于 2018-7-17 23:46 编辑

第一次能烧,以后不能烧的话,八成是SWD或JTAG的管脚被REMAP成普通IO了。
有没有引出USART1、USART3,这两个口都可以做为ISP串口。可以用ISP把Flash擦除,然后重新烧一个正常的程序。

在ISP的时候需要将BOOT0拉高,在正常下载的时候不需要将BOOT0拉高,你拉高后,反而不一定能下载成功。

如果你的SWD接了复位信号RESET的话,应该也是可以下载的;如果JTAG方式的话,RESET更是接了的。
种种猜测,你用的是4线SWD,没有接RESET。

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

radio2radio 回答时间:2018-7-17 15:46:07
原因就是SWDIO和SWDCLK被设置为IO口。库函数里面应该有,设置一下就可以了。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

radio2radio 回答时间:2018-7-17 15:55:40
前面的GPIO设置错误,应该不需要,或者设置成输入高阻模式。你试一试。
废鱼 回答时间:2018-7-17 16:09:45
默认是开启的,楼主不要对这两个引脚丛操作即可。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

yifabandaoti 回答时间:2018-7-17 16:11:49
安 发表于 2018-7-17 16:09
默认是开启的,楼主不要对这两个引脚丛操作即可。

我把main里的东西全部删除,烧写进去,然后点仿真按钮也是不行的,提示 no cortex-m sw device found
废鱼 回答时间:2018-7-17 16:19:56
不要对这两个引脚进行初始化设置,进入boot模式。重新烧写程序,再测试。
radio2radio 回答时间:2018-7-17 16:21:06
yifabandaoti 发表于 2018-7-17 15:51
我也设置了,但是没有起作用,不知道是不是代码写的不对,请看如下:
RCC_AHB1PeriphClockCmd(RCC_AHB1Pe ...

最后面的两行remap设置,需要打开remap的时钟,F103是这样的:
RCC->APB2ENR |=  RCC_APB2ENR_AFIOEN;
F407的,你要查一查。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

radio2radio 回答时间:2018-7-17 16:38:49
yifabandaoti 发表于 2018-7-17 16:16
改了如下代码,也不行
GPIO_InitTypeDef  GPIO_InitStructure;
       

后面的两行可能不对,我F103是设置寄存器,而不是设置GPIO,像这样:
  RCC->APB2ENR |=  RCC_APB2ENR_AFIOEN;
  AFIO->MAPR   |=  AFIO_MAPR_SWJ_CFG_ENABLE;
yifabandaoti 回答时间:2018-7-17 16:48:14
谢谢各位指点,看来一下子 我还搞不好了,再慢慢看下。
wenyangzeng 回答时间:2018-7-17 17:03:32
yifabandaoti 发表于 2018-7-17 15:51
我也设置了,但是没有起作用,不知道是不是代码写的不对,请看如下:
RCC_AHB1PeriphClockCmd(RCC_AHB1Pe ...

楼主应该把PA13,PA14的初始化修改成其他GPIO口后再下载就可以了。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

zhao.zhao 回答时间:2018-7-17 17:46:40
PA13,PA14,根本不需要编程的改变的,按缺省的就行了。现在这种情况就麻烦了,你需要用串口1和改变BOOT0引脚的电平,才能把程序重新刷进去,祝你好运。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

TLLED 回答时间:2018-7-18 08:17:18
SWDIO和SWDCLK设置成IO口,在线仿真是不行了,直接下载板子测试。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

12下一页

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版