当前位置:首页 > 公众号精选 > TopSemic嵌入式
[导读]正常情况下,通过SWD在线调试时,一旦芯片进入低功耗模式(Stop或者Standby),调试就会断开。原因是进入Stop或者Standby模式后,内核时钟就停止了。如果想在调试低功耗代码时还可以正常通过调试接口debug,有没有什么办法呢?

正常情况下,通过SWD在线调试时,一旦芯片进入低功耗模式(Stop或者Standby),调试就会断开。原因是进入Stop或者Standby模式后,内核时钟就停止了。如果想在调试低功耗代码时还可以正常通过调试接口debug,有没有什么办法呢?

以STM32F030 Stop模式为例,方法是将DBGMCU_CR寄存器的DBG_STOP位置1。

可以看到DBG_STOP置1时,FCLK和HCLK将处于开启状态,由内部RC振荡器提供时钟,所以还可以继续debug。

之前在调试低功耗功能时,我都是通过加打印信息来调试的。所以在看到此功能时,就迫不及待的去试了一下。

使用官方HAL库Examples\PWR\PWR_CurrentConsumption 工程,将原例程简化了下,使能 DBG_STOP,之后通过WFI方式进入stop模式,然后while(1)里翻转LED,通过按键方式唤醒。

理论上述代码应该是先进入低功耗,之后按键唤醒的话,LED才开始闪烁。

但是实际现象却是LED直接就闪烁了,这是怎么回事呢?

后来经过分析,是因为HAL库在初始化时,使用了systick同时开启了中断,当DBG_STOP设置位1时,systick 因为时钟在,所以还继续正常运行,导致了systick中断唤醒了MCU,所以进入了到while(1)里,

当我们把systick中断关掉

这时就进入了低功耗。因为HAL_Delay 函数也使用了systcik,所以这里也注释掉,或者也可以换成其他的延时函数。HAL库在时钟初始化前就开启了systick,原因是后面的延时函数用的就是systcik实现的。

这时我们全速运行,可以看到debug连接没有断掉,也没有再进入while(1)里,此时进入了低功耗函数,可以通过调试窗口的stop来验证,可以看到一直停在下面WFI里,需要注意的是,stop之后再单步或者全速运行,就会从WFI跳出继续向下运行。所以执行_WFI()函数时,必须是全速执行,不可以单步执行。

重新复位全速运行后,在while(1)里加断点,可以看到没有进入到断点,这时按一下按键唤醒MCU,就跳入到断点里了。这样现象就正确了。

最后总结一下:

1) 通过将DBG_STOP置1,可以支持在低功耗模式下debug MCU。

2) HAL库里使用systick中断,使用WFI进入低功耗前,需要注意将中断关掉。如果使用WFE进入低功耗,需要将systick使能计数标志位置0。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

TWSC 2985系列SD6.0存储芯片 国内首颗支持4K LDPC纠错技术 增强纠错、耐久可靠、性能升级

关键字: 德明利 半导体 存储 芯片 国产存储企业

2024年4月11日,中国——意法半导体的ST25R100近距离通信(NFC)读取器芯片独步业界,集先进的技术功能、稳定可靠的通信连接和低廉的成本价格于一身,在大规模制造的消费电子和工控设备内,可以提高非接触式互动功能的...

关键字: 嵌入式 数据读取器 芯片

其最新一代开创性系统集成芯片及配套软件将为4600万辆汽车提供更多安全和便利功能 上海2024年4月17日 /美通社/ -- Mobileye今日宣布,其已向客户交付其最新的EyeQ™6 Lite (EyeQ...

关键字: 芯片 MOBILEYE ADAS 自动驾驶

随着2024年的到来,北斗系统建设已走过栉风沐雨、接续奋斗的30年,几代北斗人也走过了北斗系统建设从无到有,从有源定位到无源定位,从服务中国到服务亚太,再到全球组网的“三步走”发展历程。

关键字: 华大北斗 芯片

微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是一种针对特定应用的控制处理而设计的微处理器芯片,其工作频率(在1M...

关键字: MCU 芯片 半导体

今日凌晨,中国台湾东部的花莲县连续发生地震,最高强度为6.3级,震源深度10公里,据中国地震台网分析,本次地震均为4月3日台湾花莲县海域发生的7.3级地震的余震。中国台湾地区在全球半导体供应链中扮演者重要角色,其10nm...

关键字: 固态硬盘 芯片 存储

在科技飞速发展的今天,电子设备已经成为了我们日常生活中不可或缺的一部分。而在这些电子设备的内部,一个不可或缺的组成部分便是开关电源芯片。作为电源管理集成电路的核心,开关电源芯片在电子设备中发挥着至关重要的作用。本文将深入...

关键字: 开关电源 芯片

开关电源芯片作为电子设备中的重要组成部分,是实现电源转换和管理的核心器件。随着科技的不断进步,开关电源芯片的种类也在不断增加,各具特色,满足了不同设备和应用场景的需求。本文将深入探讨开关电源芯片的种类及其科技应用,带领读...

关键字: 开关电源 芯片

4月17日消息,Intel官方宣布,工程师内部研发了一种新的AI增强工具,可以让系统级芯片设计师原本需要耗费6个星期才能完成的热敏传感器设计,缩短到区区几分钟。

关键字: Intel 芯片 1.8nm

业内消息,昨天美国芯片设计公司 AMD 推出了锐龙PRO 8040/8000系列AI处理器芯片,为支持人工智能的PC提供动力,试图在与英伟达和英特尔等竞争对手的AI PC 竞争中获得领先地位。

关键字: AMD 锐龙 AI处理器 芯片
关闭