stm32芯⽚休眠模式_stm32单⽚机进⼊休眠(STOP)模式后
⽆法下载程序等问题解决...
利⽤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⼀个空程序即可,不要再烧⼀个休眠的程序了,之后就可以正常烧程序了。
总结:由于板⼦设计等原因,使⽤的是第三个⽅法,前两个⽅法也都是可⽤的。
本⽹站转载的所有的⽂章、图⽚、⾳频视频⽂件等资料的版权归版权所有⼈所有,本站采⽤的⾮本站原创⽂章及图⽚等内容⽆法⼀⼀联系确认版权者。如果本⽹所选内容的⽂章作者及编辑认为其作品不宜公开⾃由传播,或不应⽆偿使⽤,请及时通过电⼦邮件或电话通知我们,以迅速采取适当措施,避免给双⽅造成不必要的经济损失。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论