[STM32L0] keil5调试问题

[复制链接]
4888|18
 楼主| bfl111 发表于 2016-5-12 10:11 | 显示全部楼层 |阅读模式
通过ST LINK在keil5里面向开发板下载程序,但是当只能成功下载一次,之后全失败,希望之前又遇到同样问题的前辈帮助一下。(配置及STLINK连线无误)
1.PNG
2.PNG
3.PNG
yklstudent 发表于 2016-5-12 11:06 | 显示全部楼层
有复位按键吗?按着复位按键,然后再连接看看是否可以连上?
294479435 发表于 2016-5-12 12:21 | 显示全部楼层
硬件呢,是什么开发板,驱动装了吗?
 楼主| bfl111 发表于 2016-5-12 14:28 | 显示全部楼层
yklstudent 发表于 2016-5-12 11:06
有复位按键吗?按着复位按键,然后再连接看看是否可以连上?

按着复位键还是不可以。观察到的现象还是第一次下进去的程序产生的,之后的程序进不去。通过网上类似的问题,我怀疑是不是程序被锁定了或者单片机里边BOOTT0管脚的问题。
 楼主| bfl111 发表于 2016-5-12 14:29 | 显示全部楼层
294479435 发表于 2016-5-12 12:21
硬件呢,是什么开发板,驱动装了吗?

STM32L051K8 ,ST-LINK的驱动装上了
 楼主| bfl111 发表于 2016-5-12 14:29 | 显示全部楼层
294479435 发表于 2016-5-12 12:21
硬件呢,是什么开发板,驱动装了吗?

STM32L051K8 ,ST-LINK的驱动装上了
 楼主| bfl111 发表于 2016-5-12 15:15 | 显示全部楼层
有一点感觉存在问题,就是“调试配置”里面的“SWDIO”不显示设备,但是我觉得应该不影响,因为第一次下载成功时就是这样的,不知道这样理解对吗
调试配置.PNG
弈涯 发表于 2016-5-12 15:31 | 显示全部楼层
LZ是不是在程序中使用了JTAG调试I/O
 楼主| bfl111 发表于 2016-5-12 15:38 | 显示全部楼层
弈涯 发表于 2016-5-12 15:31
LZ是不是在程序中使用了JTAG调试I/O

前辈,我是新手,请问“在程序中使用了JTAG调试I/O”具体点是什么意思?意思是我下载进去的程序休眠了吗
弈涯 发表于 2016-5-12 15:42 | 显示全部楼层
bfl111 发表于 2016-5-12 15:38
前辈,我是新手,请问“在程序中使用了JTAG调试I/O”具体点是什么意思?意思是我下载进去的程序休眠了吗 ...

LZ是不是将与st—link连接的管脚用做I/O了
 楼主| bfl111 发表于 2016-5-12 16:33 | 显示全部楼层
弈涯 发表于 2016-5-12 15:42
LZ是不是将与st—link连接的管脚用做I/O了

  前辈,您是正确的,的确我把SW的两个管脚配置为普通IO输出了,但是不好改回来了。按网上的教程这一步有点问题,我正试着解决。
SWD总线上的两个端口都配置为了输出 改正.PNG
我的改正.PNG
弈涯 发表于 2016-5-12 17:14 | 显示全部楼层
bfl111 发表于 2016-5-12 16:33
前辈,您是正确的,的确我把SW的两个管脚配置为普通IO输出了,但是不好改回来了。按网上的教程这一步有 ...

在下载程序之前按住复位键可以用
 楼主| bfl111 发表于 2016-5-12 20:39 | 显示全部楼层
弈涯 发表于 2016-5-12 17:14
在下载程序之前按住复位键可以用

谢谢前辈,这样我之前试过了。但是我确定问题就是把SW配置成输出IO口了。这是在别的地方找到的解决方案;
  把JTAG的引脚当作I/O引脚来用,原来的JTAG功能失效,
解决办法,使用ISP的下载方式重新烧写一个正常的简单程序下去就OK了!
或者:
1.找到BOOT1和BOOT0,把BOOT1拉低,BOOT0拉高至3.3V。
2.重新下载程序,刷掉FLASH。
3.把BOOT0再次拉低会原来的状态就OK啦。
yangwenguan 发表于 2016-5-13 09:50 | 显示全部楼层
想不明白, 为什么一定要用keil下载, 能够调试, 不就行了
 楼主| bfl111 发表于 2016-5-13 10:48 | 显示全部楼层
yangwenguan 发表于 2016-5-13 09:50
想不明白, 为什么一定要用keil下载, 能够调试, 不就行了

  前辈,SW口被“堵住了”,KEIL不能识别STLINK.调试不大会用,我去鼓捣一下有问题再请教您们。对于IAR不熟悉,貌似IAR的在线调试要比KEIL好。
flydream0 发表于 2016-5-13 12:28 | 显示全部楼层
可以试下以下几种方法:
1 使用BootLoader(串口ISP)方式将芯片原来的程序清除掉, 之后就能正常了.
2 在调试之前必须有复位信号. 这里有手工方式和自动方式:
   手工方式: 就是手动按住复位脚,然后开始调试,再松开,这种方式要多试几次就会成功。
   自动方式: 通过软件设置调试时自动复位。 Keil应该在Debug下那个connect下的列表“with pre-reset”(我猜)。
reset.png
使用STM32 ST-LINK Utility是就如下:
rese1t.png
 楼主| bfl111 发表于 2016-5-13 14:17 | 显示全部楼层
flydream0 发表于 2016-5-13 12:28
可以试下以下几种方法:
1 使用BootLoader(串口ISP)方式将芯片原来的程序清除掉, 之后就能正常了.
2 在调试 ...

之前的问题我处理好了。按照您提供的图片里面的方法,我试了一下,又出现了问题,最后改回原来的配置才好的。
debug1.PNG
jiegemo 发表于 2016-8-7 11:36 | 显示全部楼层
bfl111 发表于 2016-5-12 16:33
前辈,您是正确的,的确我把SW的两个管脚配置为普通IO输出了,但是不好改回来了。按网上的教程这一步有 ...

你好,你这个安装教程在哪里下载的?能不能给我一份,谢谢啦
 楼主| bfl111 发表于 2016-8-9 12:23 | 显示全部楼层
jiegemo 发表于 2016-8-7 11:36
你好,你这个安装教程在哪里下载的?能不能给我一份,谢谢啦

朋友,安装教程百度文库里面就有。只有软件,百度云可以搜到,一般里面都有安装说明。这种固化的问题网上都有的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

70

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部