本帖最后由 wenyangzeng 于 2015-1-12 22:37 编辑 在使用STM32F072-Nucleo开发板调试过程中,原本好好的开发板,在下载完成一个项目并正常进入硬件仿真后,欲退出仿真环境修改代码时出现了问题,调试窗口出现一段提示: 图1 退出KEIL5后再重新进入KEIL5,发现已经无法再对开发板下载代码了: 图2 图3 难道开发板就这样无疾而终?不死心,检查开发板相关跳线、USB连接线、USB驱动程序,均正常。 换一个思路查原因:由于STM32F072-Nucleo开发板的代码下载和仿真是使用SWD的2线方式进行,查阅STM32F072数据手册可知,PA13是SWD-DIO,PA14是SWD-SCK,我在这个项目中凑巧使用PA14做输出功能用。这样当代码下载后进入仿真运行后,PA14便配置成输出模式,此时片子的SWD功能将失去。这时当欲退出仿真环境时就出现图1所示故障提示。紧接着当你想重新下载代码时,由于PA14的SCK功能丧失,就出现图2图3无法下载代码的故障提示了。可以判定:该开发板硬件方面无故障,只是SWD引脚被设置成输出所致,只要改回初始状态即可。问题是你现在已无法对它下载代码改回初值了。 经过不断摸索,终于找到解决方法,操作如下: 图4 重新编译项目,改回PA14的配置,在下载之前,按住开发板上的“RESET”键不放,在点击下载键的瞬间松开”RESET“键,代码终于顺利下载。由于STM32F072在nRESET从低电平恢复到高电平时,系统会有一段延时后才开始代码运行,此时PA14还处于初始状态,在这个期间仍有SWD功能。有惊无险:这片STM32F072-Nucleo开发板就这样起死回生了。(图4) 在此将这段虚惊共享给各位,愿各位少走弯路。另外经过实验,PA13同样不要配置成输出模式,切记!除非你的板子代码下载后就出厂,刚好可以让客户无法从SWD端读代码了。 |
【STM32F030开发日志/评测/笔记】+串口echo测试程序
【STM32F030开发日志/评测/笔记】从无到有
STM32F030F4 的 STOP 电流 不稳定
【活动】2013年末签到,赢STM32F0超值型探索套件(已公布结果)
[晒一晒]STM32F0 Discovery板卡
【说出你的故事】从对STM32白痴到入门+STM32F030R8 Boost MPPT
Nucleo STM32F072 FreeRTOS移植
【小“福”蝶赏灯展+DISCO-STM32F0308】
[STM32F072 Nucleo]开发笔记(四) 用按钮代替方向盘硬件测试
[STM32F072 Nucleo]开发笔记(二)扩展USB接口
回复5楼:加延时只能解决代码下载的问题,但是你如果要仿真就会挂了。