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

stm32 - Cortex

stm32 - Cortex

  • 概念
    • Cortex-M4 的工作模式和工作状态
    • 寄存器

概念

Cortex-M4 的工作模式和工作状态

处理模式

当处理器发生了异常或者中断,则进入处理模式进行处理,处理完成后返回到线程模式
权限大,访问处理器中所有的资源

线程模式

芯片复位后,进入线程模式,执行普通用户程序
可以通过CONTROL寄存器进行控制,来切换权限

Thumb状态

正常运行时处理器的状态

调试状态

调试程序时处理器的状态

寄存器

通用寄存

用于数据处理

堆栈指针SP (特殊寄存器)

C语言栈空间
在Cortex-M4处理器中,堆栈指针(Stack Pointer,简称SP)用于管理函数调用时的堆栈。堆栈是一个后进先出(Last-In-First-Out)的数据结构,用于保存函数调用期间的局部变量、临时数据和返回地址等信息。
堆栈指针SP指向当前堆栈顶部的位置,它的值存储在特定的寄存器中。
当执行函数调用时,SP会先进行递减操作,将堆栈指针向下移动以分配新的堆栈帧,然后将函数的局部变量、参数和其他相关信息压入堆栈。
当函数返回时,SP会通过递增操作释放堆栈帧,将堆栈指针恢复到上一个函数的堆栈顶部。
通过使用堆栈指针SP,Cortex-M4处理器能够有效地管理函数调用期间的内存使用,避免不同函数之间的数据冲突,并确保函数返回时能正确恢复之前的执行状态。这对于嵌入式系统中的低功耗和高效性能非常重要。

连接寄存器

连接寄存器,用于存储子程序或函数调用的返回地址

程序计数器

存储下一条将要执行的指令的地址

http://www.lryc.cn/news/229444.html

相关文章:

  • 计算机组成原理之概述
  • 思维导图软件 Xmind mac中文版软件特点
  • 群晖 DSM 7.0 Synology Photos IOS | Android 客户端下载
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • React处理用户交互事件,如点击、输入框变化等,并使用事件处理函数来响应这些事件
  • 情侣游戏情侣飞行棋小程序系统:智能化互动,增添情感交流
  • 软考 系统架构设计师系列知识点之云计算(2)
  • Technology Strategy Patterns 学习笔记8- Communicating the Strategy-Decks(ppt模板)
  • Python实现WOA智能鲸鱼优化算法优化BP神经网络回归模型(BP神经网络回归算法)项目实战
  • 【机器学习基础】机器学习入门(2)
  • C#中在.NET 7.0控制台应用使用ADO.NET的方法
  • 垃圾回收(GC)
  • 【无标题】通用工作站设计方案:ORI-D3R600服务器-多路PCIe3.0的双CPU通用工作站
  • HarmonyOS元服务实现今天吃什么
  • 激活函数的本质
  • [工业自动化-18]:西门子S7-15xxx编程 - 软件编程 - PLC用于工业领域的嵌入式系统:硬件原理图、指令系统、系统软件架构、开发架构等
  • 【C++】——运算符重载
  • 怎么理解独立机器和虚拟机
  • 以太网和局域网
  • 【Git】第三篇:基本操作(配置本地仓库)
  • JS中sort排序
  • 【现场问题】datax中write部分为Oracle的时候插入clolb类型字段,插入的数据为string且长度过场问题
  • ASK、PSK、FSK的调制与解调
  • 基于XML的声明式事务
  • 力扣labuladong一刷day9滑动窗口共4题
  • ubuntu开机系统出错且无法恢复。请联系系统管理员。
  • Transformer详解一:transformer的由来和先导知识
  • 数字化产品经理的金字塔能力模型
  • 这 11 个 for 循环优化你得会
  • JVM字符串常量池StringTable