当前位置: 首页 > news >正文

Cortex-M​ 中断的压栈与出栈操作

ARM Cortex-M 系列单片机中,中断的压栈(入栈)和出栈操作主要由硬件自动完成,但具体行为会根据使用场景和配置有所不同。以下是详细的说明:


1. 硬件自动压栈与出栈

Cortex-M 内核响应中断(异常)时,硬件会自动完成核心寄存器的保存和恢复,无需软件干预。这是 Cortex-M 架构的重要特性,能显著降低中断延迟并简化代码开发。

  • 自动压栈的寄存器(硬件完成):
    硬件会将以下寄存器按顺序压入当前栈(MSP 或 PSP)
    PC(程序计数器)、PSR(程序状态寄存器)、R0-R3R12LR(链接寄存器)。

    • 触发时机:中断发生时,硬件在第一个时钟周期内完成压栈。
    • 栈指针选择:根据当前模式(Handler 模式或 Thread 模式),自动选择主栈指针(MSP)或进程栈指针(PSP)。
  • 自动出栈的寄存器(中断返回时):
    当中断服务程序(ISR&#

http://www.dtcms.com/a/111633.html

相关文章:

  • 【51单片机】2-3【I/O口】震动传感器控制LED灯
  • 【记录】kali制作绕过火绒检测的木马(仅通过MSF的方式)
  • shared_ptr和weak_ptr原理
  • TortoiseGit多账号切换配置
  • Ubuntu服务器 无法正常启动redis
  • cmake(12):在 CMake 的 CMakeLists.txt 中也可以进行流程控制,也就是说可以像写 shell 脚本那样进行条件判断和循环。
  • ubantu22.04中搭建地图开发环境(qt5.15.2 + osg3.7.0 + osgearth3.7.1 + osgqt)
  • 自然科学基金项目答辩ppt设计制作美化案例模板下载
  • 机器学习学习笔记
  • Promise 详细说明、常用方法
  • 【备考高项】模拟预测题(一)综合知识及答案详解
  • C++_模板初阶
  • transform
  • VirtualBox安装FnOS
  • pat学习笔记
  • JavaScript学习19-事件类型之鼠标事件
  • 【2019】【论文笔记】混合石墨烯等离子体光栅在THz下增强非线——
  • 配置文件、Spring日志
  • Java基础 4.4
  • 论文阅读Diffusion Autoencoders: Toward a Meaningful and Decodable Representation
  • Dagster系列教程:快速掌握数据资产定义
  • 数据库系统概述 | 第二章课后习题答案
  • 计算机系统---CPU
  • 嵌入式系统应用-拓展-相关开发软件说明
  • 常见的微信个人号二次开发功能
  • Unity:平滑输入(Input.GetAxis)
  • 【Cursor】切换主题
  • JS API
  • 【软考中级软件设计师】数据表示:原码、反码、补码、移码、浮点数
  • sward V1.0.8版本发布,全面支持各种附件上传预览