历史上的今天
今天是:2024年12月15日(星期日)
2018年12月15日 | stm32单片机进入休眠模式后无法下载程序等问题的解决
2018-12-15 来源:eefocus
利用stm32单片机的休眠模式,使单片机间歇的休眠从而实现低功耗的目的。往往会出现进入休眠后无法唤醒,导致下一次程序烧不进去。通常的解决办法是:一般的开发板或单片机最小系统都会有复位键,按住复位键,点下载,然后松开复位键即可。
我遇到的问题是:误入了stm32(STM32L051C6T6)的STOP模式,又没有写入相应的唤醒方法,导致后续的程序不能下载。使用MDK5 点击load时总会出现No target connected。自己设计的最小系统又没有加入复位键。。。
有以下几种解决办法:
1、可以将单片机的NRST引脚引出来,外接复位键。(关于引脚查看可用ST官方软件STM32cubeMX,很方便)
2、通过ISP的方式下载程序,必须将boot0接高电平,boot1(PB2)接低电平,然后必须断电后重启,此时单片机会进入ISP模式,就可以通过串口1(一般单片机都是只有串口1才可下载程序)再用flymcu等软件烧入hex文件就可以了。
关于boot0和boot1,在每个stm32单片机都会有这两个引脚,这两个引脚在复位时的电平状态决定了芯片在复位后从哪个区域开始执行程序。
boot1=x boot0=0从用户闪存启动,这是正常的工作模式。
boot1=0 boot0=1从系统存储器启动(进入ISP模式)。
boot1=1 boot0=1从内置SRAM启动,这种模式可以用于调试。
如此一来,单片机无法进入正常的工作模式,就无法进行休眠,就可以通过ISP来下载程序。
3、使用STlink烧写程序,STlink至少要接4根线(SWDIO、SWCLK、GND、SW-RST),一般的下载程序只需要前三根就可以了,但是以防出现休眠无法唤醒的情况,这时有复位键就可以将SWDIO和SWCLK重置,如果板子设计没有与SW-RST相对应的,此时需要把单片机上的NRST引出来接到SW-RST上。下载程序之前boot0接高电平,boot1不用管(也需要断电后重启)。
下载配置这里按如下配置,RESET那里HW RESET和SYSRESETREQ任选一个。


配置好之后load一个空程序即可,不要再烧一个休眠的程序了,之后就可以正常烧程序了。
总结:由于板子设计等原因,使用的是第三个方法,前两个方法也都是可用的。
史海拾趣
|
关于访问HID设备的问题,在网上看到一篇介绍“Windows主机端与自定义USB HID设备通信详解”(http://blog.eeworld.net/kevinyujm/archive/2009/06/12/4264506.aspx)的文章,现在有几个疑问,还请各位指点: 1.相同类型的Report,其Report ID是不 ...… 查看全部问答> |
|
现在本人在做wince的电源管理,芯片是三星2450的,wince5.0,想问问要实现cpu的休眠,不是系统休眠,要怎么做?是不在在D:\\WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\PM\\PDD下的里面的DEFAULT或是PDA模式下改里面的platform.cpp文件。 其实2450 ...… 查看全部问答> |
|
2.4G无线LED内容更新解决方案 一,方案概述 基于2.4G ISM频段的双向无线通讯传输方案.其中2.4G RF IC UM2455采用Turbo-mode 625kbps工作模式,可以满足较大的数据量要求。方案是有一个含RF的USB发送器、一个遥控器和一个RF接受模块组成。可用遥控 ...… 查看全部问答> |
|
下面是小弟编的一个加减计数器的程序, module count4(clk,pwm_pro,count); input clk; input pwm_pro; output [7:0]count; reg[7:0]count; reg flag; initial begin  ...… 查看全部问答> |
|
全国大学生电子设计竞赛经验交流 ---- 【数据采集与处理类】 本帖最后由 paulhyde 于 2014-9-15 03:41 编辑 (1) 7 月份,召开全国专家组工作会议,初步确定竞赛题目基本方向,审议竞赛题目基本框架。(2) 8 月17 日至8 月18 日,召开全国大学生电子设计竞赛组织工作会议;部署竞赛事宜,包括宣传竞赛规则及竞 ...… 查看全部问答> |




