KEIL + SWD +JLINK 仿真问题
刚接触STM32F407, 在下载和在线调试阶段碰到了问题,请求帮助,具体如下:
1、第一次烧写很顺利,程序烧写进去,好像也可以进行在线调试;
2、第二次烧写时就不能烧写进去,提示“No Cortex-MSW device found”.经过寻求帮助得以解决,方法如下:
(1)B0拉高,按一下复位按钮;(2)B0拉低, 点击烧写,即可烧写进去。
原因可能是SWDIO和SWDCLK被设置为IO口了, 但是我下载一个什么都没有的空程序若不按照上面的方法也是 写不进去。即使成功下载了,按下KEIL的仿真按钮,也是提示:No Cortex-MSW device found”。 说明SWD和芯片的链接又断开了。
3、有成功使用SWD+JLINK进行仿真的麻烦帮助下,谢谢。
原因就是SWDIO和SWDCLK被设置为IO口。库函数里面应该有,设置一下就可以了。 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); //复用 前面的GPIO设置错误,应该不需要,或者设置成输入高阻模式。你试一试。 默认是开启的,楼主不要对这两个引脚丛操作即可。 安 发表于 2018-7-17 16:09
默认是开启的,楼主不要对这两个引脚丛操作即可。
我把main里的东西全部删除,烧写进去,然后点仿真按钮也是不行的,提示 no cortex-m sw device found radio2radio 发表于 2018-7-17 15:55
前面的GPIO设置错误,应该不需要,或者设置成输入高阻模式。你试一试。
改了如下代码,也不行
GPIO_InitTypeDefGPIO_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¸´Ó 不要对这两个引脚进行初始化设置,进入boot模式。重新烧写程序,再测试。 yifabandaoti 发表于 2018-7-17 15:51
我也设置了,但是没有起作用,不知道是不是代码写的不对,请看如下:
RCC_AHB1PeriphClockCmd(RCC_AHB1Pe ...
最后面的两行remap设置,需要打开remap的时钟,F103是这样的:
RCC->APB2ENR |=RCC_APB2ENR_AFIOEN;
F407的,你要查一查。 yifabandaoti 发表于 2018-7-17 16:16
改了如下代码,也不行
GPIO_InitTypeDefGPIO_InitStructure;
后面的两行可能不对,我F103是设置寄存器,而不是设置GPIO,像这样:
RCC->APB2ENR |=RCC_APB2ENR_AFIOEN;
AFIO->MAPR |=AFIO_MAPR_SWJ_CFG_ENABLE;
页:
[1]
2