Stm32和Cortex-M3处理器睡眠模式降低能量损耗:

睡眠模式停止处理器时钟,所有其它系统和外设时钟保持运行。

深度睡眠模式停止了大部分stm32系统和外设时钟。在产品级别,可能相应的为停止模式和待机模式。

进入睡眠模式:

等待中断指令,可以引起快速进入睡眠模式。当处理器执行一个等待中断指令后,停止执行指令并且进入睡眠模式。

等待事件指令,如果一位时间寄存器的值有条件,则它引起进入睡眠模式。当处理器执行等待事件指令,它检查一位事件寄存器,如果寄存器是0,处理器停止执行指令进入睡眠模式;如果寄存器是1,处理器清除寄存器为0并且继续执行指令并不进入睡眠模式。

睡眠离开 如果SCR寄存器的SLEEPONEXIT位设置为1,当处理器完成一个异常处理的执行,它返回线程模式且快速进入睡眠模式,使用这个机制应用在只需要处理器在异常出现运行的场景。

从睡眠模式中唤醒:

从等待中断和睡眠离开中唤醒,通常,处理器只有在它检测到一个足够优先级异常引起异常进入时唤醒。一些嵌入式系统不得不执行系统恢复任务在处理器唤醒后和执行中断处理前。为了达到这个目的,设置PRIMASK位为1和FAULTMASK为0.如果一个使能且有一个比当前异常较高的优先级中断到达,处理器唤醒但不中断处理直到处理器设置PRIMSAK为0。

从等待事件中唤醒,如果处理器检测到足够优先级的异常引起异常进入或者检测到外部事件信号,处理器唤醒。此外,如果SCR寄存器的SEVONPEND位置1,任何暂停的中断触发一个事件且唤醒处理器,即使这个中断被失能或者没有足够优先级引起异常进入。

外部事件输入,处理器提供外部事件输入信号,这个信号可以被高达16个外部输入线产生,被PVD,实时时钟警告,或者USB唤醒事件,配置通过外部中断/事件控制器。这个信号何以唤醒处理器从等待事件,或设置内部等待事件事件寄存器为1表明处理不需要进入睡眠模式在下一个等待事件指令。

能量管理编程提示,ANSI C不能直接声称等待中断、等待事件指令。CMSIS为那些指令提供了内部函数。

STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(5):Cortex-M3处理器能量管理相关推荐

  1. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(3):Cortex-M3处理器异常模型

    这一部分描述异常模型. 每一个异常都存在一个状态: 闲置       这个异常没有活跃,没有暂停 待进行    异常等待被处理器服务.一个外设或软件中断请求可以改变相应中断的状态到即将发生状态. ·活 ...

  2. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(1):Cortex-M3处理器程序模型

    本节介绍Cortex-M3程序模型.除了各个核心寄存器描述之外,还包括关于程序执行和堆栈的处理器模式和特权级别的信息. 处理器模式:      线程模式:用于执行应用软件. 处理模式:用于处理异常,当 ...

  3. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(2):Cortex-M3处理器内存模型

    这一部分描述了处理器内存图,内存访问的行为,位带特征.处理器有一个提供了高达4GB可寻找内存的固定内存图. 内存地图分裂内存图为区域.每一个区域定义了内存的类型,一些区域还有额外的内存属性.内存的类型 ...

  4. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记二(4):Cortex-M3处理器错误处理

    错误是异常的一个子集.总线错误:一个指令获取或向量表读取,数据访问:一个内部检测到的错误:未定义的指令,尝试改变BX指令的状态:尝试从一个标记被XN内存区域执行指令. 除了硬件错误外的所有错误异常均有 ...

  5. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记四(5):系统滴答定时器

    处理器有一个24位系统定时器,SysTick,它可以向下计数从重载值到0,在下一个时钟边沿重载LOAD寄存器中的值,然后在随后的时钟下降计数. 当处理器停止进行调试时,计数值不再缩减. 系统滴答控制和 ...

  6. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(3):Cortex-M3指令描述

    下面部分将会给出使用指令的更多信息. 1.    操作对象: 一个指令操作对象可以是ARM寄存器.常量.或另一个指令具体参数.指令作用于操作对象而且通常间结果存储在目的寄存器.当在指令中有一个目的寄存 ...

  7. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记四(3):嵌套向量中断控制器

    这一部分描述了嵌套向量中断控制器和它使用到的寄存器.NVIC支持: 高达81个中断(根据STM32设备的型号,参照数据手册): 对每个中断可编程优先级级别0-15,一个高的优先级级别相应着较低的优先级 ...

  8. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记四(1):关于STM32核心外设

    私有外设总线的地址地图如下: 软件可以在0xE000ED90读MPU类型寄存器,测试内存保护单元的存在. 在寄存器描述中,所需的特权给出了访问寄存器时所需的特权级别, 特权的:只有特权软件可以访问这个 ...

  9. STM32F10xxx20xxx21xxxL1xxxx Cortex-M3程序设计手册 阅读笔记三(4):Cortex-M3指令分类

    1.内存访问指令 2.通用数据处理指令 3.乘除指令 4.饱和指令 SSAT和USAT 5.位域指令 6.混杂指令

最新文章

  1. 为了提升在小数据集上的性能,有学者让神经网络像生物一样“进化”了|CVPR2021 Oral...
  2. 从芯片到系统:FPGA加速卡的发展历程与展望
  3. lncRNA是什么?
  4. Javascript实现重力弹跳拖拽运动效果
  5. 使用html5+的plus清除缓存的文件
  6. 应变界的翘楚:硅基谐振式传感器灵敏度非常高
  7. windows 内存管理的几种方式及其优缺点
  8. java web 启动顺序_JavaWeb开发Servlet过滤器链执行顺序详解
  9. 优酷java贴吧_[杭州] [优酷] 阿里 Java 服务端开发招人啦-P7\P6+
  10. linux dhcp 获取ip地址能上网,设置静态ip地址则不能上网
  11. WinForm BackgroundWorker笔记
  12. Itunes降级(卸载+安装)+苹果软件降级安装(爱思+ITunes)
  13. 做个优秀的时间管理者
  14. 华为云SSL证书申请流程
  15. win10 开机无法自动连接或重启才能连接WIFI的简单解决方法/2022.03
  16. 单基因gsea_零代码5分+的单基因综合分析
  17. 坑爹!攻城狮老爸被苹果解雇 只因女儿晒iPhone X
  18. Scons入门指南 使用教程 笔记
  19. 满头黑发开始_python
  20. dvwa之 file upload (low)一句话木马和中国菜刀

热门文章

  1. C语言修仙电影,长评 是宇宙啊 评《C语言修仙》 时间:2020-02-24 22:39:01
  2. mysql触发器优缺点_MySQL 的触发器
  3. 4米乘以12米CAD图_设备时序图的绘制方法
  4. 发改委印发三年行动计划 智能机器人有望成为下一片蓝海
  5. linux桌面 任务栏,状态栏消失恢复
  6. Linux——设置汉字拼音输入法
  7. 为啥功放上的音量控制的dB数都是负的
  8. Leetcode_154_Find Minimum in Rotated Sorted Array
  9. spring AOP 概述(一) Advice
  10. 软件开发常见英文单词