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

STM32F072-Nucleo开发板故障排除一例

[复制链接]
wenyangzeng 提问时间:2015-1-12 21:22 /
本帖最后由 wenyangzeng 于 2015-1-12 22:37 编辑

      在使用STM32F072-Nucleo开发板调试过程中,原本好好的开发板,在下载完成一个项目并正常进入硬件仿真后,欲退出仿真环境修改代码时出现了问题,调试窗口出现一段提示:
3.JPG
                                      图1
   退出KEIL5后再重新进入KEIL5,发现已经无法再对开发板下载代码了:

未命名1.JPG
                                    图2

未命名2.JPG
                                 图3
    难道开发板就这样无疾而终?不死心,检查开发板相关跳线、USB连接线、USB驱动程序,均正常。
    换一个思路查原因:由于STM32F072-Nucleo开发板的代码下载和仿真是使用SWD的2线方式进行,查阅STM32F072数据手册可知,PA13是SWD-DIO,PA14是SWD-SCK,我在这个项目中凑巧使用PA14做输出功能用。这样当代码下载后进入仿真运行后,PA14便配置成输出模式,此时片子的SWD功能将失去。这时当欲退出仿真环境时就出现图1所示故障提示。紧接着当你想重新下载代码时,由于PA14的SCK功能丧失,就出现图2图3无法下载代码的故障提示了。可以判定:该开发板硬件方面无故障,只是SWD引脚被设置成输出所致,只要改回初始状态即可。问题是你现在已无法对它下载代码改回初值了。
    经过不断摸索,终于找到解决方法,操作如下:

未命名4.JPG
             图4

  
   重新编译项目,改回PA14的配置,在下载之前,按住开发板上的“RESET”键不放,在点击下载键的瞬间松开”RESET“键,代码终于顺利下载。由于STM32F072在nRESET从低电平恢复到高电平时,系统会有一段延时后才开始代码运行,此时PA14还处于初始状态,在这个期间仍有SWD功能。有惊无险:这片STM32F072-Nucleo开发板就这样起死回生了。(图4)

       在此将这段虚惊共享给各位,愿各位少走弯路。另外经过实验,PA13同样不要配置成输出模式,切记!除非你的板子代码下载后就出厂,刚好可以让客户无法从SWD端读代码了。









收藏 评论8 发布时间:2015-1-12 21:22

举报

8个回答
slotg 回答时间:2015-1-12 21:47:05
不错的经验,感谢分享
埃斯提爱慕 回答时间:2015-1-12 21:59:25
提示: 作者被禁止或删除 内容自动屏蔽
我们都是天才 回答时间:2015-1-12 22:05:26
好人啊~楼主
zhous 回答时间:2015-1-12 22:07:10
如果确实要用到PA13和PA14,可以在IO初始化前,加一小段延时就可以解决
lkl0305 回答时间:2015-1-12 22:32:10
总结很到位啊
wenyangzeng 回答时间:2015-1-12 22:39:25
zhous 发表于 2015-1-12 22:07
如果确实要用到PA13和PA14,可以在IO初始化前,加一小段延时就可以解决

回复5楼:加延时只能解决代码下载的问题,但是你如果要仿真就会挂了。
harvardx 回答时间:2015-1-13 00:05:04
哈哈 好经验 想想芯片的设计者不会就这样把芯片完全由软件来决定功能了.所以总有个逻辑,充当后门, 让我们可以重新来过
党国特派员 回答时间:2015-1-13 09:30:57
1.png
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新和工艺
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版